User Language
Die User Language (ULP) ermöglicht es auf EAGLE-Interne Daten so wie auf Dateien zuzugreifen und auch externe Programme zu starten.Funktion system() im ULP
Um ein Externes Programm zu starten muß im Quelltext des ULP die Funktion system(programmname) benutzt werden.
Soll EAGLE auf ein Ergebnis warten, reicht das, soll aber EAGLE ohne weitere Verbindung (Kontrolle des Programmablauf) weiterarbeiten können,
dann benötigt man eine BATCH (DOS-Datei) um mit CMD.EXE und der Option /C das eigentliche Programm zu starten.
Also system(name.bat);
In der Batch-Datei selbst steht dann CMD.EXE /C "programmname.exe" "startoption1" "startoption2".
system() gibt an EAGLE den Fehlercode zurück dass das aufgerufene Programm wiederum an DOS zurückgegeben hat.
Mit int fehler = system(programmname); kann die Fehlernummer einer Variablen zugewiesen werden um sie dann weiter auszuwerten.
programmname kann jede .exe, .bat oder jede andere ausführbare Datei sein.
Beispiele für die Benutzung von externen Programmen mit Aufruf durch eine Batch-Datei die entweder auf das Beenden des aufgerufnenen Programm warten oder direkt zum ULP zurückkehren
sind in den ULPs:
- cam-export.ulp
- cmd_wmic-system-defaultdrucker.ulp
- cmd-system.ulp
- copy-datei-time-stamp-2-server.ulp
- eagle-serial-read-hpgl.ulp
- load-sch-brd-lbr-in-notepad.ulp
- open-folder-explorer.ulp
- wmic_seriell-port_ermitteln.ulp
- text-korrektur-woerterbuch.ulp
- wo-laeuft-eagle.ulp
- xcopy-aktuelle-datei.ulp
Ausgabeumlenkung und Fehlerbehandlung
Programme (auch der Windows Befehlsinterpreter*) können Ausgaben und Fehler in eine Datei umlenken.Dazu braucht es das > Umlenkungszeichen für den ertsen Kanal, wie z. B. bei DIR pfad\name > dateiname.
Damit wird die Ausgabe des DIR-Befehl in eine Datei umgelenkt, um sie anschliessend nach der Rückkehr der Kontrolle zu EAGLE zu lesen und entsprechend zu verarbeiten.
Soll die Fehlerausgabe eines Programmaufruf in eine Datei umgelegt werden, dann muß dazu >> also das Umleitungszeichen für den zweiten Kanal, den Fehler-Kanal angegeben werden.
Damit wird die Fehlerausgabe nicht in an die Anzeige (DOS-BOX) sondern in die dahinter angegebene Datei ausgegeben, um sie dann ebenfalls anschliessend im ULP einzulesen und entsprechend auszuwerten.
*CMD.EXE ist der Windows Befehlsinterpreter.