Keyhitupdate() und KEY() kombiniert oder getriggert?

Previous topic - Next topic

Veritas

Huhu,
ich hab folgende Frage. Ich brauche eine Funktion mit der man eine Taste drückt und das Event nur EINMAL ausgelöst wird, also habe ich die Keyhitupdate Funktion hier aus dem Forum benutzt. Wenn man die Taste jedoch länger drückt soll die Keyhitupdate Funktion ignoriert werden und wieder das ursprüngliche KEY() ausgeführt werden.
Ich dachte das sich das so beheben lässt. Allerdings stürzt mein Programm nach dem Start ab (schließt). Hat jemand eine Idee?

Code (glbasic) Select
                                      KeyhitupdateEIN = 1

A=KeyHit(GuthabenTaste)
B=KEY(GuthabenTaste)

Zeit = GETTIMER()

IF KeyhitupdateEIN > 0  
 
  KeyHitUpdate()

  IF A = -1 // Aktion nach dem Drücken der Guthaben-Taste
 
  IF Zeit > 3000
  KeyhitupdateEIN = 0

ELSE
A = B

ENDIF
ENDIF


Dankeschön =)
Liebe Grüße Veritas
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Schranz0r

Code (glbasic) Select
  IF Zeit > 3000
  KeyhitupdateEIN = 0


Wo setzt du die Zeit wieder auf null?
Wenns Programm abstürzt schalte mal den Debuger ein!
Wette da gibts ein Array ausserhalb des Dimbereichs ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Veritas

ja aber welches? Der Code hat ehe ich das eingebaut hatte perfekt funktioniert. Das Null setzen war mir jetzt erstmal nicht so wichtig. Es sollte nur überhaupt einmal funktionieren =). Daüfr muss ichs dann ja nich wieder auf Null setzen ;).
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Schranz0r

Wenn der Debuger an ist, geht der normal direkt auf die Zeile, die das Problem beherbergt :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard