![]() |
Wie kann ich Schreibweise im Filestream optimieren ?
Hello Friends,
ich schreibe in meinem Custom File ein Paar Strings via Filestream. Aber es kommt immer eine Leerzeichen nach jedem Char. Es sollte LAMP schreiben aber es schreibt L A M P
Delphi-Quellcode:
Wie kann ich LAMP (ohne Leerzeichen) schreiben ?
procedure TForm1.btn1Click(Sender: TObject);
var fs: TFileStream; begin fs := TFileStream.Create('C:\Test1.depp', fmCreate or fmOpenWrite or fmShareDenyWrite); try fs.Position := 23 ; fs.WriteBuffer((Char($4c))+(Char($41))+(Char($4d))+(Char($50)),8); finally fs.Free;; end; end; Thanks in advance :) |
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Wenn du Ansi-Zeichen statt Unicode schreiben möchtest, musst du AnsiChars oder AnsiStrings verwenden. Dafür kannst du dann aber auch keine Unicodezeichen verwenden. Bist du sicher, dass du das möchtest?
|
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Leider ja...
Nebenbei kann ich zwar versuchen alles auf ANSI um zu schreiben. |
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Dann bleibt dir nur auch wirklich überall mit AnsiString usw. zu arbeiten.
|
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Also das Programm, das diese Datei dann liest, kann kein UTF-16LE? Nicht mal mit BOM #$FFFE?
|
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Thanks Friends,
ich habe hin gegriegt :
Delphi-Quellcode:
procedure TForm1.btn2Click(Sender: TObject);
var buf: array[0..10] of Byte; fs: TFileStream; begin fs := TFileStream.Create('C:\Test1.file', fmCreate or fmOpenWrite or fmShareDenyWrite); buf[0] := $4b; buf[1] := $4f; buf[2] := $52; buf[3] := $46; try fs.Position := 23; fs.WriteBuffer(buf, 4); fs.Position := 0; buf[0] := $01; buf[1] := $00; buf[2] := $01; buf[3] := $14; fs.WriteBuffer(buf, 4); fs.Position := 4; buf[0] := $00; buf[1] := $00; buf[2] := $29; buf[3] := $64; fs.WriteBuffer(buf, 4); finally fs.Free; ; end; end; |
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Zitat:
Delphi Lösungen gibt es sicher, hier eine SO Antwort: ![]() Oder auch aus regionalen Quellen: ![]() |
AW: Wie kann ich Schreibweise im Filestream optimieren ?
Das sieht mir überhaupt nicht danach aus als ginge es um Strings im eigentlichen Sinn, sondern um Bytewerte. Dann geht es so viel einfacher:
Delphi-Quellcode:
Da sollte das gleiche herauskommen.
procedure TForm1.btn2Click(Sender: TObject);
var Value: Integer; fs: TFileStream; begin fs := TFileStream.Create('C:\Test1.file', fmCreate or fmOpenWrite or fmShareDenyWrite); try fs.Position := 23; Value := $46524F4B; fs.WriteBuffer(Value, 4); fs.Position := 0; Value := $14010001; fs.WriteBuffer(Value, 4); fs.Position := 4; Value := $64290000; fs.WriteBuffer(Value, 4); finally fs.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 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