Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Fehlerbehandlung


  • Please log in to reply
1 reply to this topic
thalasin
  • New members
  • 2 posts
  • Last active: Jul 23 2015 08:35 AM
  • Joined: 21 Jul 2015

Hallo,

 

kurze Frage:

 

Ich rufe meine .EXE wie folgt auf "Run, %1% %2% %3%".

 

Klappt auch soweit ganz gut! :-)

 

Und jetzt die Frage ... gibt es eine Möglichkeit, eine Fehlermeldung auszugeben, wenn z.B. ein Parameter nicht angegeben wird?

Bzw. kann man den Parametern Standard-Werte zuordnen?

 

Für Hilfe wäre ich sehr dankbar!

 

Gruß, Andreas



Rohwedder
  • Members
  • 130 posts
  • Last active: Nov 10 2015 03:43 PM
  • Joined: 06 Feb 2013

Du hast doch ein Programm1 welches die Parameter sammelt und an Programm2 sendet

und das Programm2 welches die Parameter empfängt und weiter verarbeitet.

 

In Programm1 gehört eine Überprüfung ob alle gesammelte Parameter vollständig und sinnvoll sind.
Wenn z.B.  Ziffern erwartet werden und Buchstaben erfaßt wurden könntest du eine ensprechende MsgBox ausgeben.
Wenn ein Parameter leer erfasst wurde und es für ihn einen Standard-Wert gibt, dann ersetze ihn einfach.

In Programm2 könntest du ebenfalls überprüfen ob alle empfangenen Parameter vollständig und sinnvoll sind.

 

Wenn du aber der Übertragung von Programm1 an Programm2 misstraust, könntest du als zusätzlichen Parameter einen Hash-Wert aller Nutz-Parameter senden https://de.wikipedia...n_Zeichenketten

Verkette einfach alle Nutz-Parameter zusammen und mache in Programm1 davon einen Hash-Wert:

EingabeVar := "Test"
Hash = 0
Loop, Parse, EingabeVar
	Hash := Mod(Hash + Asc(A_LoopField),256)
MsgBox, der Hash von "%EingabeVar%"  ist: %Hash%

Dann kann Programm2 das gleiche mit den empfangenen Nutz-Parametern machen und die beiden Hash-Werte (empfangener und berechneter) auf Identität überprüfen.