Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Über HTTP etwas empfangen (https://www.delphipraxis.net/26080-ueber-http-etwas-empfangen.html)

hummer 17. Jul 2004 19:07


Über HTTP etwas empfangen
 
Hallo!
So jetzt gibt es auch Befehle wie
Code:
http://192.168.0.200/apigetstatus.asp
die etwas zurückliefern. Das möchte ich jetzt gerne empfangen und in einer Listbox ausgeben. Ich weiß nicht was für Dateien da ankommen. Wenn ich den Befehl in einem Browser ausführe zeigt er mir das an:
Code:
[Status]
CurrTime=2765026
PlayQUpdateTime=2749190
CurrVolume=-17
STOP_LED=0
PLAY_LED=1
PAUSE_LED=0
RANDOM_LED=0
GROUP_LED=0
MUTE_LED=0
REPEAT_LED=0
State=   Playing
QueueLen=1
CurrIndex=0
CurrPlayTime=2005
TotalTime=0
Title=
Artist=radioioJAZZ
Genre=Jazz & Blues
Source=URL
SourceID=http://radioio.sc.llnwd.net:8090/listen.pls
NextIndex=0
NextTitle=None Available, Not active
NextArtist=radioioJAZZ
NextGenre=Jazz & Blues
NextSource=URL
NextSourceID=http://radioio.sc.llnwd.net:8090/listen.pls
[End Status]
Genau das möchte ich jetzt empfangen und in einer Listbox ausgeben. In meiner Anleitung steht:
Code:
This is raw text and not html formatted
Vielen Dank schonmal.

Ultimator 17. Jul 2004 19:10

Re: Über HTTP etwas empfangen
 
Um welche Anleitung handelt es sich bei dir?
Du könntest es mit den Indys probieren:
Delphi-Quellcode:
Memo1.Text:=IdHTTP1.Get('http://192.168.0.200/apigetstatus.asp');

hummer 17. Jul 2004 19:13

Re: Über HTTP etwas empfangen
 
Werd ich mal probieren. Ich habe einen Netzwerk MP3 Spieler für meine Stereoanlage und der hat eine eigene API. Und mit der will ich ein Programm schreiben mit dem ich den MP3 Spieler von einem PC aus steuern kann.

hummer 17. Jul 2004 19:20

Re: Über HTTP etwas empfangen
 
Danke dass geht schonmal. Nur die Zeilenumbrüche werden natürlich nicht angezeigt.

Gibt es vielleicht ne Möglichkeit, dass direkt in eine Variable zu speichern, sodass man das hinterher zeilenweise auslesen kann?

S2B 17. Jul 2004 19:21

Re: Über HTTP etwas empfangen
 
Tu es doch in ne StringList und dann eine Zeile nach der anderen durchsuchen! :wink:

Edit: Dann kannst das ganze aber auch gleich im Memo machen! :mrgreen:

hummer 17. Jul 2004 19:59

Re: Über HTTP etwas empfangen
 
Wie kann ich das denn in eine Stringliste schreiben? Memo ist ungünstig weil ich es nicht so ausgeben will. Das war nur erstmal um zu probieren wie ich die Dateien empfangen kann.

Ultimator 17. Jul 2004 20:05

Re: Über HTTP etwas empfangen
 
Delphi-Quellcode:
StringList1.Lines.Loadfromfile(IdHTTP1.Get('http://192.168.0.200/apigetstatus.asp'));
Könnte das so gehen? (Habs nicht getestet)

Wenn nicht, dann auf jeden Fall denk ich so:
Delphi-Quellcode:
Memo1.Text:=IdHTTP1.Get('http://192.168.0.200/apigetstatus.asp'));
Memo1.Lines.SaveToFile('Da.tei');
StringList1.Lines.LoadfromFile('Da.tei');
Du kannst ja das Memo auf Visible:=false stellen und nach dem Schließen des Programms die Datei Da.tei wieder löschen-

Die Muhkuh 17. Jul 2004 20:46

Re: Über HTTP etwas empfangen
 
oder:

Delphi-Quellcode:
var
  S : String;
  SL : TStringList;
begin
  S := IdHTTP1.Get('http://192.168.0.200/apigetstatus.asp');
  SL := TStringList.Create;
  try
    SL.Add(S);
  finally
    SL.Free;
  end;
end;

Calimero 18. Jul 2004 10:31

Re: Über HTTP etwas empfangen
 
Mach es doch lieber mit der Indy TCP Client / Server Komponente. :-)

SirThornberry 18. Jul 2004 11:06

Re: Über HTTP etwas empfangen
 
wenn du das ganze in eine Datei speicher willst dann geht das so
Delphi-Quellcode:
var LStream: TStream;
begin
  LStream := TFileStream.Create('Da.tei', fmCreate);
  idhttp1.Get('http://192.168.0.200/apigetstatus.asp', LStream);
  LStream.Free;
ansonsten liefert der idhttp1.Get die Webseite in einem String oder Stream zurück je nachdem welche Methode du verwendest.

Delphi-Quellcode:
var LSeite: String;
begin
  LSeite := idhttp1.Get(''http://192.168.0.200/apigetstatus.asp');
  //jetzt ist das was du sonst im Browser siehst in der varialben "LSeite" und den Inhalt musst du jetzt je nach dem was du vor hast parsen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Seite 1 von 2  1 2      

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