1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| procedure TFrmTestFichier.BtnCreateBigTextFileClick(Sender: TObject);
const
BUF_LINE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'#13#10;
var
FLNC: TextFile;
QuickBuf: string;
TimeIteration, I: Integer;
CountLn, StartTick, EndTick, TickPerSec: Int64;
begin
QueryPerformanceCounter(StartTick);
try
CountLn := StrToInt64(EdNbLineBigTextFile.Text) div 100;
SetLength(QuickBuf, 100 * Length(BUF_LINE) - 2);
for I := 0 to 98 do
CopyMemory(@QuickBuf[I*Length(BUF_LINE)+1], @BUF_LINE[1], Length(BUF_LINE));
CopyMemory(@QuickBuf[Length(QuickBuf)-Length(BUF_LINE)+3], @BUF_LINE[1], Length(BUF_LINE) - 2);
AssignFile(FLNC, EdPathSearch.Text);
Rewrite(FLNC);
try
while CountLn > 0 do
begin
Dec(CountLn);
Writeln(FLNC, QuickBuf);
end;
finally
CloseFile(FLNC);
end;
finally
QueryPerformanceCounter(EndTick);
QueryPerformanceFrequency(TickPerSec);
TimeIteration := Round((EndTick - StartTick) / TickPerSec * 1000);
end;
MemoShort.Lines.Add('CountLine : ' + IntToStr(TimeIteration) + ' ms');
end; |
Partager