Kleiner schneller Test:
Delphi-Quellcode:
function LoadStringFromFile(sInFile: String; var sFileString: String): 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;
function SaveStringToFile(sOutFile: String; sFileString: String): 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;
procedure TForm1.Button1Click(Sender: TObject);
var
Path: String;
Bitmap: String;
begin
Path := ExtractFilePath(ParamStr(0)) + 'Cover.bmp';
LoadStringFromFile(Path, Bitmap);
Bitmap := Bitmap + 'Hallo Welt';
SaveStringToFile(Path, Bitmap);
Image1.Picture.Bitmap.LoadFromFile(Path);
end;
Ja, es klappt. Zumindest gibt es keine Fehlermeldungen. Allerdings weiß ich immer noch nicht ob zufällig oder auch sonst nicht. Anscheinend endet jede Bitmap mit einer Null. Ob das wichtig ist?