![]() |
|
|
|
|
#1
|
|||
|
|||
|
Добрый день ,Господа ГУРУ.
Прошу Вашей помощи в такой проблеме. Нужно выбрать через OpenDialog1 txt файл , загрузить его в Memo1 +прикрутить progress bar загрузки. Парсить определённые слова (выбирать с combobox1 ), причем начиная с конца memo1 и полученные (найденные )слова записать в memo2. Буду крайне благодарен! Последний раз редактировалось starcon, 02.02.2015 в 18:15. |
|
#2
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#3
|
|||
|
|||
|
Цитата:
Размер файла может колебаться от 1мb до 50мb , в основном до 30мb. progressbar нужен для визуализации загрузки в memo |
|
#5
|
|||
|
|||
|
Уже сделал, даже работает.
Осталось разобраться с progressbar. Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Fs : TFileStream;
Od : TOpenDialog;
begin
combobox1.Enabled:=true;
Od := OpenDialog1;
if Od.InitialDir = '' then
Od.InitialDir := ExtractFilePath( ParamStr(0) );
if not Od.Execute then Exit;
if not FileExists(Od.FileName) then begin
MessageBox(0, 'Файл не найден.'
,'Отмена!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
Exit;
end;
Fs := TFileStream.Create(Od.FileName, fmOpenRead + fmShareDenyNone);
try
Memo1.Lines.LoadFromStream(Fs);
finally
FreeAndNil(Fs);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
Find:string;
i:integer;
s:string;
begin
memo2.Lines.Clear;
find:=Combobox1.Text;
For i:=0 to Memo1.Lines.Count-1 do
begin
s := Memo1.Lines[i];
If Pos(FIND, s)<>0 Then
Memo2.Lines.Add(s);
end;
end;
end.Последний раз редактировалось starcon, 02.02.2015 в 20:36. |