![]() |
idTelnet
Hallo Community,
sitze jetzt ca schon 1 Stunde vor Google und finde irgendwie keine brauchbaren Ergebnisse. Ich würde gerne eine kleine VCL Anwendung basteln, welche sich per Telnet auf einen Server verbindet und alle Events die dort passieren in ein Memo protokolliert. Hintergrund: Der Server liefert XML Results welche ich dann grafisch gerne etwas aufbereiten will. Connect ist klar:
Delphi-Quellcode:
Auch habe ich schon festgestellt, das ich auf jeden Fall das onDataAvailable Event brauche:
try
IdTelnet1.Host := edit1.Text; IdTelnet1.Port := StrToInt(edit2.Text); Form1.IdTelnet1.Connect; except on E: Exception do Memo1.Lines.Add(E.Message); end;
Delphi-Quellcode:
Wie realisiere ich jetzt die DataAvailable Sache? Ich nutze Delpih XE Architect.
procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: String);
Danke und LG |
AW: idTelnet
Das soll stimmen?
XE Enterprise meint es wäre
Delphi-Quellcode:
.
procedure IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: TArray<Byte>);
Wenn du weißt, daß es eine XML ist, dann kannst du das vermutlich in einen Stream kopieren und z.B. via XML.LoadFromStream laden, oder du kopierst das via TEncoding in einen String und lädst/verarbeitst Diesen. Wenn die XML nicht als ein Datenpacket ankommt, dann wird man wohl ein paar Packete sammeln und erst am Ende zusammengesetzt auswerten müssen. :gruebel: |
AW: idTelnet
himitsu: Danke für deine Antwort!
Laut Embarcadero gibt es hier einen known Bug. Beim hinzufügen des Events wird ein Error verursacht, deswegen habe ich es auf "String" geändert. Bzgl. XML das ist mir klar. Die Frage ist nur wie das Result überhaupt bekomme. Ich würde mir das Result gerne in eine STringlist kopieren welche ich dann parse etc.... Weiss aber nicht wie ich die Daten empfangen kann. LG |
AW: idTelnet
Zitat:
Wenn du im Event den Typen änderts, dann müsstest du auch beim "Aufrufer" dieses Events den richtigen Typen übergeben. Als es vorhin bei mit knallte, da hab ich einfach nur aus dem
Delphi-Quellcode:
ein
TArray<Syste.Byte>
Delphi-Quellcode:
gemacht, was ja am Typen nix ändert.
TArray<Byte>
Was denn für einen Bug? (hatte erst gedacht, der Klassenvervollständiger kommt eventuell nicht mit Generics klar :stupid:) |
AW: idTelnet
Danke himitsu für die Antwort!
Du hast recht! String ist natürlich nicht das richtige gewesen :roll: Danke schon mal dafür. Wie kann ich jetzt ein komplettes result in ein stringlist schreiben damit ich dieses dann parsen kann? Die Beispiele im Netzt haben mich leider nicht weiter gebracht, abgesehen davon das ich nicht viel gefunden habe :/ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 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