Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#23

Re: Memo.Text := Ansistring? nur wie

  Alt 7. Jan 2009, 18:58
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;
  Mit Zitat antworten Zitat