Zitat von
emsländer:
Abhilfe? - ich muss vor allem die Bestandsdaten lesen können!
Also alles was du mit der Delphi 2009 Version geschrieben hast, ist verstümmelt. Da kann man nichts mehr machen, da die Hälfte der Daten fehlt.
Was du mit Delphi 1-2007 geschrieben hast, kannst du komplett über AnsiString abhandeln.
Für das Schreiben reicht es aus, wenn du _codiert als AnsiString deklarierst. Du solltest aber noch prüfen, ob die Daten, die aus dem StringStream zurück kommen auch richtig sind (bei
Indy bin ich mir nicht sicher, was die intern so alles mit den Daten anstellen)
Delphi-Quellcode:
uses
JclStrings;
var
_codiert: AnsiString;
sfiledata: string; // = UnicodeString
begin
...
_codiert := JvCaesarcipher.EncodeString(fddschl, AnsiString(sfiledata));
StringToFile(sTmpFileName, _codiert);
end;
Beim Lesen darft du erst in einen UnicodeString konvertieren, wenn die Daten bereits entschlüsselt sind:
Delphi-Quellcode:
uses
JclStrings;
var
Stream: TFileStream;
_codiert: AnsiString;
sfiledata: string; // = UnicodeString
begin
_codiert := FileToString(odlg.FileName);
sfiledata := string(JvCaesarcipher.DecodeString(fddschl, _codiert));
Memo1.Lines.Text := sfiledata;
end;