Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Globale Befehle

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 14.05.2006, 18:51    Titel: Globale Befehle Antworten mit Zitat

Ist es moeglich Befehle festzulegen, die von jedem Sub usw. aus jederzeit ausgefuehrt werden koennen ohne, dass diese nochmal in jedem sub aufgefuehrt werden muessen. Klingt furchtbar Beispiel:

Ich will, dass mein Programm jederzeit mit ESC abbrechbar ist - dies moechte ich allerdings nur einmal in meinem Programm auffuehren - halt global

geht das ?


kann mir jemand mal die on key funktion erklaeren? (kein Verweis auf FAQ bitte)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 14.05.2006, 19:18    Titel: Antworten mit Zitat

Im Prinzip bietet Dir ON KEY exakt das Gewünschte. Allerdings würde ich schon eher eine Return-Code den Vorzug geben. Siehe dazu

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html

Die dortige INPUT-Ersatz-Routine fragt ebenfalls <ESC> ab und gibt dies als Status in Verl% zurück => Hauptprogramm sollte dementsprechend reagieren.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 15.05.2006, 15:19    Titel: Antworten mit Zitat

dann muesste ich immer noch wissen wie on key funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.05.2006, 17:20    Titel: Antworten mit Zitat

peinlich
Einfach mal den Befehl in QB eingeben und F1 drücken?
Resultat bei QBasic 1.1:
Code:
KEY aktiviert, deaktiviert oder unterbricht die Ereignisverfolgung
einer Taste. Ist die Ereignisverfolgung aktiviert, verzweigt KEY jedesmal
zu einem Unterprogramm, wenn eine Taste gedrückt wurde.

KEY(n%) ON
KEY(n%) OFF
KEY(n%) STOP
ON KEY(n%) GOSUB Zeile

 ■ n%              Ein Wert, der eine Funktionstaste, Richtungstaste
                   oder benutzerdefinierte Taste angibt:

                   n%        Taste
                   ══════   ════════════════════════════════════════════
                   0         Alle hier aufgeflisteten Tasten (nur
                             KEY(0) ON, KEY(0) OFF und KEY(0) STOP).
                   1-10      Funktionstasten  F1-F10.
                   11        NACH-OBEN-TASTE.
                   12        NACH-LINKS-TASTE.
                   13        NACH-RECHTS-TASTE.
                   14        NACH-UNTEN-TASTE.
                   15-25     Benutzerdefinierte Tasten. Für mehr Information
                             siehe ◄Deklaration benutzerdefinierter Tasten►.
                   30, 31    Funktionstasten F11 und F12.

 ■ KEY(n%) ON      Aktiviert die Ereignisverfolgung für eine angegebene
                   Taste.
 ■ KEY(n%) OFF     Deaktiviert die Ereignisverfolgung einer Taste.
 ■ KEY(n%) STOP    Unterbricht die Ereignisverfolgung. Ereignisse
                   werden ausgeführt, sobald die Verfolgung mit
                   KEY ON aktiviert ist.
 ■ Zeile           Die Marke oder die Nummer der ersten Zeile
                   des Unterprogramms zur Ereignisverfolgung.

Beispiel:
    'Dieses Beispiel verlangt, daß die Tasten Caps- und Num Lock aus sind.
    CONST ESC = 27
    KEY 15, CHR$(&H4) + CHR$(&H1F)              'Setzt Ctrl+S als KEY 15.
    ON KEY(15) GOSUB PauseHandler
    KEY(15) ON
    WHILE INKEY$ <> CHR$(ESC)
        PRINT "Drücken Sie ESC um abzubrechen, Ctrl+S für Pause."
        PRINT
    WEND
    END

    PauseHandler:
        SLEEP 1
        RETURN

_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 15.05.2006, 17:33    Titel: Antworten mit Zitat

oh, vielen vielen dank, dass mit F1 wusste ich nicht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 18.05.2006, 19:08    Titel: Antworten mit Zitat

klappt trotzdem nicht

selbst das Beispielprogramm aus dem FAQ funktioniert nicht

brauch ich dafuer 'ne Bibliothek ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 18.05.2006, 20:52    Titel: Antworten mit Zitat

Die ON Xxx-Befehlsfamilie schaut in vielen Fällen auf den ersten Blick ganz interessant aus, aber ein wichtiges Problem bleibt damit ungelöst: Sauberer Ausstieg aus dort heraus, wo der ESCapende Benutzer gerade an den Anfang "flüchten" möchte.

Meistens befindet man sich dort, wo man <Esc> drücken möchte, ziemlich verschachtelt in etlichen Unterprogrammen (z.B. im Hauptdesk hat man die Applikation "Text" aufgerufen, dort den Dialog "Öffnen", innerhalb dieses Dialogs befindet man sich gerade in einer Stringeingaberoutine), diese haben alle ihren CALL-Stack, womit man nicht einfach so GOTO-mässig herausgehen kann und sollte. Deswegen auch mein Hinweis für ein Programm-Design mit dem Rückgabe-Code.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.05.2006, 20:56    Titel: Antworten mit Zitat

jo als not-ausgang is das vielleicht brauchbar, so ne "egal was is sofort abschalten"-Notfalltaste is ja auch ab und zu mal was nettes happy

/edit: wobei eigentlich ists auch ganz lustig sonst weil man kann ja an den kritischen stellen einfach key(xyz) off machen und die ereignisverfolgung zwischenzeitlich deaktivieren..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz