![]() |
AW: Speichern von RCx-Zeichen in Textdatei
AnsiString = 1 Byte pro Zeichen
WideString/UnicodeString = 2 byte pro Zeichen String = SizeOf(Char) Byte pro Zeichen Also mußt du nur noch Umrechnen, wo Byte und Chars vermischt wird. |
AW: Speichern von RCx-Zeichen in Textdatei
Danke dir für diese Information. :thumb:
Jetzt funktioniert alles wie gewünscht. Geänderte Zeile:
Delphi-Quellcode:
FStream.Write(Pointer(OutputCrypt.Text)^,Length(OutputCrypt.Text)* SizeOf(Char)*2]);
Hab also SizeOf(Char) * 2 gemacht. Danke nochmal an alle die geantwortet haben. |
AW: [Erledigt] Speichern von RCx-Zeichen in Textdatei
Zitat:
Delphi-Quellcode:
Du solltest dich auf eine Art der Fehlerbehandlung, bzw. des Ressourcenschutzes einigen
procedure TForm1.BtnSaveClick(Sender: TObject);
var FStream: TStream; TmpText: String; const OutFileName: string = 'd:\tmp.txt'; begin ForceDirectories(ExtractFilePath(OutFileName)) ; FStream := TFileStream.Create(OutFileName,fmCreate) ; try TmpText := OutputCrypt.Text; if TmpText <> '' then FStream.Write(TmpText[1], Length(TmpText) * SizeOf(Char)) ; finally FStream.Free; end; end; procedure TForm1.BtnReadClick(Sender: TObject); var InputFile: TFileStream; TmpText: String; const outFileName: string = 'd:\tmp.txt'; begin InputFile := TFileStream.Create(outFileName, fmOpenRead); try SetLength(TmpText, InputFile.Size div SizeOf(Char)); if TmpText <> '' then InputFile.Read(TmpText[1], Length(TmpText) * SizeOf(Char)); finally InputFile.Free; end; OutputDecrypt.Text := TmpText; end; und an der richtigen Stelle umrechnen, denn
Delphi-Quellcode:
war die falsche Stelle.
Length(OutputCrypt.Text)* SizeOf(Char)*2
Wenn das Schreiben nicht dem Lesen ähnelt, dann ist da irgendwas falsch, bzw. das Konzept stimmt nicht. PS: Besser ReadBuffer und WriteBuffer, statt Read und Write verwenden, wenn du schon dessen Rückgabewerte nicht prüfst. |
AW: [Erledigt] Speichern von RCx-Zeichen in Textdatei
Ok, vielen Dank!! :thumb:
War bis jetzt alles nur für Testzwecke, aber mit dem was du sagst hast du natürlich Recht. Werde deine Anmerkungen gleich umsetzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz