|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Danielo
Anmeldungsdatum: 24.11.2004 Beiträge: 1
|
Verfasst am: 24.11.2004, 12:10 Titel: Programm jederzeit beendbar machen! |
|
|
Hallo,
habe eine ganz leichte Frage, ich möchte in meinem QB-Projekt, dass das Programm jederzeit mit der ESC-Taste abgebrochen werden kann und das unten rechts permant der Hinweis steht, dass das Programm mit ESC abgebrochen werden kann...
Danielo |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 24.11.2004, 14:33 Titel: |
|
|
Schau mal in der MonsterFAQ und such nach dem ON KEY-Befehl.
Ansonsten verwende den Code Code: | locate 25,1:?"Abbruch mit ESC"; | (zumindest bei Screens mit 25 Zeilen, wie z.B. bei allen Screens mit 200 Pixelzeilen und dem Textscreen 0)
das ; ganz am Schluss des Prints verhindert das setzen des Cursors in die nächst tiefere Zeile. Da es diese ja nicht gibt (26) würde das gesamte Bild um eine Textzeile noch oben gescrollt werden. Durch das ";" wird ebendies verhindert.
Grüßle,
Mecki
PS: Aber wenn du CLS benutzt, musst du natürlich aufpassen! Gegen "scrollen" des Bildschirms via PRINT ist die Zeile 25 allerdings resistent, wird also nicht mit nach oben verschoben. _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 24.11.2004, 21:12 Titel: |
|
|
Einige Artikel aus meiner Sammlung dazu:
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html
(Bei professionellen Bildschirmmasken und INPUT-Ersatzroutinen ist die Abfrage von <Esc> auch immer ein Thema)
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/EreignisSchleife.html
(passt soweit auch ins Thema, als auch hier mit einem grossen WHILE-WEND gearbeitet werden sollte, der bei <Esc> verlassen wird)
Ganz generell: ON KEY würde ich eher vermeiden, denn schliesslich kann man sich dort irgendwo in einem undefinierten Zustand befinden, wo man besser nicht rausgehen sollte, z.B. Datei wird gerade geschrieben.
Ich löse es daher immer mit einer ganz grossen DO-LOOP-Schleife und einer Drinbleib%-Variable, die zu Beginn mit -1 (TRUE) initialisiert wird. Irgendwo in dieser grossen DO-LOOP-Schleife gibt es noch das berühmte
Code: | DO
t$ = INKEY$
' evtl. noch INT 2Fh, AX=1680h aufrufen, damit das grüne Viereck
' im Windows 2000/XP-Taskmanager nicht bei 100% CPU-Last bleibt
' Siehe dazu http://www.ctyme.com/intr/rb-4530.htm
LOOP WHILE t$ = ""
SELECT CASE t$ |
für die einzelnen Tasten; ein
Code: | CASE CHR$(27)
Drinbleib% = 0 |
Abschnitt gehört auch jeweils dazu und dort wird auch die grosse Schleife verlassen und das Programm beendet bzw. bei SUB ein entsprechender Rückgabewert liefert. Abgesehen davon brauche ich <Esc> nur für einen Schritt abbrechen. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
|
|
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.
|
|