![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
~Maks~ |
![]()
Сообщение
#1
|
Гость ![]() |
Здравствуйте!
мне нужет текст программы в Delphi ! программа В текстовый файл записываем слова(слова в столбик пишем), в делфи пишим программую которая по запросу ищет слово или слово сочитание в текстовом файле! после нахождения выводит результат. интерфейс 1.поле 2.кнопка 'поиск' 3. поле где выводится результат --- если ничего не нашла программа пишим в поле что ничего не найдено please кто шарит напишите программу пожалуйста! |
GoodWind |
![]()
Сообщение
#2
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
в чем затруднения ?
сам писАть пробовал, или хочешь чтобы за тебя решили? Примерный алгоритм: 1.открываешь файл 2.пока не конец файла начало читаешь строку если строка не совпадает с искомой то продолжаешь иначе к пункту 3. конец 3. Выводишь результат. -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
~Maks~ |
![]()
Сообщение
#3
|
Гость ![]() |
трудность в том что я на словах знаю как это сделать(то что ты написал) а написать программу не шарю как !
кому не сложно помогите plz !! ![]() |
GoodWind |
![]()
Сообщение
#4
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
unit Unit1; вроде работает ![]() -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
~Maks~ |
![]()
Сообщение
#5
|
Гость ![]() |
To: GoodWind
огромное тебе спасибо ! ты хороший человек! не можешь подсказать ещё какие процедуры нужно вставить для счётчика? тоесть сколько раз я нашёл(запросил) какоенить слово ! к примеру слово1 я запросил 5 раз а слово2 запросил 10 раз а слово3 2 раза и т.д. что бы это куданить записывалось а потом сортировалось в файле txt от большего к меньшему! подскажите несли тебе не составит труда ! зарание благодарин! |
GoodWind |
![]()
Сообщение
#6
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
"ух... ну у вас и запросы - сказала база данных и повисла"
счас погляжу.... Цитата ты хороший человек! да прям =) -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Guest |
![]()
Сообщение
#7
|
Гость ![]() |
To: GoodWind
_List:=TStringlist.Create; выдаёт ошибку ! её надо немного модернизировать под сортировку только хз как ! Код 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; ListBox1: TListBox; procedure Button1Click(Sender: TObject); procedure ListBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i:integer; _List:TStrings; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,num:integer; _List,_ListCount:TStrings; tmpBuf:string; function GetNumLine(_List:TStrings; 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; end; _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. |
~Maks~ |
![]()
Сообщение
#8
|
Гость ![]() |
Код 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 сделать ! |
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 22:44 |