Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Liste von Winamp Radio Streams (https://www.delphipraxis.net/64042-liste-von-winamp-radio-streams.html)

Chris P 6. Mär 2006 20:31

Re: Liste von Winamp Radio Streams
 
Also jetzt habe ich auch geschafft, die Einträge der Playlist auszulesen mit Hilfe von GetHTML von Delphi-Source.de!

Ich bekomme den kompletten Inhalt der HTML als string zurück!

Wie kann man nun zum Beispiel File1, Title1 usw. gezielt auslesen?

Chris P 9. Mär 2006 17:42

Re: Liste von Winamp Radio Streams
 
Hi,

also ich habe jetzt erstmal die Anzahl der Einträge ausgelesen:
Delphi-Quellcode:

t := GetHTML(S);
p1 := pos('=', t);
temp := Copy(t, p1+1, length(t)) ;
p2 := pos(#10, Temp);
temp := Copy(temp, 1, p2-1);
a := strtoint(temp);
Bemerkung: Die einzelnen Einträge sind immer mit dem Zeichen #10 getrennt!

Ich bekomme somit die Zahl 4 zurück.
Nun kann ich nach den 4 Einträgen suchen.
Mich interessieren nur File und Title:
Delphi-Quellcode:
 for i := 1 to a do
       begin
            temp := t;
            str := Format('File%d=',[i]);
            p1 := Pos(Str,temp);
            temp := Copy(temp, p1 + Length(str), length(temp));
            p2 := pos(#10,temp);

            temp := Copy(temp,1,p2-1);
            Memo1.Lines.add(Format('Stream%d %s', [i, temp]));
            temp := t;
            str := Format('Title%d=',[i]);
            p1 := Pos(Str,temp);
            temp := Copy(temp, p1 + Length(str), length(temp));
            p2 := pos(#10,temp);
            temp := Copy(temp,1,p2-1);
            Memo1.Lines.add(Format('Title%d %s', [i, temp]));

       end;
Das klappt alles gut! Jetzt wollte ich nur mal wissen, ob man das ganze noch besser
machen kann? Vielleicht hat ja jemand einen Vorschlag?

Wishmaster 10. Mär 2006 00:45

Re: Liste von Winamp Radio Streams
 
Hi

Sorry das ich nicht auf deine Letzte PN geantwortet habe, ich hatte kaum zeit. Aber wie ich sehe has du es selbst geschafft. Das (p1, p2) kannst du eigentlich weglassen. Ich habe deinen Code einwenig umgeschrieben. Das Ergebnis wird in eine Stringlist geschrieben siehe meine PlayListClass.

Du solltest dir feileicht en TThread erstellen. Ich meine wegen der Auslastung

Delphi-Quellcode:
Procedure TPlaylist.ParseWebPLS(wPLS : String);
var i, a : integer;
    temp, t : String;
    str : string;
begin
    FileList.Clear;
    t := GetHTML(wPLS);
  try
    temp := Copy(t, pos('=', t) + 1, length(t)) ;
    temp := Copy(temp, 1, pos(#10, Temp)-1);
    a := strtoint(temp);
  finally
   for i := 1 to a do
    begin
     {Get Server/FileName}
       temp := t;
       str := Format('File%d=', [i]);
       temp := Copy(temp, Pos(Str, temp) + Length(str), length(temp));
       FileList.Add(Copy(temp, 1, pos(#10, temp)-1));

     {Get Title}
       temp := t;
       str := Format('Title%d=', [i]);
       temp := Copy(temp, Pos(Str, temp) + Length(str), length(temp));
       FileTitle.Add(Copy(temp, 1, pos(#10, temp)-1));
     end;
  end;
end;
Delphi-Quellcode:
   Playlist.ParseWebPLS(‘URL’);

  for I := 0 to Playlist.Count - 1 do
  begin
    Memo1.Lines.Add(Playlist.GetFileName(i));
    Memo1.Lines.Add(Playlist.GetText(i))
  end;

Chris P 10. Mär 2006 08:54

Re: Liste von Winamp Radio Streams
 
Hi,

@Wishmaster: Funktioniert hervoragend! :hello:

Mit dem TThread werde ich mal in Angriff nehmen, aber jetzt bin ich
erstmal mit der Lösung vollstens zufrieden...

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.
Seite 2 von 2     12   

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