Hi Svenkan,
der Hauptunterschied ist TMemIniFile.
nach langem rumbrobieren: (Bei mir klappst, ist aber wahrscheinlich nicht sehr elegant!)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
VAR
version, prog:string;
ini:TMemIniFile; //TMemIniFile kann aus Strings lesen
t,t2:TStrings;
i,u:string;
begin
try
i:= IdHTTP1.Get('htpp://google.de/user.ini'); //Ini holen
ini:= TMemIniFile.Create(''); //freilassen, wegen SetString von MemIniFile!!
t:=TStringList.Create; //Stringlist erzeugen
t2:=TStringList.Create; //Stringlist 2 erzeugen
Toini('[User]', i, t2); //String i aufsplitten und die einzelnen Zuweisungen als
//einzelne Strings in die Stringlist t einfügen
t.AddStrings(t2); //t2 in t einfügen (keine Ahnung mehr wiso)
ini.SetStrings(t); //MemIniFile, Ini von Stringlist lesen
version:=ini.ReadString('prog','version','no'); //
finally
ini.Free;
t.Free;
t2.Free;
end;
end;
procedure TForm1.ToIni(h:string; i:string; var t2:TStrings); //totales Chaos, aber es funktioniert! Der String wird so bearbeitet,
Var //dass die einzelnen Zuweisungen zu Strings werden und in einer
t3:Tstrings; //Stringlist Zusammengeführt
z:integer;
begin
t3:=TStringList.Create;
i:=StringReplace(i, ''#$D#$A'', ', ', [rfReplaceAll, rfIgnoreCase]);
i:=StringReplace(i, h + ', ', '', [rfReplaceAll, rfIgnoreCase]);
t3.CommaText:=i;
t2.Add(h);
for z := 0 to t3.Count-1 do
begin
t2.Add(t3.Names[z] + '=' + t3.ValueFromIndex[z]);
end;
end;
Hoffe dir damit geholfen zu haben
Wie gesagt, das ist totales Chaos!!
geofranz01