Einzelnen Beitrag anzeigen

Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

String in einer Textdatei anhängen

  Alt 30. Aug 2007, 17:43
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.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat