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

Вниз

Поиск вхождения всех строк в указанную   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.068 c
6-1114766778
Filin8
2005-04-29 13:26
2005.08.07
TcpServer


14-1121436123
Андрей Жук
2005-07-15 18:02
2005.08.07
Какие "максимальные" процессоры поддерживали AT-материнки?


14-1121430748
Igorek
2005-07-15 16:32
2005.08.07
Дельфимастер проснулся :)


1-1121407222
Helen
2005-07-15 10:00
2005.08.07
Потоки TTread


1-1121848608
Oleg_
2005-07-20 12:36
2005.08.07
Кнопка в stringgrid