Hallo zusammen,
ich hab da ein Problem mit dem Verschlucken von Bytes und weiß einfach nicht weiter. Ich möchte jedes Mal bei einer bestimmten Aktion Daten in eine Datei schreiben. Der Hintergrund ist, ich habe eine bestimmte Länge eines Strings, welcher jedes Mal variabel ist. Dieser String wird verkryptet, sodass ich als Rückgabewert einen String mit Mülldaten habe. Die Länge des neuen Strings ist immer gleich; in meinem Fall immer 400 Bytes. Diese 400 Bytes möchte ich jedesmal in eine Textdatei schreiben, indem ich immer die 400 Bytes in die Datei anhänge. Dies geschieht folgendermaßen:
Delphi-Quellcode:
var
linesize : Integer;
line : String;
LogFile : TextFile;
begin
...
AssignFile(LogFile, "meine Datei");
try
if FileExists("meine Datei") then
Append(LogFile)
else Rewerite(LogFile);
linesize := 0;
linesize := length(line);
Writeln(Logfile, EncText(line,linesize)); // EncText ist eine Funktion zum verkrypten des Strings
finally
CloseFile(LogFile);
end;
...
end;
Mein Problem besteht darin, dass unkoordiniert nach ein paar Mal schreiben die Bytes fehlen. Normalerwesise müssten es immer plus 402 Bytes sein (meine 400 plus 2 Bytes der CarriageReturn vom Writeln), aber der verschluckt die Bytes sporadisch. Kann mir bitte jemand sagen warum??? Ich drehe hier noch durch
...Der Rückgabewert meiner EncText-Routine hat definitiv die Länge 400.
Danke im Voraus.