Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск вхождения всех строк в указанную [D7, WinXP]


Viktop ©   (2005-07-18 09:23:00) 

Помогите написать функцию. У самого опытане хватает.
Имеется TStringList с набором строк (в каждой строке одно слово) и некоторая строка.
Фунция возвращает True, если в указанной строке есть ВСЕ слова из TStringList, иначе - False.

Заранее спасибо.


Digitman   (2005-07-18 12:02:00) [1]


> Viktop   (18.07.05 11:48) [13]


> А ты спросил, что я сделал?


А ты - Пуп Земли ? Чтобы тебя спрашивать ?

Или ты, чудо, считаешь, что все только тем и озабочены, что телепатировать над совершенно непонятными твоими проблемами ?)


> Зачем приводить код, который не работает


Затем и приводить, чтобы сослаться на ту или иную конкретную строчку кода, приведшую к проблемам ... и эта строчка ТОБОЙ должна была быть написана !!


> Вот если бы раньше


Вот если бы да кабы, то во рту росли б грибы)
Как девица малая ставишь тут себя - "если бы", "не если бы" ...
Ты программингом занят или куда ?)


Anatoly Podgoretsky   (2005-07-18 11:50:00) [2]

Viktop   (18.07.05 11:48) [13]
Тебя еще и упрашивать нужно?
Может и челобитную подавать и три раза ку?


Viktop   (2005-07-18 11:48:00) [3]

А ты спросил, что я сделал? Зачем приводить код, который не работает. Вот если бы раньше спросили, то привёл бы


Anatoly Podgoretsky   (2005-07-18 10:59:00) [4]

Viktop   (18.07.05 10:45) [10]
Возьми с полки пирожок.


Digitman   (2005-07-18 10:55:00) [5]


> Viktop   (18.07.05 10:45) [10]


поплачь еще)

ты ведь палец о палец не ударил, ни единой извилиной не пошевелил, чтобы хотя бы попытатьсярешить задачу самостоятельно !

за твоим "помогите написать" что стояло ? "напишите за меня" ? так ведь получается ?)


Viktop   (2005-07-18 10:45:00) [6]

to P.N.P.
Спасибо!!! Немного подправил код как мне надо.
Были бы все такие отзывчивые, а то есть некоторые личности [1]


Sha   (2005-07-18 10:05:00) [7]

Извини. Знак '>' не заметил :(


P.N.P.   (2005-07-18 10:03:00) [8]

>Sha ©   (18.07.05 10:02) [7]
А что, не должно?


Sha   (2005-07-18 10:02:00) [9]

Компилится?


P.N.P.   (2005-07-18 09:56:00) [10]

Да, невнимательно прочитал :/

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;


P.N.P.   (2005-07-18 09:54:00) [11]

>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:00) [12]

P.N.P. ©   (18.07.05 09:39) [2]
Не пойдет, здесь наоборот, истина если в TStringList есть ВСЕ слова из указанной строки. А надо ВСЕ слова из TStringList


Fay   (2005-07-18 09:44:00) [13]

2 P.N.P. ©   (18.07.05 9:39) [2]
А где stroka.Free?


Digitman   (2005-07-18 09:39:00) [14]


> Помогите написать функцию


чем же тебе помочь ?


P.N.P.   (2005-07-18 09:39:00) [15]

лови


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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо