Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Perl in Delphi übersetzen (https://www.delphipraxis.net/159843-perl-delphi-uebersetzen.html)

Tobiax 15. Apr 2011 08:04

Delphi-Version: 5

Perl in Delphi übersetzen
 
Hallo und zwar bin dabei ein TS3 Telnet tool zu Programmieren. Nun hab ich zwar schon eine Lösung fürs rausfiltern gefunden aber die nicht optimal ist. Nun hab ich mir mal ein script eines anderen tools angeschaut. Nun komme ich nicht damit klar das ganze in Delphi zu übersetzten es geht um TCP Indy.

Code:
ret = self.telnet.read_until('\n', 20.0).strip()
      if ret == 'error id=0 msg=ok':
Soweit komme ich:
Delphi-Quellcode:
send = TCP.IOHandler.ReadLn();
 if send = 'error id=0 msg=ok' then
  //befehl
 else
  //befehl
end;

Phoenix 15. Apr 2011 08:37

AW: Perl in Delphi übersetzen
 
Und was ist jetzt Deine Frage?
Mehr steht da auch nicht.

Tobiax 15. Apr 2011 08:40

AW: Perl in Delphi übersetzen
 
.read_until('\n', 20.0).strip() das hier :9

mfg Tobias

ChrisE 15. Apr 2011 08:48

AW: Perl in Delphi übersetzen
 
Hallo,

ich verstehe jetzt allerdings nicht ganz, wo Deine Frage ist.

Ich kann nur etwas "Manöverkritik" abgeben:
  • Die Variable send sollte wohl besser als reveive bezeichnet werden
  • Stringvergleiche sind schwierig, da du auf exakte Gleichheit prüfst. Besser wäre hier etwas wie z.B. Delphi-Referenz durchsuchenCompareText (vergleich ohne Groß/Kleinschreibung)
  • ich würde da in den then / else - Bereich jeweils noch begin / end einfügen. Aber das ist geschmackssache ;-)

Gruß, Chris

[RoteBox]
Kurze Vermutung:
read_until('\n', 20.0) ist wohl lese bis ein '\n' kommt (#13) oder bis 20.0 Sekunden vorbei sind?
.strip dürfte sowas wie
Delphi-Quellcode:
myString := trim(<mystring>)
sein
[/RoteBox]

Phoenix 15. Apr 2011 08:48

AW: Perl in Delphi übersetzen
 
Das heisst nur, bis zum \n (also newline) zu lesen. Das hast Du mit ReadLn() schon drin. Die 20 sind der Timeout, die müsstest Du woanders in den Properties setzen, und das .strip ist ein Trim, den du um den empfangenen String setzen müsstest.

Tobiax 15. Apr 2011 08:50

AW: Perl in Delphi übersetzen
 
Danke ich wollte nur wissen was .strip heißt also trim ok.

mfg Tobias

ChrisE 15. Apr 2011 08:52

AW: Perl in Delphi übersetzen
 
Hallo Tobias,

warum sagst du das dann bitte nicht gleich :-)

Das nächste mal bitte die Frage besser formulieren :-)

Gruß, Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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