![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
~Maks~ |
![]()
Сообщение
#1
|
Гость ![]() |
Здравствуйте!
мне нужет текст программы в Delphi ! программа В текстовый файл записываем слова(слова в столбик пишем), в делфи пишим программую которая по запросу ищет слово или слово сочитание в текстовом файле! после нахождения выводит результат. интерфейс 1.поле 2.кнопка 'поиск' 3. поле где выводится результат --- если ничего не нашла программа пишим в поле что ничего не найдено please кто шарит напишите программу пожалуйста! |
![]() ![]() |
~Maks~ |
![]()
Сообщение
#2
|
Гость ![]() |
Код unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Edit1: TEdit; Edit2: TEdit; Memo3: TMemo; Edit3: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,num:integer;_list, _ListCount:TStringList; tmpBuf:string; function GetNumLine(List:TStringList; FileString:string):integer; var i:integer; begin result:=-1; for i:=0 to list.Count-1 do if pos(FileString+'|',list.Strings[i])>0 then begin result:=i; exit; end; end; begin _List:=TStringlist.Create; _ListCount:=TStringlist.Create; try _List.LoadFromFile('c:\s.txt'); if fileexists('c:\_count.txt') then _ListCount.LoadFromFile('c:\_count.txt'); memo2.Clear; for i:=0 to memo1.Lines.Count-1 do begin if _List.IndexOf(memo1.Lines.Strings[i])<>-1 then memo2.Lines.Add(memo1.Lines.Strings[i]); num:=GetNumLine(_ListCount,memo1.Lines.Strings[i]); if num<0 then _ListCount.Add(memo1.Lines.Strings[i]+'|1') else begin tmpBuf:=_ListCount.Strings[num]; _ListCount.Strings[num]:= memo1.Lines.Strings[i]+'|'+ inttostr(strtoint(copy(tmpBuf,pos('|',tmpBuf)+1, length(tmpBuf)-pos('|',tmpBuf)))+1); end; end; if memo2.Lines.Count=0 then memo2.Lines.Add('Ieoeaa ia iaeaaii...'); memo3.Clear; for i:=0 to _ListCount.Count-1 do memo3.Lines.Add(copy(_ListCount.Strings[i],1, pos('|',_ListCount.Strings[i])-1) + ' - '+ copy(_ListCount.Strings[i],pos('|',_ListCount.Strings[i])+1, length(_ListCount.Strings[i])-pos('|',_ListCount.Strings[i]))); _ListCount.SaveToFile('c:\_count.txt'); finally _List.Free; _ListCount.free; end; //try-finally _List:=TStringlist.Create; try _List.LoadFromFile('c:\s.txt'); memo2.Clear; for i:=0 to memo1.Lines.Count-1 do if _List.IndexOf(memo1.Lines.Strings[i])<>-1 then memo2.Lines.Add(memo1.Lines.Strings[i]); if memo2.lines.count=0 then memo2.Lines.Add('Ничего не найдено...'); finally _List.Free; end; //try-finally end; end. ошибку исправил! Не ТЫ исправил, а ТЕБЕ исправили... Сказать, кто? Ты что думаешь, самый умный, с одного форума на другой задачки перекидываешь, и создаешь и там и там ВИДИМОСТЬ того, что что-то делаешь? Не пойдет... Привет Тестировщице !!! подскажите как сделать сортировку в файле _List.LoadFromFile('c:\s.txt'); тоесть в s.txt что бы сортировалось по данным из файла _ListCount.SaveToFile('c:\_count.txt'); _count.txt ! имеются мемо1 мемо2 мемо3 едит1 едит2 едит3 в мемо3 выводится счётчик запросов тоесть сколько раз запросил какоенить слово! это всё записывается в файл _count.txt ! а мне нужно что бы по средством этой статы сортировались слова от большего(больше запросов) к меньшмему(мало запросов) пример: файл _count.txt кот-1 лиса-3 волк-6 медведь-2 файл s.txt волк лиса медведь кот ----------- вот так мне нужно помогите plz сделать ! |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 20:50 |