Danke für die Hinweise. Die Videos sind leider nicht mehr on.
Das mit vst.savetostream habe ich zuvor schon mal versucht, aber da hatte es einfach nicht geklappt. Jetzt hats geklappt! Falls es mal ein weiterer Anfänger braucht:
Delphi-Quellcode:
//vst + weiteren String in Stream speichern
procedure TForm1.Button8Click(Sender: TObject);
var
zusatzStr: string;
stream: tstream;
len: integer;
begin
savedlg.execute;
if fileexists(savedlg2.FileName) then
if messagedlg('Die Datei existiert bereits. Überschreiben?', mterror, [mbyes, mbno], 0) = mrno then
exit;
stream:= TFileStream.Create(savedlg2.filename, fmCreate);
try
zusatzStr:= edit1.text;
Len := Length(zusatzStr);
Stream.write(Len, SizeOf(Len));
Stream.write(PChar(zusatzStr)^, Len);
vst.SaveToStream(stream);
finally
stream.free;
end;
end;
//vst + weiteren String laden
procedure TForm1.Button9Click(Sender: TObject);
var
zusatzStr: string;
stream: TStream;
len: integer;
begin
if opendlg.execute = false then exit;
if not fileexists(opendlg.FileName) then
begin
messagedlg('Datei nicht gefunden. Vorgang abgebrochen.', mterror, [mbok], 0);
exit;
end;
stream:= TFileStream.Create(opendlg.FileName, fmOpenRead);
try
Stream.read(Len, SizeOf(Len));
SetLength(zusatzStr, Len);
Stream.read(PChar(zusatzStr)^, Len);
edit1.text:= zusatzStr;
vst.LoadFromStream(Stream);
finally
Stream.free;
end;
end;