Vielleicht solltest du genauer schreiben was du willst, denn "ich will Bytes schreiben" ist etwas zu allgemein, denn selbst wenn du den Text "Hallo Welt!" in ein TMemo schreibst und es abspeicherst, schreibst du Bytes. Bytes schreiben ist also nichts ungewöhnliches.
Vielleicht suchst du aber auch nur das:
Delphi-Quellcode:
// Läd eine Datei und übergibt ihn als String
// sInFile = Name der Datei die geladen werden soll
// sFileString = VAR String - Datei als 8Bit String
function LoadStringFromFile(sInFile: String; var sFileString: AnsiString): Boolean;
var
FileStream: TFileStream;
begin
Result := False;
if not FileExists(sInFile) then Exit;
FileStream := TFileStream.Create(sInFile, fmOpenRead);
try
if FileStream.Size <> 0 then begin
SetLength(sFileString, FileStream.Size);
FileStream.Read(sFileString[1], FileStream.Size);
Result := True;
end;
finally FileStream.Free end;
end;
// Speichert den 8 Bit String als Datei
// sOutFile = Name der Datei unter dem gespeichert werden soll
// sFileString = 8 Bit String
function SaveStringToFile(sOutFile: String; sFileString: AnsiString): Boolean;
var
FileStream: TFileStream;
begin
Result := False;
FileStream := TFileStream.Create(sOutFile, fmCreate);
try
if Length(sFileString) <> 0 then begin
FileStream.Write(sFileString[1], Length(sFileString));
Result := True;
end;
finally FileStream.Free end;
end;
Das ist ein Code aus einem Programm von 2002, ich weiß also nicht ob es heute noch funktioniert.
Wie speicherst du dein Byte? Ganz einfach - erstelle ein AnsiString (AnsiStrings = 8 Bit; String = je nach dem). Das ist dann eine Kette von 8 Bit Bytes, auch wenn es sich String nennt.
Delphi-Quellcode:
var
s: AnsiString;
begin
s := s + #32 + #127 + #255;
//oder
s := s + Chr(32) + Chr(127) + Chr(255);