Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизПоиск вхождения всех строк в указанную Найти похожие ветки
← →
Viktop (2005-07-18 09:23) [0]Помогите написать функцию. У самого опытане хватает.
Имеется TStringList с набором строк (в каждой строке одно слово) и некоторая строка.
Фунция возвращает True, если в указанной строке есть ВСЕ слова из TStringList, иначе - False.
Заранее спасибо.
← →
Digitman © (2005-07-18 09:39) [1]
> Помогите написать функцию
чем же тебе помочь ?
← →
P.N.P. © (2005-07-18 09:39) [2]лови
function FindWords(nekoya_stroka:string;AllStringList:TStrings):boolean;
var
stroka:tstrings;
i:integer;
cnt:integer;
begin
result:=false;
stroka:=TStringList.Create;
stroka.Delimiter:=" ";
stroka.DelimitedText:=nekoya_stroka;
cnt:=0;
for i:=0 to Pred(stroka.count) do
begin
result:=(AllStringList.IndexOf(stroka[i])>-1);
if not result then
break;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(BoolToStr(FindWords(Edit1.Text,Memo1.Lines),True));
end;
← →
Fay © (2005-07-18 09:44) [3]2 P.N.P. © (18.07.05 9:39) [2]
А гдеstroka.Free
?
← →
P.N.P. © (2005-07-18 09:54) [4]>Fay © (18.07.05 09:44) [3]
>А где stroka.Free ?
Тут :)
function FindWords(nekoya_stroka:string;AllStringList:TStrings):boolean;
var
stroka:tstrings;
i:integer;
cnt:integer;
begin
result:=false;
stroka:=TStringList.Create;
try
stroka.Delimiter:=" ";
stroka.DelimitedText:=nekoya_stroka;
cnt:=0;
for i:=0 to Pred(stroka.count) do
begin
result:=(AllStringList.IndexOf(stroka[i])>-1);
if not result then
break;
end;
finally
stroka.Free;
end;
end;
← →
Anatoly Podgoretsky © (2005-07-18 09:54) [5]P.N.P. © (18.07.05 09:39) [2]
Не пойдет, здесь наоборот, истина если в TStringList есть ВСЕ слова из указанной строки. А надо ВСЕ слова из TStringList
← →
P.N.P. © (2005-07-18 09:56) [6]Да, невнимательно прочитал :/
function FindWords(nekoya_stroka:string;AllStringList:TStrings):boolean;
var
stroka:tstrings;
i:integer;
cnt:integer;
begin
result:=false;
stroka:=TStringList.Create;
try
stroka.Delimiter:=" ";
stroka.DelimitedText:=nekoya_stroka;
cnt:=0;
for i:=0 to Pred(AllStringList.count) do
begin
result:=(stroka.IndexOf(AllStringList[i])>-1);
if not result then
break;
end;
finally
stroka.Free;
end;
end;
← →
Sha © (2005-07-18 10:02) [7]Компилится?
← →
P.N.P. © (2005-07-18 10:03) [8]>Sha © (18.07.05 10:02) [7]
А что, не должно?
← →
Sha © (2005-07-18 10:05) [9]Извини. Знак ">" не заметил :(
← →
Viktop (2005-07-18 10:45) [10]to P.N.P.
Спасибо!!! Немного подправил код как мне надо.
Были бы все такие отзывчивые, а то есть некоторые личности [1]
← →
Digitman © (2005-07-18 10:55) [11]
> Viktop (18.07.05 10:45) [10]
поплачь еще)
ты ведь палец о палец не ударил, ни единой извилиной не пошевелил, чтобы хотя бы попытаться решить задачу самостоятельно !
за твоим "помогите написать" что стояло ? "напишите за меня" ? так ведь получается ?)
← →
Anatoly Podgoretsky © (2005-07-18 10:59) [12]Viktop (18.07.05 10:45) [10]
Возьми с полки пирожок.
← →
Viktop (2005-07-18 11:48) [13]А ты спросил, что я сделал? Зачем приводить код, который не работает. Вот если бы раньше спросили, то привёл бы
← →
Anatoly Podgoretsky © (2005-07-18 11:50) [14]Viktop (18.07.05 11:48) [13]
Тебя еще и упрашивать нужно?
Может и челобитную подавать и три раза ку?
← →
Digitman © (2005-07-18 12:02) [15]
> Viktop (18.07.05 11:48) [13]
> А ты спросил, что я сделал?
А ты - Пуп Земли ? Чтобы тебя спрашивать ?
Или ты, чудо, считаешь, что все только тем и озабочены, что телепатировать над совершенно непонятными твоими проблемами ?)
> Зачем приводить код, который не работает
Затем и приводить, чтобы сослаться на ту или иную конкретную строчку кода, приведшую к проблемам ... и эта строчка ТОБОЙ должна была быть написана !!
> Вот если бы раньше
Вот если бы да кабы, то во рту росли б грибы)
Как девица малая ставишь тут себя - "если бы", "не если бы" ...
Ты программингом занят или куда ?)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c