Ich bin neu hier.
Wollte lernen wie ich etwas einfaches programmieren kann.
Wollte einen einfachen Taschenrechner erstellen.
Absicht ist es das Eingegebene in einem Editorenfeld anzuzeigen. So das die ganze Rechnung immer zu sehen ist.
Nun habe ich mal ein Fenster erstellt wo die Tasten dargestellt werden und ein Teil der Tasten auch im Editorenfeld angezeigt werden.
so weit so gut. (ich weiss ist noch nicht vollständig)
Code: Alles auswählen
Enumeration FormFont
#Font_Window_0_0
EndEnumeration
LoadFont(#Font_Window_0_0,"Courier", 19)
Global Button_1, Button_2, Button_3, Button_9, Button_6, Button_8, Button_5, Button_7, Button_4, Button_division, Button_multi, Button_0, Button_minus, Button_punkt, Button_plus, ListView_0
If OpenWindow(0,100,100,500,400,"Fenster 1",#PB_Window_SystemMenu)
Button_1 = ButtonGadget(1, 320, 80, 40, 25, "1")
Button_2 = ButtonGadget(2, 380, 80, 40, 25, "2")
Button_3 = ButtonGadget(3, 440, 80, 40, 25, "3")
Button_9 = ButtonGadget(9, 440, 160, 40, 25, "9")
Button_6 = ButtonGadget(6, 440, 120, 40, 25, "6")
Button_8 = ButtonGadget(8, 380, 160, 40, 25, "8")
Button_5 = ButtonGadget(5, 380, 120, 40, 25, "5")
Button_7 = ButtonGadget(7, 320, 160, 40, 25, "7")
Button_4 = ButtonGadget(4, 320, 120, 40, 25, "4")
Button_division = ButtonGadget(14, 370, 300, 40, 25, "/")
Button_multi = ButtonGadget(13, 320, 300, 40, 25, "*")
Button_0 = ButtonGadget(10, 380, 200, 40, 25, "0")
Button_minus = ButtonGadget(12, 370, 260, 40, 25, "-")
Button_punkt = ButtonGadget(15, 440, 200, 40, 25, ".")
Button_plus = ButtonGadget(11, 320, 260, 40, 25, "+")
ListView_0 = EditorGadget(99, 50, 80, 240, 250)
SetGadgetFont(99, FontID(#Font_Window_0_0))
Repeat
EventID = WaitWindowEvent()
; a$ = KeyboardInkey()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
If EventID = #PB_Event_Gadget
If EventGadget()=1
SetGadgetItemText(99,6,"1")
EndIf
If EventGadget()=2
SetGadgetItemText(99,1,"2")
EndIf
If EventGadget()=3
SetGadgetItemText(99,1,"3")
EndIf
If EventGadget()=4
SetGadgetItemText(99,1,"4")
EndIf
If EventGadget()=5
SetGadgetItemText(99,1,"5")
EndIf
If EventGadget()=6
SetGadgetItemText(99,1,"6")
EndIf
If EventGadget()=7
SetGadgetItemText(99,1,"7")
EndIf
If EventGadget()=8
SetGadgetItemText(99,1,"8")
EndIf
If EventGadget()=9
SetGadgetItemText(99,1,"9")
EndIf
If EventGadget()=10
SetGadgetItemText(99,1,"0")
EndIf
If EventGadget()=15
SetGadgetItemText(99,1,".")
EndIf
If EventGadget()=12
SetGadgetItemText(99,1,"-")
EndIf
EndIf
Until Quit=1
EndIf
Aber ich wollte das es auch Zahlen reinschreibt wenn ich diese mit der Tastatur eingebe.
Ich habe nun einige Stunden im Forum und in der Hilfe nachgesehen. Aber ich werde irgendwie nicht schlau daraus.
Wenn ich das richtig verstehe sollte eingeschaltet werden das die Tasten ausgewertet werden.
und in dem teil mit dem repeat sollte dann abgefragt werden welche taste gedrückt wurde und diese kann dann ausgewertet werden.
Hier meine stümperhaften versuch das Problem zu lösen. (Den Ausschnitt wo die Veränderungen drin sind)
Code: Alles auswählen
ExamineKeyboard()
Repeat
EventID = WaitWindowEvent()
a$ = KeyboardInkey()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
If EventID = #PB_Event_Gadget
If EventGadget()=1
SetGadgetItemText(99,6,"1")
EndIf
If a$ ="1"
SetGadgetItemText(99,6,"1")
EndIf
Danke vielmals im Voraus für euere Hilfe