/* examples/misc/args.c */ #include He_node *princ; int main (int argc, char *argv[]) { int i; char *tmp; /* Declarations d'options supplementaires a Helium */ HeDeclArg ("-zero", NULL, NULL, 0, "sans param"); HeDeclArg ("-un", NULL, "", 1, "un param"); HeDeclArg ("-deux", NULL, "", 2, "deux params"); /* Affichage des arguments recus avant analyse */ printf ("Args AVANT HeInit() :\n"); for (i = 0; i < argc; i++) printf (" %2d \"%s\"\n", i, argv[i]); /* Initialisation d'Helium, ouverture du display et analyse des arguments : toutes les options reconnues sont enlevees de argv avec leurs parametres */ HeInit (&argc, &argv); /* Affichage des arguments restant apres analyse */ printf ("Args APRES HeInit() :\n"); for (i = 0; i < argc; i++) printf (" %2d \"%s\"\n", i, argv[i]); /* Affichages des options supplementaires reconnues */ printf ("Options reconnues :\n"); tmp = HeGetOption ("-zero", NULL); if (tmp) printf ("-zero\n"); tmp = HeGetOption ("-un", NULL); if (tmp) printf ("-un \"%s\"\n", tmp); tmp = HeGetOption ("-deux", NULL); if (tmp) printf ("-deux \"%s\" \"%s\"\n", tmp, HeGetOptionN("-deux", 2, "")); /* Creation d'une fenetre */ princ = HeCreateFrame(); HeSetFrameLabel (princ, "Args"); /* Boucle d'evenements */ return HeMainLoop (princ); }