Hallo Jungs,
ich hab mir grad mal wieder einen Code eines Programmes angeschaut, den ich schon vor längerem mal programmiert habe und da ist mir ein Teil aufgefallen, der mir vielleicht mal Probs bereiten könnte:
Delphi-Quellcode:
try
FileStream := TFileStream.Create(drive_MonitorLog, fmOpenReadWrite);
with FileStream, ListView_CallingList do
begin
//ListView auslesen und zu einem String hinzufügen
for i2 := 0 to Pred(i) do
begin
S_List := S_List +
Items.Item[i2].SubItems.Strings[2] + ', ' + //Datum
Items.Item[i2].SubItems.Strings[3] + ', ' + //Uhrzeit
Items.Item[i2].Caption + ', ' + //Name
Items.Item[i2].SubItems.Strings[0] + ', ' + //Nummer
Items.Item[i2].SubItems.Strings[1] + ', ' + //Ort
Items.Item[i2].SubItems.Strings[4] + #13#10;//MSN
end;
//FileStream-Position = FileStream-Größe
Position := Size;
//In die vorhandene Datei "Monitor.log" schreiben
WriteBuffer(S_List[1], Length(S_List));
end;
finally
//FileStream freigeben und löschen
FreeAndNil(FileStream);
end;
Jetzt schreib ich ja zuerst alles in einen String und schreib dann diesen String mit "WriteBuffer" in die Datei.
Jetzt hätt ich mir vorgestellt, dass es auch so ginge und das dies schneller sei:
Delphi-Quellcode:
try
FileStream := TFileStream.Create(drive_MonitorLog, fmOpenReadWrite);
with FileStream, ListView_CallingList do
begin
//ListView auslesen und zu einem String hinzufügen
for i2 := 0 to Pred(i) do
begin
S_List := Items.Item[i2].SubItems.Strings[2] + ', ' + //Datum
Items.Item[i2].SubItems.Strings[3] + ', ' + //Uhrzeit
Items.Item[i2].Caption + ', ' + //Name
Items.Item[i2].SubItems.Strings[0] + ', ' + //Nummer
Items.Item[i2].SubItems.Strings[1] + ', ' + //Ort
Items.Item[i2].SubItems.Strings[4] + #13#10;//MSN
//FileStream-Position = FileStream-Größe
Position := Size;
//In die vorhandene Datei "Monitor.log" schreiben
WriteBuffer(S_List[1], Length(S_List));
end;
end;
finally
//FileStream freigeben und löschen
FreeAndNil(FileStream);
end;
(ungetestet)
Denn so schreib ich nicht erst alles in einen String, sondern gleich in die Datei.
Welche Möglichkeit ist schneller?
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<