C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
POmogiteeeeeeeeeee!!! Propadayu!!!, Filtraziya
VainahskiyPapa
Отправлено: 10.10.2003, 13:38


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Zdrasti
V C++ Buildere 6 pishu
Table1->Filtered=false;
AnsiString filter="rnn='*'";
Table1->Filter=filter;
Table1->Filtered=true;

Tak on vivodit ne vse zapisi a voobshe nichego

esli napishu

AnsiString filter="rnn='123'";

Vivedet normal`no no tol`ko etu stroku a stroki tipa 1234, 1235 1236, ne vivedet. Kak ispravit chtobi v Table filtrovalis` znacheniya nachinaya s naprimer 123 i dal`she tipa 1234,1235...

U menya ta je konstrukziya rabotala na CBuilder5 a v 6 chto to gonit. Podskajite plz!!!



A net vse dognal — teper` drugoi vopros kak ustanovit` foNoPartialCompare=false; programmno?

Отредактировано VainahskiyPapa — 10/10/2003, 15:01
Admin
Отправлено: 10.10.2003, 18:39


Владимир

Группа: Администратор
Сообщений: 1190



CODE

Table1->FilterOptions<<foNoPartialCompare; // устанавливаем
Table1->FilterOptions.Clear(); // очищаем

VainahskiyPapa
Отправлено: 13.10.2003, 07:45


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Спасибо. А зачем использовать Clear()?
Admin
Отправлено: 13.10.2003, 08:52


Владимир

Группа: Администратор
Сообщений: 1190



CODE


Переменная типа TFilterOption — это множество. (Set)
Оно может иметь множество (несколько) значений.
Set<TFilterOption, foCaseInsensitive, foNoPartialCompare> TFilterOptions;

Например:
TFilterOptions Fo;

Поместить значение в множество — операция <<

// помещаем в Fo значения foCaseInsensitive и foNoPartialCompare
Fo<<foCaseInsensitive<<foNoPartialCompare;

Удалить все элементы из множества — метод Clear();
Fo.Clear();

Удалить какое-то значение из множества — операция обратной
помещению в множество >>

Например:

// помещаем в множество  foCaseInsensitive и foNoPartialCompare
Fo<<foCaseInsensitive<<foNoPartialCompare;

// удаляем из множества Fo значение foNoPartialCompare;
Fo>>foNoPartialCompare;

// проверить что есть в множестве — метод Contains():
if(Fo.Contains(foNoPartialCompare)) ShowMessage("foNoPartialCompare");
if(Fo.Contains(foCaseInsensitive))    ShowMessage("foCaseInsensitive");

(осталось foCaseInsensitive в нашем примере)

VainahskiyPapa
  Отправлено: 13.10.2003, 11:45


Дежурный стрелочник

Группа: Участник
Сообщений: 46



Спасибо большое Админ!!!

Вернуться в Работа с базами данных в C++Builder