Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
ВнизFindDialog Найти похожие ветки
← →
Triny (2003-12-05 09:11) [0]Уважаемые мастреа, я просто новичок, аоэтому не удивляйтесь моим вопросам.Не подскажите ли вы мне, как написать процедуру для FindDialog?
← →
Digitman (2003-12-05 09:21) [1]какую ? которая ЧТО должна делать ?
← →
DeScriptor (2003-12-05 09:50) [2]Что-то сегодня бум какой-то на поиск текста! =)
Я вот тоже уже большую часть ночи и все утро искалку текста пишу...
Благодаря Digitman (которому за это ГИГАНТСКИЙ респект), уже почти все работает, как только удостоверюсь, что ВСЕ работает, готов запостить код с подробнейшими комментариями.
← →
Triny (2003-12-05 10:04) [3]что делать? ИСКАТЬ!
Ну я вас очень прошу... мне сёдня ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ нужна эта процедурка....... или двойка по УПК мне светит....
← →
Shirson (2003-12-05 10:12) [4]FindDialog это красивенький спрашиватель, чего искать. Может быть заменён обычным Edit-том и кнопкой "FIND".
То что ты сейчас спросил, это всё равно, что спросить "Мне нужно написать программу для компьютера".
Конекретнее, условия задачи какие?
Просто вызвать FindDialog и получить с него введённые пользователем данные.
Вызвать FindDialog, получить с него данные и провести поиск.
Где поиск? Строка? Коллекция строк? Файл?
← →
DeScriptor (2003-12-05 10:12) [5]Вот Вам сырой код, который еще глючит:
MatchCount:=0;
Здесь у меня на 281 итерации вылезает exception "Invalid Pointer Operation". Может у Вас не вылезет.
for i:=0 to High(StringArray)-1 do begin
TempStr:=StringArray[i].Text;
if not FindWin.MatchCase.Checked then begin
TempStr:=AnsiUpperCase(TempStr);
SearchString:=AnsiUpperCase(SearchString);
end;
if Length(SearchString)>Length(TempStr) then Continue;
for j:=1 to Length(TempStr) do begin
Found:=false;
if SearchString[1]=TempStr[j] then begin
Count:=0;
for k:=j to Length(TempStr) do begin
Count:=Count+1;
if SearchString[Count]=TempStr[k] then Found:=True else break;
if Count=Length(SearchString) then begin
MatchCount:=MatchCount+1;
SetLength(MatchIndexes,MatchCount);
MatchIndexes[MatchCount]:=StringArray[i].Index;
Break;
end else Found:=false;
end;
if Found then break;
end;
if Found then break;
end;
end;
Если заставите его не глючить, отпишите мне. плз, а то я после бессонной ночи уже вообще туго соображаю!
← →
DeScriptor (2003-12-05 10:19) [6]Все в порядке, код работает. Т.е. у меня не совсем работает, но это - как всегда: я глючу с динамическими массивами. =) Где-то дал маху и сейчас никак не могу найти - где...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c