AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Parse Funktion?

Ein Thema von lucius · begonnen am 15. Nov 2005 · letzter Beitrag vom 24. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Parse Funktion?

  Alt 15. Nov 2005, 21:45
Nein marabu, ich habe die Zeilen nicht eleminiert.
So stehts in meinem Code

Delphi-Quellcode:
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;
Dan rufe ich ueber einen Button.click die Function auf.
Delphi-Quellcode:
For Counter := 0 to SimpleRSS.Items.Count-1 do
Begin
  z := CreateStrings(SimpleRSS.Items.Items[Counter].Description); <-----
Oder muss der code irgendwo anders stehen? ListviewData?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Parse Funktion?

  Alt 15. Nov 2005, 22:12
So ist es - weil du mit einer virtuellen ListView arbeitest, musst du die Spaltenwerte im OnData-Ereignis der ListView übergeben.

Delphi-Quellcode:
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;
Sobald du SimpleRSS geladen hast, musst du ListView1.Items.Count auf SimpleRSS.Items.Count setzen.

marabu
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Parse Funktion?

  Alt 15. Nov 2005, 22:35
Zitat:
Sobald du SimpleRSS geladen hast, musst du ListView1.Items.Count auf SimpleRSS.Items.Count setzen.
Uuuuu hab mal kurz nen blackout, was muss jetzt in Button.click rein sodas die ListviewDaten angezeigt werden?
Habe den Code in ListVIew1Data eingefuegt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Parse Funktion?

  Alt 16. Nov 2005, 07:05
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:
...
ListView.Items.Count := SimpleRSS.Items.Count;
...
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.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#15

Re: Parse Funktion?

  Alt 24. Nov 2005, 17:37
folgendes übernimmt TListview und ist falsch und muss raus:

Delphi-Quellcode:
// Neues Item erzeugen
  listitem := listview1.Items.add;
und dann: (Item: jenes welches benutzen, dass Dir die Procedure selber übergibt)

Delphi-Quellcode:
  // Caption des Items setzen:
  item.Caption := IntToStr(Succ(i));
  item.SubItems.add(SimpleRSS.Items[i].Title);
  item.SubItems.add(z.Values['Category']);
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz