AGB  ·  Datenschutz  ·  Impressum  







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

Wie am besten String aufteilen?

Ein Thema von Dash · begonnen am 11. Dez 2005 · letzter Beitrag vom 11. Dez 2005
Antwort Antwort
Dash
(Gast)

n/a Beiträge
 
#1

Wie am besten String aufteilen?

  Alt 11. Dez 2005, 15:28
Hallo,

ich habe vor einen kleinen Usenet Clienten zu schreiben. Für die Suche wird eine PHP Datei verwendet, welche bei der Suche mit idHTTP aufgerufen wird. Die Ausgabe der PHP Datei sieht dann so aus: http://www.yashare.de/spider/query.php?s=aaa

Es wird nach dem gesucht, was hinter =s steht... nun habe ich keine Ahnung wie ich das ganze nun aufteilen soll in:

Nachricht - Gruppe - Größe

Ich habe auch schon die Suche benutzt, aber nichts gefunden was mich weiterbringt.
Hoffe jemand weiß weiter

Grüße,
Dash
  Mit Zitat antworten Zitat
marabu

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

Re: Wie am besten String aufteilen?

  Alt 11. Dez 2005, 15:46
Hi Dash,

dein URL liefert tab delimited text - den kannst du relativ einfach mit einer TStringList verarbeiten. Ein wenig Code für dich:

Delphi-Quellcode:
procedure TDemoForm.DownloadButtonClick(Sender: TObject);
var
  ms: TMemoryStream;
  url: string;
  slLines, slFields: TStringList;
  i: integer;
begin
  url := 'http://www.yashare.de/spider/query.php?s=aaa';
  ms := TMemoryStream.Create;
  HTTP.Get(url, ms);
  slLines := TStringList.Create;
  slFields := TStringList.Create;
  ms.Position := 0;
  slLines.LoadFromStream(ms);
  ms.Free;

  slFields := TStringList.Create;
  slFields.Delimiter := #9;
  if slLines.Count > 0 then
  begin
    slFields.DelimitedText := slLines[0];
    ShowMessage(slFields.Text);
  end;
  slLines.Free;
  slFields.Free;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Dash
(Gast)

n/a Beiträge
 
#3

Re: Wie am besten String aufteilen?

  Alt 11. Dez 2005, 16:12
Hallo,

danke erstmal für die schnelle Hilfe umd dem Code Jetzt habe ich das Problem, dass die Ergebnisse in einer ListView sollen... ich weiß echt net wie ich die Ergebnisse wieder aufteilen soll


Grüße,
Dash
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie am besten String aufteilen?

  Alt 11. Dez 2005, 17:47
Delphi-Quellcode:
procedure StuffintoLV(LV:TListView; sts: TStrings; SPerE: integer;separator: string);
var numEntries, i:integer;
    s:string;
begin
numEntries := sts.count div SPerE;

for i := 0 to numEntries -1 do
 begin
  s := sts[i*SPerE]+separator+sts[i*SPerE+1]+separator+sts[i*SPerE+2]
  LV.add(s);
 end;

end;
noch fragen? in sts sollte das ganze gebrabbel stehen, und zwar in Blöcken von SPerE.
(also Name1-xxx1-yyy1-name2-xxx2-yyy2)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
marabu

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

Re: Wie am besten String aufteilen?

  Alt 11. Dez 2005, 18:38
Hallo Dash,

die einzelnen Felder eines Datensatzes stehen dir in meinem Code in slFields zur Verfügung. Wenn du eine virtuelle ListView verwendest, dann kannst du so auf die Felder zugreifen:

Delphi-Quellcode:
procedure TMainForm.ListViewData(Sender: TObject; Item: TListItem);
var
  i: integer;
begin
  // slFields.Delimiter ist #9 - nicht vergessen
  slFields.DelimitedText := slLines[Item.Index];
  Item.Caption := Format('%.0n', [1.0 * Item.Index]);
  for i := 0 to Pred(slFields.Count) do
    Item.SubItems.Add(slFields[i]);
end;
Wie das mit der virtuellen ListView funktioniert, das kannst du dir in einem anderen thread ansehen: klick

Grüße vom marabu


Edit: Habe die zitierte Demo um eine Download-Action erweitert, die deinen tab delimited text verarbeiten kann. Nicht anschauen, wenn du es selbst versuchen willst.
Angehängte Dateien
Dateityp: zip lv-demo2_450.zip (4,6 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:36 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