AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen
Thema durchsuchen
Ansicht
Themen-Optionen

Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen

Ein Thema von frieder2008 · begonnen am 24. Jun 2011 · letzter Beitrag vom 24. Jun 2011
Antwort Antwort
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#1

Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen

  Alt 24. Jun 2011, 09:33
Morgen zusammen,

habe folgendes Problem, bei dem ich nicht weiterkomme: Ich speichere via vst.savetofile und vst.savenode/loadnode erfolgreich die Daten eines VirtualStringTrees. Neben den vst-Daten möchte ich aber noch 2 weitere Strings idealiter in die gleiche Datei speichern. Ich vermute, dass das irgendwie via Streams funktionieren könnte, aber ich habe keine Ahnung, wie... Hat jemand einen Ansatz für mich?

Danke und schöne Grüße,
frieder
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen

  Alt 24. Jun 2011, 09:46
In den Stammtisch Videos bzw. in deren Demos hab ich das Streaming gezeigt.
http://www.delphipraxis.net/104739-s...tml#post712774

Videos:
http://www.delphipraxis.net/152972-s...ch-videos.html
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen

  Alt 24. Jun 2011, 09:50
Ich habe den Link jetzt nicht angeschaut, aber eigentlich ist es einfach:
Du kannst einfach einen FileStream selbst erstellen und vst.SaveToStream benutzen. Vor den VST-Daten solltest du die eigenen speichern und beim Laden auch wieder auslesen. Da dann die Position nach diesen Daten steht, werden die VST-Daten einfach normal ab dieser Position gelesen und geschrieben.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#4

AW: Eine über vst.savetofile gespeicherte Datei mit weiteren Infos ergänzen

  Alt 24. Jun 2011, 10:38
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz