Ich möchte ein Key-Press-Ereignis in COBOL mit dem isCOBOL-Compiler erkennen. Wie geht das?Wie funktioniert while (! Kbhit()) COBOL?
EX in C:
if(time==despert_time){ while(!kbhit()){ Beep(500,500); } }
Ich möchte ein Key-Press-Ereignis in COBOL mit dem isCOBOL-Compiler erkennen. Wie geht das?Wie funktioniert while (! Kbhit()) COBOL?
EX in C:
if(time==despert_time){ while(!kbhit()){ Beep(500,500); } }
Es sieht aus wie Sie eine Interaktion mit dem Benutzer von der Konsole erhalten möchten. Wenn es nicht innerhalb eines Zeitrahmens geschieht: Piep
PERFORM FOREVER *> or UNTIL EXIT or UNTIL 0 = 1, depending on the available extensions
ACCEPT OMITTED *> or ACCEPT DUMMY [which you'd define as 77 DUMMY PIC X.], depending on the available extensions
BEFORE TIME 500 *> [or WITH TIMEOUT 500] this is a more or less common extension, with most vendors using a different time scale --> may need to change the 500
END-ACCEPT
IF keypressed NOT = timeout *> the actual var to be checked and the timeout value need to be checked in the docs
EXIT PERFORM
END-IF
CALL x'E5'
ON EXCEPTION *> the system call x'E5' for beep may not be available
DISPLAY SPACE AT 2080 WITH BEEP *> may not be available, too...
END-CALL
END-PERFORM
Überprüfen Sie die Online-Dokumentation, die mit Ihrem Compiler („nur für Kunden verfügbar“ ist, deshalb können wir nicht überprüfen).
Wenn Sie eine Antwort nicht akzeptieren (oder ablehnen): Bitte hinterlassen Sie immer einen Kommentar. Vielen Dank. –
Vielen Dank für die Antwort !!! – Jonas
@ Jonas, funktioniert die bereitgestellte Antwort für Sie? Wenn ja: Bitte als Antwort markieren, falls nein: Bitte kommentieren Sie die Antwort, die Sie vermissen. –
Vermutlich haben Sie ein Handbuch? –
Da COBOL ursprünglich ohne viel Mittel zur Interaktion mit Menschen entwickelt wurde, haben die Compiler-Hersteller die eigenen DISPLAY- und ACCEPT-Funktionen mit ihren eigenen Erweiterungen erweitert. Sie müssen herausfinden, * ob * und * wie * isCOBOL ermöglicht Ihnen, das zu tun. Das 'Do' ist eine einfache Inline-' PERFORM'. –
GUI oder nicht GUI? Von der Konsole aus können Sie möglicherweise mit dem Aufruf von Java System.in.Available() fortfahren (wenn das Terminal nicht auf Leitungen zwischenspeichert). Wenn Grafiken beteiligt sind, schreiben Sie eine kleine Klasse auf, um einen ActionListener und einen Handler für keyPressed, keyReleased oder keyTyped hinzuzufügen (je nachdem, wie Sie damit umgehen wollen). Kurz gesagt, dies wird wahrscheinlich einfacher von Java als COBOL sein. Wenn Sie dies wirklich von COBOL aus tun müssen, schauen Sie auf "CALL" SYSTEM "mit" stty raw "', dann '" stty cooked "', nachdem Sie einen Tastendruck (unter GNU/Linux) akzeptiert haben. Die Windows-Konsole hat eine andere Reihenfolge. –