![]() |
Textdatei in Liste lesen und per idHTTP senden
Hi, ich bins mal wieder, der Anfänger.
Ich möchte eine Textdatei in eine TListView oder Box oder sonst was einlesen ( 2 Spalten).. Txt: monitor1:marke1 monitor2:marke2 monitor3:marke3 etc.. also in der Liste soll dann die erste Spalte "monitor" und die zweite Spalte "marke" sein.. also er soll was vor dem : steht -> spalte1 und nach : spalte2 geben. und dann mit einer Schleife per idHTTP diese 2 werte, also monitor1 und marke1 senden ( warum jetzt genau is glaub ich nicht wichtig ). Meine Fragen: Wie stell ich es am besten an dass er vor : und nach : importiert? Und wie könnte ich dann die Liste am besten mit einer Schleife durchgehen? Bin dankbar für jede Hilfe. greetz gene |
Re: Textdatei in Liste lesen und per idHTTP senden
Moin Gene,
kennst du die Komponente ValueListEditor?
Delphi-Quellcode:
Kannst du deine Delphi-Version in deinem DP-Profil nachtragen?
procedure CopyNamedValues(sFrom, sTo: TStrings);
var i: Integer; begin sTo.BeginUpdate; try sTo.Clear; for i := 0 to Pred(sFrom.Count) do sTo.Values[sFrom.Names[i]] := sFrom.ValueFromIndex[i]; finally sTo.EndUpdate; end; end; procedure TDemoForm.FormCreate(Sender: TObject); var s: TStrings; begin s := TStringList.Create; s.NameValueSeparator := ':'; s.LoadFromFile('test.txt'); CopyNamedValues(s, ValueListEditor.Strings); s.Free; end; Grüße vom marabu |
Re: Textdatei in Liste lesen und per idHTTP senden
Moin, Moin.
Die Zeile
Delphi-Quellcode:
irritiert mich jetzt etwas, marabu. Ich lebe in dem Glauben, dass bei dieser Parametereingabe innerhalb der Procedur mit einer lokalen Kopie von sTo gearbeitet wird; dass also, um sTo ausserhalb nutzen zu können, TStrings als var-Parameter mit
procedure CopyNamedValues(sFrom, sTo: TStrings);
Delphi-Quellcode:
übergeben werden müsste?! Habe ich da ein falsches Weltbild, oder ist das ein Tippfehler?
procedure CopyNamedValues(sFrom:TStrings;var sTo: TStrings);
|
Re: Textdatei in Liste lesen und per idHTTP senden
Objektreferenzen muss man nicht explizit als Var-Parameter übergeben, da es sich intern bereits um Zeiger handelt.
|
Re: Textdatei in Liste lesen und per idHTTP senden
Oh, vielen Dank, dann habe ich ja in vielen Fällen unnötig viel getippt :|
|
Re: Textdatei in Liste lesen und per idHTTP senden
Vielen Danke marabu, du hast mich sehr viel weitergebracht.
Ich gebe ja wie oben beschrieben per IdHTTP die Daten weiter... also idHTTP1.GET('http://genecrew.org?monitor=' +monitor1+ '&marke=' +marke1); Das war jetzt ein Beispiel. Wie könnte ich die Schleife laufen lassen dass sie immer Schlüssel1 & Wert1 aus der ValueListEdit synchron weitergibt, also Mon1+Mark1 etc. und nicht Mon1+Mark3 zum Beispiel? ps: hab jetzt meine Delphiversion im Profil eingetragen. edit:// Ich hab jetzt etawas rumprobiert, mein Problem ist dass ich nicht weis wie ich das Maximum der Rows ermittle. |
Re: Textdatei in Liste lesen und per idHTTP senden
Moin,
vielleicht bringen dich diese Code-Zeilen noch etwas weiter:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.ButtonClick(Sender: TObject);
const FMT_URL = 'http://genecrew.org?monitor=%s&marke=%s'; var i: Integer; sHtml, sKey, sValue, url: string; begin with ValueListEditor do for i := 1 to Pred(RowCount) do begin sKey := {IdURI.}TIdURI.ParamsEncode(Keys[i]); sValue := TIdURI.ParamsEncode(Values[sKey]); url := Format(FMT_URL, [sKey, sValue]); // sHtml := HTTP.Get(url); end; end; |
Re: Textdatei in Liste lesen und per idHTTP senden
Danke marabu, nach 4 stunde hin und her hab ichs geschafft :D
Bist ein Held! greetz geNe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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-2025 by Thomas Breitkreuz