Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Programm mit Parameterausgabe erstellen (https://www.delphipraxis.net/173793-programm-mit-parameterausgabe-erstellen.html)

SyntaxXx 16. Mär 2013 13:44

Programm mit Parameterausgabe erstellen
 
Hallo zusammen,
ich möchte eine Konsolenanwendung schreiben, mit dem andere Programme parameter übergeben können und eine Antwort erhalten.

Beispiel:
Extrenes Programm übergibt meinem Programm einen String
Mein Programm verarbeitet den Sting und liefert eine Antwort
Externes Programm kann Antwort auslesen.


Das Programm ResourceHacker kann man auch mit Parametern aufrufen.

Nur wie stelle ich das an?

Billa 16. Mär 2013 15:58

AW: Programm mit Parameterausgabe erstellen
 
Hallo,

in grauer Vorzeit (Pascal) gab's mal die Procedure "Halt" ... damit konnte man Return-Codes (z.B. zum Gebrauch in Batch-Dateien) setzen. Hab nur D7, aber die Hilfe führt das noch auf. Vielleicht gibt es das auch noch in XE3?

Furtbichler 16. Mär 2013 16:08

AW: Programm mit Parameterausgabe erstellen
 
Delphi-Quellcode:
program Add;
uses
  SysUtils;

{$APPTYPE CONSOLE}
Begin
  If ParamCount<>2 then
    Writeln ('Usage: '+ExtractFilename(Paramstr(0))+' Zahl Zahl')
  else
    Halt (StrToInt(ParamStr(1))+StrToInt(ParamStr(2)));
End.
Aufruf per batch

Code:
Add 4 5
echo %ERRORLEVEL%
Geht fast in Richtung KI. Da kommt '9' heraus.

SyntaxXx 16. Mär 2013 16:30

AW: Programm mit Parameterausgabe erstellen
 
Ok, das bringt michs chonmal ein gutes Stück weiter.

Aber ist es möglich wie bei einer Funktion, bzw. API eine Antwort zu senden?
Also nicht nur in meinem Programm ausgeben, sondern dem anderen Programm zu übermitteln?

Oder könnte man die Ausgabe die in meiner Konsolenanwendung dann zu sehen wäre auslesen?

Furtbichler 16. Mär 2013 16:53

AW: Programm mit Parameterausgabe erstellen
 
Du kannst in deinem Programm eine Windows Message deklarieren und dann einfach per Broadcast verschicken. Laufende Prozesse, die sich dafür interessieren, hören einfach auf diese Message.

Allgemein wird das Verfahren als IPC bezeichnet und unter diesem Stichwort solltest Du im Web fündig werden.


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