Parameterauswertung |
Top Previous Next |
/* Parameterauswertung */ /*=====================*/ #include "moskito.h" /* ist alles drin */ #include <stdio.h>
/* Die folgende Routine zeigt, wie man ueberpuefen kann, ob bestimmte Schalter gesetzt sind. Desweiteren wird gezeigt, wie man die Werte von Parametern abfragen kann. */ long int EXPORTENTRY Parameterauswertung(int argc, char* argv[], PROOT root) { /* Die Schalter duerfen in der Kommandozeile soweit verkuerzt werden, solange sie in der Kommandozeile eindeutig bleiben. Beispiel: /del(ete) /deb(ug), aber nicht so /de(lete) /de(bug) */ int iDKY; double fPosX; char *strPosX = NULL;
/* Abfrage, ob bestimmte Schalter gesetzt sind. */ /* Vordefinierte Abfragen stehen im Include-File basic.h */ if (SYShasHelpSwitch(argc, argv)) /* ... */; /* nach /h oder /H */ if (SYShasWindowSwitch(argc, argv)) /* ... */; /* nach /w oder /W */ // ...
/* selbstdefinierte Schalterabfragen, '/' nicht mitangeben */ #define SYShasTestSwitch(argc, argv) SYShasSwitch(argc, argv, "TEST"); /* nach /t oder /T */ // ...
/* Werte von Parametern abfragen */ /* Fuer bestimmte Typen gibt es schon fertige Routinen, s. basic.h, */ if (SYShasValueSwitchInt(argc, argv, "DKY", &iDKY)) { /* ... */; /* Die Schalter werden ohne '/' angegeben */ IOwprintf(DBgetIOpipes(root), "Parameter DKY: %d\n", iDKY); } // if
// ...
if (SYShasValueSwitchDouble(argc, argv, "POSX", &fPosX)) { /* ... */; IOwprintf(DBgetIOpipes(root), "Parameter POSX: %f\n", fPosX); } // if
// ...
/* ansonsten Parameterwert als Text abholen und umwandeln */ if (SYShasValueSwitchText(argc, argv, "POSX", &strPosX)) { double fPosX; sscanf(strPosX, "%lf", &fPosX); /* aus stdio.h */ // ... IOwprintf(DBgetIOpipes(root),"Parameter umgewandelt nach float : %f\n", fPosX); } // if return 0; } // Parameterauswertung /*---------------------------------------------------------------------------*/
|