Skip to content

Commit d0bdb78

Browse files
committed
restore TFileStream
1 parent c40c0b2 commit d0bdb78

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

generator/Common/generate.common.pas

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ TGenerator = class(TObject)
3636

3737
{$IFNDEF FPC}
3838
TStringArray = array of string;
39-
TWriteBufStream = TBufferedFileStream;
39+
TWriteBufStream = TFileStream;
4040
{$ENDIF}
4141

4242
implementation
@@ -161,11 +161,11 @@ function TGenerator.GenerateProgressBar(APBPosition, APBMax, APBWIdth, AFileSize
161161

162162
procedure TGenerator.Generate;
163163
var
164-
index, progressBatch: Int64;
164+
index, progressCount, progressBatch: Int64;
165165
stationId: Int64;
166166
randomTemp: Integer;
167167
randomTempStr: String[4];
168-
outputFileStream: TBufferedFileStream;
168+
outputFileStream: TFileStream;
169169
chunkLine, randomTempFinal: String;
170170
stationArray, temperatureArray: TStringArray;
171171
LenStationArray, LenTemperatureArray: Array of Integer;
@@ -179,7 +179,7 @@ procedure TGenerator.Generate;
179179
// Build list of station names
180180
BuildStationNames;
181181

182-
outputFileStream := TBufferedFileStream.Create(FOutPutFile, fmCreate);
182+
outputFileStream := TFileStream.Create(FOutPutFile, fmCreate);
183183

184184
progressBatch := floor(FLineCount * (linesPercent / 100));
185185
start := Now;
@@ -224,6 +224,7 @@ procedure TGenerator.Generate;
224224
chunkCount := chunkBatch;
225225
chunkLen := 0;
226226
SetLength(chunkLine, chunkCapacity);
227+
progressCount := progressBatch;
227228
// To here
228229

229230
try
@@ -251,23 +252,18 @@ procedure TGenerator.Generate;
251252
chunkLen := 0;
252253
end;
253254
// To here
254-
Dec(progressBatch);
255-
if progressBatch = 0 then
255+
Dec(progressCount);
256+
if progressCount = 0 then
256257
begin
257258
Write(GenerateProgressBar(index, FLineCount, 50, outputFileStream.Size,
258259
Now - start), lineBreak);
259-
progressBatch := floor(FLineCount * (linesPercent / 100));
260+
progressCount := progressBatch;
260261
end;
261262
end;
262263

263264
if chunkCount > 0 then
264265
begin
265266
outputFileStream.WriteBuffer(chunkLine[1], chunkLen);
266-
{$IFDEF FPC}
267-
outputFileStream.Flush;
268-
{$ELSE}
269-
outputFileStream.FlushBuffer;
270-
{$ENDIF}
271267
end;
272268
finally
273269
WriteLn;

0 commit comments

Comments
 (0)