25.02.2018, 21:34
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Ну да, тогда получается, что в самом плохом случае только на данные тебе надо более 2 ГБ, что под 32 бита без специальных усилий не сделать. Соответсвенно, читать и писать файлы надо действительно по сточно, нефиг забивать ими память.
Код:
var
FIn, FOrg, FWrk, FTyp : TextFile;
S : String;
begin
If Not OpenDialog1.Execute Then Exit;
AssignFile(FIn,OpenDialog1.FileName);
AssignFile(FOrg,'Organization.txt');
AssignFile(FWrk,'Working.txt');
AssignFile(FTyp,'Types.txt');
Reset(FIn);
Rewrite(FOrg);
Rewrite(FWrk);
Rewrite(FType);
While Not EOF(FIn) Do
Begin
ReadLn(FIn,S);
if CheckBox1.Checked then
if Pos(Edit1.Text, S) > 0 then WriteLn(FOrg,S);
if CheckBox2.Checked then
if Pos(Edit2.Text, S) > 0 then WriteLn(FWrk,S);
if CheckBox3.Checked then
if Pos(Edit3.Text, S) > 0 then WriteLn(FTyp,S);
End;
CloseFile(FIn);
CloseFile(FOrg);
CloseFile(FWrk);
CloseFile(FTyp);
end;
Как то так...
|