Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с фильтром [D7, dBase, FoxPro]


Jet ©   (2004-05-31 17:20:00) 

Есть код:
--
str := Copy(Form2.temp.Fields.Fields[2].AsString,1,5);
Form2.temp.Filtered := False;
Form2.temp.Filter := 'Lname=' + QuotedStr(''+str+'*');
Form2.temp.Filtered := True;

--
Фильтрует поле фамилию по нескольким буквам, хранящимся в str.
Оформлен по хэлпу правильно, но не работает. Помогите плиз.


Anatoly Podgoretsky   (2004-05-31 21:24:00) [1]

Таблица кодов ASCII


YurikGL   (2004-05-31 21:23:00) [2]

Кодовая таблица она называется.


Jet   (2004-05-31 21:06:00) [3]

А как она называется?


YurikGL   (2004-05-31 20:43:00) [4]

sniknik ©   (31.05.04 19:45) [13]

Первых символов не получишь, да и знаки табуляции, переноса каретки и т.п. не сразу понятны. ИХМО лучше в net-е всю таблицу поискать.


sniknik   (2004-05-31 19:45:00) [5]

выполни в консоли, и получиш "таблицу"
for i:= 0 to 255 do
 writeln(i, '=', chr(i))


YurikGL   (2004-05-31 19:29:00) [6]

#27, #13#10, #13 и т.д. и что они означают.

Можешь получить их так:
нажми в текстовом редакторе Alt+### где #-цифра.
Например Alt+039 даст тебе кавычку, Alt+013 переведет курсор не следующую строку.

Но для нормальной работы тебе, конечно, нужна таблица. Они, обычно, есть в старых книжках по программированию или по DOS, ASM м и т.п.

Наверняка есть в Inete


YurikGL   (2004-05-31 19:24:00) [7]


> кстати #13 это неправильное значение, надо #39


Sorry, описался, конечно #39


sniknik   (2004-05-31 19:21:00) [8]

> На шоу мессаджь показывает примерно так:
> Lname = ИВАНО*
QuotedStr ??? не работает? да быть того не может. где кавычки?

кстати #13 это неправильное значение, надо #39
можно так
Form2.temp.Filter := 'Lname='#39+str+'*'#39
или так
Form2.temp.Filter := 'Lname='''+str+'*'''


Jet   (2004-05-31 19:12:00) [9]

Спасибо попробую.
А не скажете где взять таблицу значений:
#27, #13#10, #13 и т.д. и что они означают.


YurikGL   (2004-05-31 18:56:00) [10]

Может поможет
Form2.temp.Filter := 'Lname=' +#13+str+'*'+#13


Jet   (2004-05-31 18:35:00) [11]

% - пробовал, не получается
На шоу мессаджь показывает примерно так:
Lname = ИВАНО*


sniknik   (2004-05-31 18:27:00) [12]

> % - нельзя использовать в фильтрах, там используюся *
а ты всетаки попробуй, нельзя это не значит что не получится, это значит что скорее всегоне получится но шанс всетаки есть.

> Оформлен по хэлпу правильно, но не работает.
ну значит нет таких записей
для уверености
str := Copy(Form2.temp.FieldByName('Lname').AsString,1,5); {чтобы были}
Form2.temp.Filtered := False;
Form2.temp.Filter := 'Lname=' + QuotedStr(''+str+'*');
ShowMessage(Form2.temp.Filter);{а вдруг?}
Form2.temp.Filtered := True;
что показывает?


Jet   (2004-05-31 18:13:00) [13]

BDE.
% - нельзя использовать в фильтрах, там используюся *
-------------
Есть код:
--
str := Copy(Form2.temp.Fields.Fields[2].AsString,1,5);
Form2.temp.Filtered := False;
Form2.temp.Filter := 'Lname=' + QuotedStr(''+str+'*');
Form2.temp.Filtered := True;
--
Фильтрует поле фамилию по нескольким буквам, хранящимся в str.
Оформлен по хэлпу правильно, но не работает. Помогите плиз.


Vlad   (2004-05-31 17:30:00) [14]

Для начала неплохо бы движок выяснить


YurikGL   (2004-05-31 17:29:00) [15]

Попробуй вместо * использовать %


stone   (2004-05-31 17:27:00) [16]


> Form2.temp.Filter := 'Lname=' + QuotedStr(''+str+'*');

Ты на значение Filter в runtime смотрел?
Посмотри, много прояснится.


Anatoly Podgoretsky   (2004-05-31 17:24:00) [17]

Значит нет таких записей в таблице


Наверх

Титульная страница Поиск, карта сайта Написать письмо