Вниз
Скачать: CL | DM;

Поиск в TStringList, но не просто find, а с частичным совпадением   Найти похожие ветки 

 
jab~   (2003-10-21 14:29) [0]

У меня есть TStringList
который содержит записи:
0: FRM
1: RES 16A 256
2: BMP GIF JPG

Мне нужно найти в какой строке находится например RES или JPG,
т.е. нужна функция которая искала бы по строкам стринглиста и возвращала бы номер строки в которой встречается указаный текст.
Обычный find не подходит т.к. он ищет с полным совпадением!
var
MyList: TStringList;
Index: Integer;
begin
MyList := TStringList.Create;
MyList.Add("FRM");
MyList.Add("RES 16A 256");
MyList.Add("BMP GIF JPG");
ListBox1.Items.AddStrings(MyList);
if MyList.Find("RES", Index) then Label1.Caption := IntToStr(Index);
MyList.Free;
end;
Это не подходит т.к. он ничего не найдёт в таком случае.


 
Игорь Шевченко ©   (2003-10-21 14:32) [1]

В цикле, перебором строк, с использованием функций Pos и Copy


 
Fredericco ©   (2003-10-21 14:40) [2]

Или
Uses Masks;
...
function MatchesMask(const Filename, Mask: string): Boolean;

Почитай в хелпе про нее.


 
jab~   (2003-10-21 15:00) [3]

Пасиба пасиба.... я написал так:

procedure TForm1.Button1Click(Sender: TObject);
var
MyList: TStringList;
i: Integer;
begin
ListBox1.Items.Clear;
MyList := TStringList.Create;
MyList.Add("BMP");
MyList.Add("FRM");
MyList.Add("JPG JEPG GIF");
MyList.Add("IMG TIFF SCR");
ListBox1.Items.AddStrings(MyList);
For i:=0 to MyList.Count-1 do
begin
if Pos("TIFF",MyList.Strings[i])<>0 then Label1.Caption:=IntToStr(i);
end;
MyList.Free;
end;

:) вроде работает :):):)


 
Fredericco ©   (2003-10-21 15:13) [4]

Ну и отлично )))
А вот это подправь
if Pos("TIFF",MyList.Strings[i]) >0



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

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



Память: 0.45 MB
Время: 0.021 c
4-42270
Olfi
2003-09-10 00:02
2003.11.13
исходящие данные


1-41505
qwe
2003-10-28 14:14
2003.11.13
Обьясните что это означает


4-42311
Demetrius
2003-09-17 19:03
2003.11.13
WinInet


14-42097
ZeroDivide
2003-10-23 10:33
2003.11.13
Кто знает, чем закончилась


14-42020
wHammer
2003-10-24 10:05
2003.11.13
Кто может подсказать что случилось с анкетой?




   Наверх