@@ -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
4242implementation
@@ -161,11 +161,11 @@ function TGenerator.GenerateProgressBar(APBPosition, APBMax, APBWIdth, AFileSize
161161
162162procedure TGenerator.Generate ;
163163var
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