Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.24;
Скачать: CL | DM;

Вниз

Помогите обратиться к параметрам FilterOptions   Найти похожие ветки 

 
Новичок   (2009-04-12 19:32) [0]

В одной книжке нашёл описание свойств TADOTable, есть такое свойство как FilterOptions и у него несколько параметров: FoCaseInsensitive, foNoPartialCompare и другие. Но в инспекторе объектов компонента ADOTable я не вижу этого совойства. Пробую обращаться к нему так: DataModule1.OborTable.FilterOptions[FoCaseInsensitive]:=true; но мне пишет что не известный идентификатор FoCaseInsensitive. Подскажите пожалуйста, как можно к нему обратиться?


 
Новичок   (2009-04-12 19:45) [1]

Разобрался как можно сделать:
DataModule1.OborTable.FilterOptions:=[FoCaseInsensitive]; при подключенном модуле DB

но теперь при нажатии на кнопку, где эта строчка мне выдаёт следующую ошибку: Project School.exe raised exception class EDatabaseError with message "FilterOptions are not supported" Process stopped. Use Step or Run to continue. В чём проблема? Как это исправить?


 
Сергей М. ©   (2009-04-12 20:03) [2]


> есть такое свойство как FilterOptions


> Пробую обращаться к нему


Зачем ?
Из студенческого любопытства ?
Ты чего хотел от этого свойства ?


 
Новичок   (2009-04-12 20:30) [3]

я же написал мне нужно параметры изменить, сделать, чтобы фильтрация была нечувствительна к регистру (нужно установить параметр FoCaseInsensitive). А мне выжаёт ту ошибку...


 
sniknik ©   (2009-04-12 20:33) [4]

> чтобы фильтрация была нечувствительна к регистру
а разве она чувствительна?

> А мне выжаёт ту ошибку...
переведи и попробуй понять, что тебе сообщают.


 
Новичок   (2009-04-12 20:38) [5]


> а разве она чувствительна?

да, она чувствительна.


 
Новичок   (2009-04-12 20:40) [6]


> переведи и попробуй понять, что тебе сообщают.

Проект School.exe поднял класс исключения EDatabaseError с сообщение "FilterOptions - не поддерживаемый" остановленный Процесс. Используйте Шаг или Бегите для продолжения
И что это значит, что мой делфи не поддерживает данное свойство или что?


 
Сергей М. ©   (2009-04-12 21:05) [7]


>  [6]


Что за ахинея ?


 
Новичок   (2009-04-12 21:12) [8]


> Что за ахинея ?

тебе не понять


 
Сергей М. ©   (2009-04-12 21:15) [9]


> тебе не понять


Куда нам .. в лаптях то) ..


 
sniknik ©   (2009-04-12 21:32) [10]

>> а разве она чувствительна?
> да, она чувствительна.
докажи.
на чем основывался в выводах?

... [6]
найми репетитора по английскому...
кстати не шучу. когда то я пошел на курсы  английского, когда понял, что за профессию выбрал. (и это еще что, тут могут еще про 10-км  в гору в метель, рассказать. ;о)  )


 
sniknik ©   (2009-04-12 21:35) [11]

p.s. репетитор тебе нужен не из-за того что хреново перевел, хотя это само  собой, а из-за того что есть сомнения в полученном смысле.


 
Новичок   (2009-04-12 21:54) [12]


> докажи.
> на чем основывался в выводах?

Проверил на практике.
Есть база созданная в MS Access 2003, подключена к Delphi 7 с помощью провайдера Microsoft Jet 4.0 OLE DB Provider, поставил нужные компоненты для отображения данных, а также Edit для фильтрации данных, по эдиту написано:
if Length(OborFilterName.Text)>0 then
DataModule1.OborTable.Filtered:=true
else
DataModule1.OborTable.Filtered:=false;

DataModule1.OborTable.Filter:="Наименование>="+QuotedStr(OborFilterName.Text);

У компонента ADOTable в событии OnFilterRecord написал следующее:
Accept:=false;
if copy(OborTableDSDesigner2.AsString,1,Length(SchoolForm.OborFilterName.Text))=
SchoolForm.OborFilterName.Text then
Accept:=true;
для проверки фильтра...

Да, понял почему регистр учитывается, как раз в событии OnFilterRecord, полезно подоказывать :)
Как можно весь текст привести к одному регистру, например к маленькому, какой функцией?


 
sniknik ©   (2009-04-12 22:48) [13]

> Да, понял почему регистр учитывается, как раз в событии OnFilterRecord
не до конца понял... Filter и OnFilterRecord взаимоисключающие, т.к. для одного и того же, ты либо даешь делать это обьекту либо делаешь сам.
а у тебя получается ты делаешь сам, но "обвиняешь" объект что он фильтрует не так.


 
Новичок   (2009-04-12 23:21) [14]

всё я сделал, нашёл вот такую функцию для перевода из верхнего регистра в нижний:
function LowerCase(s: string): string;
var
 i: integer;
begin
 result := s;
 for i := 1 to length(result) do
   if (result[i] in ["A".."Z", "À".."ß"]) then
     result[i] := chr(ord(result[i]) + 32);
end;

перевожу все сравниваемые поля и теперь на регистр не ругается, можно ХоТь ВОт ТАк наПИсаТь :)


 
Германн ©   (2009-04-13 01:07) [15]


> sniknik ©   (12.04.09 21:35) [11]
>
> p.s. репетитор тебе нужен не из-за того что хреново перевел

А это не сам автор перевёл :)


 
Юрий Зотов ©   (2009-04-13 01:57) [16]

> Новичок   (12.04.09 23:21) [14]
> нашёл вот такую функцию для перевода из верхнего регистра в нижний:
> function LowerCase(s: string): string;

Могут возникнуть проблемы. Используйте AnsiLowerCase. Детали - в справке.



Страницы: 1 вся ветка

Текущий архив: 2009.05.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
15-1237977745
Andy BitOff
2009-03-25 13:42
2009.05.24
Пользователям Оперы и знатокам JavaScript


15-1237587047
Германн
2009-03-21 01:10
2009.05.24
Компания Embarcadero приглашает принять участие в семинаре


2-1239140033
istok
2009-04-08 01:33
2009.05.24
D2009: PAnsiChar to AnsiString


15-1237797663
desc
2009-03-23 11:41
2009.05.24
MS SQL Server 2005


2-1239162302
Alex34
2009-04-08 07:45
2009.05.24
День недели в DateTimePicker