Einzelnen Beitrag anzeigen

geofranz01

Registriert seit: 17. Jun 2007
72 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Ini-Datei für Versionsprüfung von Server abrufen

  Alt 29. Jul 2007, 17:47
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
Max
  Mit Zitat antworten Zitat