Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
14-75322
Igit
2003-11-30 21:56
2003.12.23
А можно где нибудь MSDN скачать?


7-75419
Новичок
2003-10-16 09:12
2003.12.23
Печать в Делфи


9-75071
TButton
2003-06-04 13:35
2003.12.23
DXImageList


1-75256
Lena1
2003-12-10 13:15
2003.12.23
DLL


1-75215
Raduga
2003-12-11 09:06
2003.12.23
[Error] RLINK32: Error opening file




   Наверх