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

Вниз

регистр и dbase   Найти похожие ветки 

 
Вован   (2003-11-26 22:55) [0]

Люди помогите-е-е... пожалуйста!!!
Как сделать нечувствительность к регистру при поиске по какому-то индексу в delphi. Пробовал поменять в IndexDefs свойство ixCaseInsensitive на true - не помогает!
Что делать?


 
Michail Dalakov   (2003-11-26 23:12) [1]

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions)

type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;


 
AbrosimovA ©   (2003-11-27 09:05) [2]

По-моему ixCaseInsensitive начинает работать при повторном создании индекса.


 
Alex_Bredin ©   (2003-11-27 10:19) [3]

возможно дело вовсе не в регистре
опиши проблему подробнее


 
Вован   (2003-11-27 21:28) [4]

Alex_Bredin: Именно в этом, если я ввожу Мама или мама, необхадимо чтобы результат поиска был один и тот же...Спасибо.
Главное поиск...


 
Вован   (2003-11-27 21:28) [5]

Michail Dalakov: Спасибо! Ща попробую...


 
Вован   (2003-11-27 22:28) [6]

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions)

type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;

Чё-то как-то не помагло...Есть DataModule, DataSource...
А я искал через setkey->gotoNearest;
Может есть какие-то API определяющие или изменяющие регистр...
обхадной путь придумать... Ну кто-нибудь помогите!!!
Lookup тоже попробовал...


 
Anatoly Podgoretsky ©   (2003-11-28 07:30) [7]

Сделай индекс по выражени. следующего типа UPPER(Fld)


 
AbrosimovA ©   (2003-11-28 15:35) [8]

Я делал так, работает и для кириллицы:

procedure TMainForm.SortBtnClick(Sender: TObject);
var IOp: TIndexOptions;
begin
Case SetSort.ItemIndex of
0: IOp:=[];
1: IOp:=[ixDescending];
end;
Case DBGrid1.SelectedIndex of
0: with DataModule1.Cust do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iFio").Name<>"" then DeleteIndex("iFio");
AddIndex("iFio","Fio",Iop);
IndexName:="iFio";
Exclusive:=false;
Open;
end;
1: with DataModule1.Cust do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iAddress").Name<>"" then DeleteIndex("iAddress");
AddIndex("iAddress","Address",Iop);
IndexName:="iAddress";
Exclusive:=false;
Open;
end;
2: with DataModule1.Cust do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iSpec").Name<>"" then DeleteIndex("iSpec");
AddIndex("iSpec","Spec",Iop);
IndexName:="iSpec";
Exclusive:=false;
Open;
end;
3: with DataModule1.Cust do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iWorkTel").Name<>"" then DeleteIndex("iWorkTel");
AddIndex("iWorkTel","WorkTel",Iop);
IndexName:="iWorkTel";
Exclusive:=false;
Open;
end;
4: with DataModule1.Cust do begin
Close;
Exclusive:=true;
if IndexDefs.Find("iHomeTel").Name<>"" then DeleteIndex("iHomeTel");
AddIndex("iHomeTel","HomeTel",Iop);
IndexName:="iHomeTel";
Exclusive:=false;
Open;
end;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
14-75340
ИМХО
2003-12-01 21:01
2003.12.23
Афоризмы


1-75232
Scoffer
2003-12-10 20:34
2003.12.23
Нужен компонент, рисующий линии...


4-75452
Dimonn
2003-10-28 11:19
2003.12.23
VirtualAlloc


7-75416
mateamtik
2003-10-17 14:01
2003.12.23
Вопрос по использованию командной строки.


1-75204
Альф
2003-12-11 11:49
2003.12.23
Как програмно узнать количество строковых ресурсов ?