![]() |
Ohne Zwischenspeicherung Ini-Datei downloaden und einlesen
Hallo,
bin gerade dabei, eine Update-Unit für mein Programm zu schreiben. Um die verügbaren Updates anzuzeigen, möchte ich eine Ini-Datei von meinem Server downloaden und den Inhalt einlesen. Download geschieht durch IdHTTP in Verbindung mit einem Filestream. Wenn alles gut geht, habe ich die Datei im Filestream. Wie kann ich jetzt über Inifiles die Datei öffnen, ohne sie erst mit dem FileStream auf der Festplatte des Clients speichern zu müssen? Geht das überhaupt? Danke! |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Gibts da nicht ein TMemIni-Klasse (oder so ähnlich) :gruebel:
|
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
TMemIniFile ;)
|
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Ja, die gibt's. Aber mit Streams kann die auch nicht so recht.
Ich würde eine TStringList nehmen (Methode "LoadfromStream") und dann flugs selber parsen. |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
.. ja, TMemIniFile.SetStrings
Zitat:
Grüße Klaus |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Das ist ja Klasse! Kannte ich noch garnicht.
Die Benutzung ist - nehme ich mal an - genauso, wie bei der "richtigen" Ini-Klasse! Dankeschön! [EDIT]Hm... ich will ja auch nur lesen. Nicht in die Ini-Schreiben. Die Daten sollen mir nur die Updates anzeigen[/EDIT] |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Zitat:
|
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Ich kann die Ini-Datei jetzt downloaden, aber ich bekomme einen weiteren Eintrag, der garnicht in der Ini steht. Die Ini hat nur einen Eintrag, angezeigt bekomme ich 2. Der letzte besteht aus irgendwelchen Hieroglyphen...
Delphi-Quellcode:
Ist der Code falsch?
Updates:=TStringList.Create;
try Updates.Text:=www.Get('http://server/updates.ini'); finally [url]www.free;[/url] end; ini:=TMemIniFile.Create(''); ini.SetStrings(Updates); Updates.Clear; ini.ReadSections(Updates); |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Guten Abend,
ich habe das mal kurz getestet, ohne TMemIni - weil da sieht man ja nichts.
Delphi-Quellcode:
Das oben beschriebene klappt bei mir, ohne irgendwelchen merkwürdigen Zeichen.
procedure TForm1.Button1Click(Sender: TObject);
var MemStream :TMemoryStream; begin MemStream := TMemoryStream.Create; idhttp1.Get('http://...../test.ini',MemStream); MemStream.Position:=0; Memo1.Lines.LoadFromStream(MemStream); MemStream.free; end; Grüße Klaus |
Re: Ohne Zwischenspeicherung Ini-Datei downloaden und einles
Jap, ich war nur blöd... :wall:
Der Wert kam aus einem Array-Eintrag den es irgendwie nicht gegeben hat. Ein -1 hat geholfen! Sorry! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz