home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------ */
- /* INKEY.C */
- /* Bereitstellung eines Inkey-Befehls für Batch-Dateien */
- /* (c) 1988 Klaus Pink-Patzer & TOOLBOX */
- /* ------------------------------------------------------ */
- #include <stdio.h>
- #include <stdlib.h>
- #include <process.h>
- #include <conio.h>
- #define FALSE 0
- #define TRUE 1
-
- main(int argc, char *argv[])
- {
- char parm_str[10], *parm_zeig;
- int i, eingabe, parm, pruef=FALSE, zaehler;
-
- parm_zeig = &parm_str;
- strcpy(parm_str,argv[argc-1]);
- if (*parm_zeig != '$')
- {
- printf("\nSie haben keine oder falsche Parameter ");
- printf("angegeben.!!!\n");
- printf("\nKorrekte Syntax ist: \nINKEY [optionaler ");
- printf("text] [$ zeichen] [parameter(CAPS)]\n ");
- printf("zum einwandfreien Erkennen der Eingabewerte");
- printf(" müssen \ndie Parameter immer in Großbuch");
- printf("staben eingegeben werden.\nDer von ERRORLEVEL ");
- printf("zurückgegebene Wert gibt an,\nwelche der ");
- printf("Tasten gedrückt wurde. Beispiel :\nBitte ");
- printf("Eingabe: $ABC \nWird jetzt 'C' oder 'c'");
- printf("gedrückt, nimmt \nERRORLEVEL den Wert 3 an.");
- printf("\n(c) 1988 Klaus Pink-Patzer & TOOLBOX\n");
- exit(0);
- }
- for (i=1; i<argc-1; i++) /* Ausgabe Kommandozeilentext */
- printf("%s ", argv[i]); /* auf dem Bildschirm */
-
- while (pruef != TRUE) {
- while((kbhit()) == 0);
- /* Warten auf eine Tastatureingabe */
- eingabe = toupper(getch());
- /* Auswerten der Tastatureingabe und */
- /* umwandeln in einen Grossbuchstaben */
- if (eingabe > 0x40 && eingabe < 0x5b)
- {
- zaehler = -1;
- /* zaehler-1, damit $ Zeichen nicht mitgezählt wird */
- while ((*parm_zeig) != '\0')
- { /* alle parameter werden geprüft */
- zaehler++;
- parm = *parm_zeig;
- if (parm == eingabe)
- { /* Programmende, mit */
- _exit(zaehler); /* ERRORLEVEL Übergabe */
- }
- parm_zeig++;
- }
- parm_zeig -= zaehler+1;
- }
- }
- }
- /* ------------------------------------------------------ */
- /* Ende von INKEY.C */