Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.063 c
11-1104342568
mdw
2004-12-29 20:49
2005.08.07
С Новым годом!


3-1119925345
AndyK
2005-06-28 06:22
2005.08.07
Игнорирование нулей после ","


1-1121686069
Salik
2005-07-18 15:27
2005.08.07
StringGrid


1-1121453808
Destroyer
2005-07-15 22:56
2005.08.07
Помогите, плз, с динамическим созданием двумерного массива


14-1121628347
Knight
2005-07-17 23:25
2005.08.07
Ремонт XP...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский