Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Mini NetCat in Delphi (https://www.delphipraxis.net/65307-mini-netcat-delphi.html)

chs 14. Mär 2006 23:58


Mini NetCat in Delphi
 
Was will ich ?

Mit einem Batchfile, das etwas so aussieht:

Delphi-Quellcode:
echo txt2osd -d 6000 -x -1 Anruf auf %1 von %2 %3 | C:\Install\ISDN\NetCat\nc 192.168.2.5 10102
Kann ich von einem Windows PC einer Siemens Box (M740AV), die unter Linux läuft eine Information auf den TV-Bildschirm schicken. Es geht um eingehende Telefonanrufe - nebensächlich.

Problem ist nur, dass mein Telefonprogramm (PowerISDNMonitor) nur Windowsprogramme - also keine Batchfiles aufrufen kann.

Es gibt also zwei Lösungsansätze:

1) Ein mini Delphi-Programm, dass mit mehreren Übergabeparametern aufgerufen werden kannn (Kein Dialog) und diese dann an ein Batchfile durchreicht
z.B. DelphiProg.exe %1 %2 %3 startet Losgehts.bat %1 %2 %3
Klingt super einfach, aber mein Delphi ist so sehr eingerostet, dass ich wie der Esel vor dem Berg stehe und es nicht raffe.

2) Ein mini Delphi-Programm, dass mi mehreren Übergabeparametern aufgerufen werden kannn (Kein Dialog) und gleich die Kommunikation mit einer IP Adresse durchführt, wie das im o.g. Beispiel NetCat tut. Dann spar ich mir sowohl NetCat als auch das BatchFile.
Klingt erstmal nicht so schwer. Ich habe nur keine Ahnung, was da NetCat eigentlich tut...

Jemand eine Idee oder besser noch ein Beispiel das ich adaptieren kann ?

Danke für euer Feedback.

Klaus01 15. Mär 2006 07:07

Re: Mini NetCat in Delphi
 
mehrere Parameter an ein Programm übergeben -> ParamStr, siehe OnlineHilfe
externes Programm starten -> shellexec, siehe OnlineHilfe

Die Parameter, die Du dem Programm übergeben hast, kannst Du nach Shellexecute durchreichen.

Aber ich verstehe den ganzen Sinn nicht so richtig.
Warum ein Programm, das ein Batchfile startet und diesem Parameter übergibt,
dann kann man doch gleich das Batchfile mit den entsprechenden Parametern starten.
Laut Deiner Beschreibung tut das Programm nichts mit den Parametern ausser durchreichen.

Wenn das ganze Netzweit funktionieren soll, dann solltest Du dich ein wenig
mit Client/Server Programmierung beschäftigen.

Grüße
Klaus

chs 15. Mär 2006 08:27

Re: Mini NetCat in Delphi
 
Natürlich ist das Eulen nach Athen tragen, aber mein Problem ist ja, wie geschrieben Folgendes:

Zitat:

Problem ist nur, dass mein Telefonprogramm (PowerISDNMonitor) nur Windowsprogramme - also keine Batchfiles aufrufen kann.
Wenn das ginge, hätte ich kein Problem. Also muss ich irgendein Windowsprogrämmchen vorschalten.
Mir ist egal in welcher Sprache, nur es muss die Parameter an das Batchfile durchreichen.
Das wäre eine Lösung.

Dann hab ich mir gedacht einen TCP/IP String wie NC an eine feste IP Adresse zu schicken, gibt es vielleicht experimentel auch schon. Dann würde ich das eine mit dem anderen verbinden.

Flocke 15. Mär 2006 08:56

Re: Mini NetCat in Delphi
 
Wenn das Programm cmd.exe als Windows-Programm akzeptiert, dann kannst du die Batch-Datei mit
Code:
cmd.exe /C MeinBatchFile.bat
aufrufen.

sh17 15. Mär 2006 09:01

Re: Mini NetCat in Delphi
 
eine anderen Anrufmonitor verwenden. ;-)

ne...

Lass das Batchfile weg und schreib ein (Delphi)-Programm, dass die Methode ShellExecute direkt aufruft.

Delphi-Quellcode:
 
uses ShellAPI;

ShellExecute(self.Handle,'open','echo','txt2osd -d 6000 -x -1 Anruf auf %1 von %2 %3 | C:\Install\ISDN\NetCat\nc 192.168.2.5 10102','',0);
Sollte funktionieren.

Bei cmd.exe /C MeinBatchFile.bat werden wahrscheinlich die Parameter nicht durchgereicht, oder?

sh17 15. Mär 2006 09:03

Re: Mini NetCat in Delphi
 
ok, Parameter werden doch weitergegeben, hab mal in der Hilfe gelesen


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