Seite 1 von 1

warum funzt der code nicht

Verfasst: 05.10.2008 12:56
von Special-Agent-J
also ich will ja mit shortcut beenden und hab ein code geschrieben aber irgendwie funzt das nicht

Until KeyboardPushed(#PB_Key_Escape)=1
EndIf
End

Verfasst: 05.10.2008 13:06
von Andesdaf
Nimm doch einfach

Code: Alles auswählen

AddKeyboardShortcut()

Re: warum funzt der code nicht

Verfasst: 05.10.2008 13:19
von Little John
Special-Agent-J hat geschrieben:also ich will ja mit shortcut beenden und hab ein code geschrieben aber irgendwie funzt das nicht

Until KeyboardPushed(#PB_Key_Escape)=1
EndIf
End
Warum machst Du 2 Threads zur selben Frage auf??

Verfasst: 05.10.2008 19:27
von Tompazi
KeyboardPushed() verwendet DirectX und kann deshalb bei Screens angewendet werden..

Code: Alles auswählen

Enumeration
#Window
#MyEvent
EndEnumeration

OpenWindow(#Window,100,100,100,100,"PRESS ESCAPE")

AddKeyboardShortcut(#Window, #PB_Shortcut_Escape, #MyEvent)

Repeat

 Event = WaitWindowEvent()
 Select Event
  Case  #PB_Event_Menu
   Select EventMenu()
    Case #MyEvent
     Quit = 1
    EndSelect
  EndSelect
  
Until Quit
Lies mal in der Hilfe nach.

MfG Tompazi

Verfasst: 05.10.2008 22:10
von ts-soft
Titel hat geschrieben:warum funzt der code nicht
Solche Titel helfen niemanden bei der Suche nach Problemlösungen!, absolut
nichtsaussagend, also bitte anpassen, ansonsten gehört der Thread mit
so einem Titel IMHO in die Laberecke

Verfasst: 05.10.2008 22:13
von Little John
ts-soft hat geschrieben:
Titel hat geschrieben:warum funzt der code nicht
Solche Titel helfen niemanden bei der Suche nach Problemlösungen!, absolut
nichtsaussagend, also bitte anpassen, ansonsten gehört der Thread mit
so einem Titel IMHO in die Laberecke
Du hast völlig recht, aber der Thread gehört sowieso gelöscht (siehe mein Posting oben).

Gruß, Little John

Verfasst: 05.10.2008 22:24
von kswb73
Hier mal meine Vertmutung (den vorherigen Thread hab ich mir nicht durchgelesen).
KeyboardPushed(#PB_Key_Escape) gibt bei mir 128 zurück wenn die Taste gedrückt wurde. Also ist das =1 falsch
Dein End würde ich vor's endif setzten, sonst nutzt die Abfrage nicht fiel.

Code: Alles auswählen

if KeyboardPushed(#PB_Key_Escape);Wenn Escape gedrückt ist, dann...
end;...beende
endif ;Ende der Abfrage.

Verfasst: 05.10.2008 23:31
von Kaeru Gaman
@J
also, mal grundsätzlich zum Thema Fragen:
aussagekraftige Titel, ausführlich formulierte Fragen, Hintergrundinfos.
so wie du das jetzt gemacht hast ist es wirklich eigentlich nicht ausreichend.

nur drei Zeilen code ohne Zusammenhang sind verwirrend,
ein Kollege dachte ja es ginge um ein If.
und wenn code, dann nächstes mal bitte auch code-tags verwenden.


und ja, auch ganz gewiß: bitte nicht zwei threads zum selben thema öffnen.
du hättest ohne Schwierigkeiten die neue Frage ans andere Thema dranhängen können.


der erste Teil der Antwort von kswb ist korrekt:
der Rückgabewert von KeyboardPushed() muss nur #True sein, also ungleich null, das kann jede andere Zahl sein.
also genügt in deinem Fall

Code: Alles auswählen

Until KeyboardPushed(#PB_Key_Escape)
auch was Tompazi schreibt ist richtig:
um KeyboardPushed auswerten zu können, musst du einen Screen haben
und InitKeyboard() und ExamineKeyboard() benutzt haben.
falls du das hast ist das ja richtig so, aber dann ist es kein Shortcout!
also bitte drauf achten, die passenden Begriffe zu verwenden,
damit die Kollegen auch wissen, wobei sie dir eigentlich helfen sollen.

so, damit ist diese jetzige Frage beantwortet, und ich mache hier dicht.
wenn du weitere Fragen zum Thema hast, benutze bitte deinen ersten Thread weiter.

*lock*