Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Parameter aus externer Anwendung auslesen und verarbeiten (https://www.delphipraxis.net/94500-parameter-aus-externer-anwendung-auslesen-und-verarbeiten.html)

cibi 22. Jun 2007 09:29


Parameter aus externer Anwendung auslesen und verarbeiten
 
hallo,
ich bin noch ziemlich neu in der Delphi Programmierung und bin dabei eine Aufgabe zu lösen.

so, zu meinem Problem:
Ein externes Programm startet mein Programm mit definierten Parametern: ( in diesem Fall soll ein Text für eine SMS +Nummer als Parameter übergeben werden):
z.B. "meinprog.exe -text "ich bin eine sms nachricht" -nr 0123456789"

Ich kenne die Möglichkeit über paramstr() die Parameter auszulesen, was mir auch erfolgreich gelungen ist.
z.B. in dem Beispiel mit paramstr(1) würde das "-text" ergeben! Ich möchte aber eigentlich nur den Text der SMS Nachricht ( in den Hochkommatas ) und die Nummer einlesen, um diese weiter verarbeiten zu können. Gibt es da irgendwie eine Parsing/Auswerte Möglichkeit?

MFG cibi

mkinzler 22. Jun 2007 09:31

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
In diesem Fall wäre die Nummer ja ParamStr(2)

Nuclear-Ping 22. Jun 2007 09:38

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
Sicher? *g*

Ich würde behaupten, die Nummer ist ParamStr(4).

ParamStr(1) = -text
ParamStr(2) = ich bin eine sms nachricht
ParamStr(3) = -nr
ParamStr(4) = 0123456789

Edit:
Du musst halt entsprechend auf die Schalter in der Kommandozeile dynamisch reagieren. Wenn du nicht 100000%ig garantieren kannst, dass diese in der Reihenfolge erscheinen, kann auch "-nr 0123..." als ParamStr (1) + ParamStr (2) erscheinen und "-text "ich bin ..."" als ParamStr (3) + ParamStr (4).

Pseudocode:
Code:
WENN ParamStr(x) = '-text' DANN SmsText = ParamStr(x + 1)

DeddyH 22. Jun 2007 09:40

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
Oder die Nummer, die nach dem ParamStr mit dem Text "-nr" kommt ;)

mkinzler 22. Jun 2007 09:40

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
Zitat:

Zitat von Nuclear-Ping
Sicher? *

Stimmt

cibi 22. Jun 2007 09:42

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
jo :wall: Mein Problem lag darin, dass ich vorher für den Text keine "" verwendete und das Beispiel schlauerweise hier schon richtig gepostet hab ;) . Problem schon gelöst! ;)

Besten Dank

cibi 25. Jun 2007 10:23

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
neues Problem.. :/
Fall:
Ich weiß nicht genau welche Anzahl ( und in welcher Reihenfolge )von vorbestimmten Parametern das externe Program beim Aufruf meines Programms übergibt.
Wie genau kann ich einen Parameter identifizieren und seinen Wert in einer Variable speichern. Ich weiß, dass ich mit Hilfe von paramcount feststellen kann, wie viele Parameter das Programm mir übergeben hat. Soweit so gut... Wie kann ich einen Parameter und seinen zugehörigen Wert jetzt genau identifizieren ? Ich weiß ja nicht genau in welcher Reihenfolge diese sind.
Ziel ist es, den übergebenen Wert eines Parameters in einer Variable zu speichern.

Vielen Dank für eine Hilfestellung.

shmia 25. Jun 2007 10:29

Re: Parameter aus externer Anwendung auslesen und verarbeite
 
Kuck mal hier in der Code-Library, das sollte deine Probleme lösen:
Kommandozeilenparameter parsen


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