Форум: "Начинающим";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];
Вниз
Помогите обратиться к параметрам 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c