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

/*---------------------------------------------------------------------------*/