![]() |
Re: Parse Funktion?
Nein marabu, ich habe die Zeilen nicht eleminiert.
So stehts in meinem Code
Delphi-Quellcode:
Dan rufe ich ueber einen Button.click die Function auf.
function TForm1.CreateStrings(s: string): TStrings;
var name, value: string; i: integer; begin Result := TStringList.Create; Result.NameValueSeparator := ':'; Result.Text := s; for i := 0 to Pred(Result.Count) do begin name := Trim(Result.Names[i]); value := Trim(Result.Values[name]); Result[i] := name + Result.NameValueSeparator + value; end; end;
Delphi-Quellcode:
Oder muss der code irgendwo anders stehen? ListviewData?
For Counter := 0 to SimpleRSS.Items.Count-1 do
Begin z := CreateStrings(SimpleRSS.Items.Items[Counter].Description); <----- |
Re: Parse Funktion?
So ist es - weil du mit einer virtuellen ListView arbeitest, musst du die Spaltenwerte im OnData-Ereignis der ListView übergeben.
Delphi-Quellcode:
Sobald du SimpleRSS geladen hast, musst du ListView1.Items.Count auf SimpleRSS.Items.Count setzen.
procedure TDemoForm.ListView1Data(Sender: TObject; Item: TListItem);
var i: integer; begin i := Item.Index; z := CreateStrings(SimpleRSS.Items[i].Description); lstbxheadlines.Items.Add(inttostr(i) + '-' + SimpleRSS.Items.Items[i].Title); // Neues Item erzeugen listitem := listview1.Items.add; // Caption des Items setzen: listitem.Caption := IntToStr(Succ(i)); listitem.SubItems.add(SimpleRSS.Items[i].Title); listitem.SubItems.add(z.Values['Category']); // ... z.Free; end; marabu |
Re: Parse Funktion?
Zitat:
Habe den Code in ListVIew1Data eingefuegt. |
Re: Parse Funktion?
Moin Lucius,
bei einer virtuellen ListView ist das so, dass nur der item count direkt manipuliert wird - alles andere fragt die ListView selbst über ihre event handler ab. Nachdem die Komponente SimpleRSS den Feed geladen hat, musst du noch eine Zeile einfügen:
Delphi-Quellcode:
Danach fragt die ListView über das Ereignis OnData() bei dir an, welche Daten sie für ein bestimmtes Item annehmen soll. Die einzige verlässliche Eigenschaft des Item ist zu diesem Zeitpunkt Index und über diesen Index musst du die richtigen Daten in SimpleRSS finden und an das Item übergeben.
...
ListView.Items.Count := SimpleRSS.Items.Count; ... Grüße vom marabu |
Re: Parse Funktion?
folgendes übernimmt TListview und ist falsch und muss raus:
Delphi-Quellcode:
und dann: (Item: jenes welches benutzen, dass Dir die Procedure selber übergibt)
// Neues Item erzeugen
listitem := listview1.Items.add;
Delphi-Quellcode:
// Caption des Items setzen:
item.Caption := IntToStr(Succ(i)); item.SubItems.add(SimpleRSS.Items[i].Title); item.SubItems.add(z.Values['Category']); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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