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:

Probleme mit Input

 
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
Smokie_joe



Anmeldungsdatum: 09.05.2005
Beiträge: 16

BeitragVerfasst am: 14.09.2005, 22:25    Titel: Probleme mit Input Antworten mit Zitat

Hallo Leutz hätte ne kleine Frage denke ist bestimmt nur ne Kleinigkeit aber ich komme u. komme im mom net drauf mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen durchgeknallt

Also mein Prob is volgendes

Code:


CALL Maske
CALL Anfang

SLEEP

CLS
CALL Maske
CALL EingabeMaske
INPUT ; "Bitte gib was ein"; Zahl%

END


Wenn ich bei Sleep ankomme dann eine Taste drücke springt er zwar auf die nächsten Schritte aber ich kann keine Zahl eingeben der Cursor blinkt auch nicht (es wird keiner angezeigt) aber die Textausgabe von Input is da??? sobald ich wieder eine taste drücke endet das Prog.

Setz ich SLEEP beispielsweise auf SLEEP 2 funktioniert es tadelos !?

Keine Ahnung wisst Ihr warum u. was man z.b. anders machen Könnte???

thx im voraus
Smokie_joe

Maske u. EingabeMaske sind nur für Hintergrund rahmen .....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 14.09.2005, 22:31    Titel: Antworten mit Zitat

Verwendest du Doublebuffering?
Daran könnte es liegen, dass die INPUT-Klamotte nicht zu sehen ist...

Und könnte beim INPUT nicht auch ein Fehler sein?
INPUT ; "Bitte gib was ein"; Zahl%

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Smokie_joe



Anmeldungsdatum: 09.05.2005
Beiträge: 16

BeitragVerfasst am: 14.09.2005, 22:35    Titel: Antworten mit Zitat

Doublebuffering ???? was ist das !!

am input sollte es norm. nicht liegen mit SLEEP 1 gehts wunderbar.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 15.09.2005, 17:46    Titel: Antworten mit Zitat

So nennt man das arbeiten mit zwei Bildschirmseiten:
Code:

SCREEN 7, , 0, 1
' Bildschirm mit zwei Seiten initialisieren

DO

 ' WICHTIG: Graphik in die UNSICHTBARE Bildschirmseite schreiben
 x = x + 1
 IF x > 320 THEN x = 0
 CIRCLE(x, 100), 10, 10

 ' WICHTIG: Grafik in die SICHTBARE Bildschirmseite kopieren
 ' Ohne diese Zeile sieht man nichts!
 PCOPY 0, 1

 ' Bildschirm wieder löschen
 CLS

 ' Und ein Päuschen:
 WAIT &H3DA, 8
 WAIT &H3DA, 8, 8

' Bis Escape gedrückt wird
LOOP UNTIL INKEY$ = CHR$(27)

END


Schau zum Thema Doublebuffering ungedingt mal in die MonsterFAQ.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Smokie_joe



Anmeldungsdatum: 09.05.2005
Beiträge: 16

BeitragVerfasst am: 15.09.2005, 21:28    Titel: Antworten mit Zitat

k thx grinsen werd ich machen Yahooo!!!!

arbeite nicht mit 2 Bildschirmseiten hört sich aba intersant an zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 15.09.2005, 23:15    Titel: Antworten mit Zitat

@Smokie_joe äähm... er meint nicht zwei bildschirme als hardware... lies am besten in monFaq was das ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Smokie_joe



Anmeldungsdatum: 09.05.2005
Beiträge: 16

BeitragVerfasst am: 16.09.2005, 08:55    Titel: Antworten mit Zitat

Dachte mir schon das wenn es um die erstellung Software geht es sich um Virtuele Bildschirme handelt.

Trozdem thx lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 16.09.2005, 11:17    Titel: Antworten mit Zitat

dann entschuldige ich mich

habs irgendwie so aufgenommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
pinkpanther



Anmeldungsdatum: 28.05.2005
Beiträge: 79
Wohnort: Wien

BeitragVerfasst am: 20.09.2005, 16:05    Titel: Antworten mit Zitat

Hallo Smokie_joe,

dein Problem lässt sich einfach lösen. Ersetze den Befehl "SLEEP" einfach durch folgende Programmzeile:

Code:
DO UNTIL LEN(INKEY$): LOOP


Ursache deines Problems ist, dass SLEEP die Taste, die das Programm aus dem "Schlafzustand" holt, nicht aus dem Tastaturpuffer entfernt. Wenn du also nach dem Befehl SLEEP die Eingabetaste drückst, bleibt diese im Tastaturpuffer zurück. Der nächste Befehl, der den Tastaturpuffer abfragt, ist nun der INPUT-Befehl. Dort kommt es dann stets zu einer Leereingabe, weil vor jeder weiteren Tastatureingabe die immer noch wartende Eingabetaste abgearbeitet wird. Diese schließt den INPUT-Befehl ab, und der Benutzer hat nie die Chance, Daten einzugeben. Nachdem der INPUT-Befehl der letzte in deinem Programm ist, tritt Programmende ein, der Cursor wird unsichtbar und der QB-Editor schreibt dir "Beliebige Taste drücken, um fortzusetzen" an den unteren Bildschirmrand.

INKEY$ hingegen liest die zuletzt gedrückte Taste aus dem Tastaturpuffer und löscht sie dort, sodass INPUT einen leeren Tastaturpuffer vorfinden sollte.

Das Semikolon vor der Textausgabe des INPUT-Befehls würde ich übrigens entfernen und das Semikolon nach der Textausgabe durch ein Komma ersetzen, weil sonst ein (in diesem Fall unpassendes) Fragezeichen ausgegeben wird.

lG
pinkpanther zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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