Код
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 сделать !