Hi, ich versuche hier mal, um es zu verstehen, eine iniDatei in ein Filestream zu packen und dann diese ggf. zu ändern und diese wieder zu speichern.
was mir fehlt ist nun, die ini Einträge in nen filestream zu bekommen und diesen filestream dann als datei abzuspeichern.
Ich denke das ich Funktion von FileStream völlig falsch verstehe und somit auch nicht weiterkomme.
Im Sppeicher wird die Datei in Zeilen abgelegt ähnlich einer Stringliste ?
Code:
var
Form1: TForm1;
ini : Tmeminifile;
STL1: TStringList;
FileStream1:tfilestream;
FileStream2:tfilestream;
procedure TForm1.Button1Click(Sender: TObject);
begin
FileStream1 := tfilestream.Create( ExtractFilePath ( application.ExeName ) + '\testdatei.txt' , fmOpenReadWrite);
ini := TMemIniFile.Create( '' );
form1.ListBox1.Items.Insert(0,'data:=TMemIniFile.Create');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
STL1 := TStringList.Create;
try
STL1.LoadFromStream( FileStream1 );
ini.SetStrings( STL1 );
finally
STL1.Free;
end;
form1.ListBox1.Items.Insert(0,'s1.LoadFromStream(str)');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
form1.edit1.text := ini.ReadString('section', 'eintrag1' , 'nix');
form1.ListBox1.Items.Insert(0,'data.ReadString('+' section ' + 'eintrag1 ');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ini.WriteString('section', 'eintrag2' , form1.Edit2.Text );
form1.ListBox1.Items.Insert(0,'data.ReadString('+' section ' + 'eintrag2 ');
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
form1.edit3.text := ini.ReadString('section', 'eintrag2' , 'nix');
form1.ListBox1.Items.Insert(0,'data.ReadString('+' section ' + 'eintrag2 ');
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
STL1 := TStringList.Create;
ini.GetStrings( STL1 );
listbox2.items.assign( STL1 );