Eingabe routine während schleife...

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

TOONY

Betreff: Eingabe routine während schleife...

BeitragDi, Nov 16, 2004 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
also,
ich habe ein programm, was so läuft

Code: [AUSKLAPPEN]
repeat
cls

CODE...

FLIP
until keydown(1)


wie kann ich nun eine eingabe Funktion einbauen,
wo der user einen Text eingeben kann, wenn ich enter drücke?
 

getlose

BeitragDi, Nov 16, 2004 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 320,240
SetBuffer BackBuffer()
While Not KeyHit(1)
   Cls
   tmp=GetKey()
   If tmp>0 Then
      actual_string$=actual_string$+Chr(tmp)
   EndIf
   Text 10,10,actual_string$
   Flip
Wend


den rest kannst dir ja denken :)
 

TOONY

BeitragDi, Nov 16, 2004 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm,
ist nicht so, wie ich es meine,

wenn ich enter drücke möchte ich einen wert für a eingeben können,
wenn ich space drücke einen wert für B
.
.
.
 

getlose

BeitragDi, Nov 16, 2004 1:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Question

was willst du jetzt noch wissen ?
einfach variablen-namen ändern ?!
 

Dreamora

BeitragDi, Nov 16, 2004 1:30
Antworten mit Zitat
Benutzer-Profile anzeigen
if keyhit(bla)
input( ... )
endif
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Ofenrohr

BeitragDi, Nov 16, 2004 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem bei input ist aber, das die ganze schleife angehalten wird.
ich glaube kaum, das das erwünscht ist.

hier ist mein vorschlag:

Code: [AUSKLAPPEN]

tex$ = "Hallo"
repeat
if keyhit(28) = 1 then on = 1
if (keyhit(28) = 1) and (on = 1) then on = 0
if on = 1 then
add$ = getkey()
if add = 0 then add = "" else add = chr(add)
if add = 14 then tex = mid(tex,1,len(tex)-1) else tex = tex + add ; das sorgt dafür, das du backspace benutzen kannst
endif


der vorteil ist, das die schleife weiterlaufen kann was bei input nicht der fall ist.

hoffe das hilft dir.

mfg ofenrohr
Ofenrohr.net
 

getlose

BeitragDi, Nov 16, 2004 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
genau das selbe hab ich doch oben geschrieben, nur
das er die variablen-namen hätte ändern muss...

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Nov 16, 2004 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Den musst du halt noch modifizieren.

Code: [AUSKLAPPEN]
AppTitle "Letters"
Graphics 640,480,16,2

Repeat

Cls
let = GetKey()
If let <> 0 And let <> 13 And let <> 8 Then wort$ = wort$ + Chr$(let)

If Len(wort$) > 0 Then
lang = Len(wort$)-1
Else
lang = 0
EndIf

If KeyDown(14) Then
If start = 0 Then timer = MilliSecs()+100
start = 1
If MilliSecs()>timer Then
start = 0
wort$ = Left$(wort$,lang)
EndIf
EndIf

Text 320,240,wort$,1,1
Delay 2

Until KeyHit(1)
End
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group