Rechner
Verfasst: 08.04.2008 11:27
Hey ho
Ich hab mir einen ganz normalen Taschenrechner gemacht. Hab allerdings noch ein paar Probleme, die ich im mom nicht raus bekomme, bitte euch darum um hilfe
Also mein Problem ist das ich keine kommaeingabe über die Tasten machen kann, da das komma dann immer verschwindet!?!?!?! 2. Problem ist , wenn man nach einer Rechnung eine Zahl eingibt, diese dann hinten dran gehängt wird, is eigentlich auch Richtig das er es macht, soll er aber nich
, heißt er soll eine neue Rechnung anfangen und nicht die nachvolgenden zahlen anhängen wie er es jetzt macht.
Hoffe ich schreib nicht zu verwiert
Hier der Code:
Ist etwas durcheinander und vermutlich auch ziehmlich stümperhaft aber bin halt noch am lernen nehme tipps gerne an 
Thx für alle die helfen oder sich die Mühe machen es zu Lesen is ja nicht gerade wenig :P
(Und sry für Rechtschreibung und Gramatik
)[/b]
Ich hab mir einen ganz normalen Taschenrechner gemacht. Hab allerdings noch ein paar Probleme, die ich im mom nicht raus bekomme, bitte euch darum um hilfe

Also mein Problem ist das ich keine kommaeingabe über die Tasten machen kann, da das komma dann immer verschwindet!?!?!?! 2. Problem ist , wenn man nach einer Rechnung eine Zahl eingibt, diese dann hinten dran gehängt wird, is eigentlich auch Richtig das er es macht, soll er aber nich

Hoffe ich schreib nicht zu verwiert

Hier der Code:
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
Enumeration
#String_0
#Button_0
#Button_1
#Button_2
#Button_3
#Button_4
#Button_5
#Button_6
#Button_7
#Button_8
#Button_9
#Button_10
#Button_11
#Button_12
#Button_13
#Button_14
#Button_15
#Button_16
#Button_17
EndEnumeration
Global FontID1
FontID1 = LoadFont(1, "Arial", 10, #PB_Font_Bold)
Global FontID2
FontID2 = LoadFont(2, "Arial", 14)
Global FontID3
FontID3 = LoadFont(3, "Arial", 22)
InitKeyboard() And InitSprite()
If OpenWindow(#Window_0, 511, 245, 518, 548, "Rechner", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If OpenWindowedScreen(WindowID(0), 511, 245, 518, 548, 0, 0, 0)
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ButtonGadget(#Button_0, 20, 140, 60, 60, "CE")
SetGadgetFont(#Button_0, FontID2)
ButtonGadget(#Button_1, 100, 140, 60, 60, "/")
SetGadgetFont(#Button_1, FontID2)
ButtonGadget(#Button_2, 180, 140, 60, 60, "X")
SetGadgetFont(#Button_2, FontID2)
ButtonGadget(#Button_3, 20, 220, 60, 60, "7")
SetGadgetFont(#Button_3, FontID2)
ButtonGadget(#Button_4, 100, 220, 60, 60, "8")
SetGadgetFont(#Button_4, FontID2)
ButtonGadget(#Button_5, 180, 220, 60, 60, "9")
SetGadgetFont(#Button_5, FontID2)
ButtonGadget(#Button_6, 20, 300, 60, 60, "4")
SetGadgetFont(#Button_6, FontID2)
ButtonGadget(#Button_7, 100, 300, 60, 60, "5")
SetGadgetFont(#Button_7, FontID2)
ButtonGadget(#Button_8, 180, 300, 60, 60, "6")
SetGadgetFont(#Button_8, FontID2)
ButtonGadget(#Button_9, 260, 140, 60, 60, "-")
SetGadgetFont(#Button_9, FontID3)
ButtonGadget(#Button_10, 260, 220, 60, 140, "+")
SetGadgetFont(#Button_10, FontID2)
ButtonGadget(#Button_11, 260, 380, 60, 140, "OK")
SetGadgetFont(#Button_11, FontID2)
ButtonGadget(#Button_12, 180, 380, 60, 60, "3")
SetGadgetFont(#Button_12, FontID2)
ButtonGadget(#Button_13, 100, 380, 60, 60, "2")
SetGadgetFont(#Button_13, FontID2)
ButtonGadget(#Button_14, 20, 380, 60, 60, "1")
SetGadgetFont(#Button_14, FontID2)
ButtonGadget(#Button_15, 20, 460, 140, 60, "0")
SetGadgetFont(#Button_15, FontID2)
ButtonGadget(#Button_16, 180, 460, 60, 60, ",")
SetGadgetFont(#Button_16, FontID3)
ButtonGadget(#Button_17, 390, 460, 110, 60, "EXIT")
SetGadgetFont(#Button_17, FontID2)
EndIf
EndIf
EndIf
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
ExamineKeyboard()
If KeyboardPushed (1)
End
EndIf
If KeyboardPushed (#PB_Key_Subtract)
a.f=0
b.f=0
c.f=0
d.f=1
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
f.f=ValF(GetGadgetText(#string_0))
EndIf
If Event = #PB_Event_Gadget
If GadgetID = #String_0
ElseIf GadgetID = #Button_0
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ElseIf GadgetID = #Button_1 ;/
a.f=1
b.f=0
c.f=0
d.f=0
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
f.f=ValF(GetGadgetText(#string_0))
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ElseIf GadgetID = #Button_2 ;x
a.f=0
b.f=1
c.f=0
d.f=0
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
f.f=ValF(GetGadgetText(#string_0))
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ElseIf GadgetID = #Button_3
;7
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=7
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 7
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"7")
7:
ElseIf GadgetID = #Button_4
;8
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=8
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 8
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"8")
8:
ElseIf GadgetID = #Button_5
;9
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=9
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 9
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"9")
9:
ElseIf GadgetID = #Button_6
;4
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=4
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 4
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"4")
4:
ElseIf GadgetID = #Button_7
;5
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=5
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 5
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"5")
5:
ElseIf GadgetID = #Button_8
;6
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=6
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 6
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"6")
6:
ElseIf GadgetID = #Button_12
;3
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=3
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 3
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"3")
3:
ElseIf GadgetID = #Button_13
;2
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=2
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 2
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"2")
2:
ElseIf GadgetID = #Button_14
;1
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=1
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 1
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"1")
1:
ElseIf GadgetID = #Button_15
;0
x.f=ValF(GetGadgetText(#string_0))
If x.f =0
x.f=0
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f))
Goto 0
EndIf
StringGadget(#String_0, 20, 40, 480, 30, Str(x.f)+"0")
0:
ElseIf GadgetID = #Button_16
;,
x=ValF(GetGadgetText(#string_0))
StringGadget(#String_0, 20, 40, 480, 30, Str(x)+".")
y=1
ElseIf GadgetID = #Button_17
End
EndIf
ElseIf GadgetID = #Button_9 ;-
a.f=0
b.f=0
c.f=1
d.f=0
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
f.f=ValF(GetGadgetText(#string_0))
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ElseIf GadgetID = #Button_10 ;+
a.f=0
b.f=0
c.f=0
d.f=1
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
f.f=ValF(GetGadgetText(#string_0))
StringGadget(#String_0, 20, 40, 480, 30, "")
SetGadgetFont(#String_0, FontID2)
ElseIf GadgetID = #Button_11
;ok
SetGadgetText(0, ReplaceString(GetGadgetText(0),",","."))
g.f=ValF(GetGadgetText(#string_0))
If c=1
e.f=f.f-g.f
StringGadget(#String_0, 20, 40, 480, 30, StrF(e.f,2))
SetGadgetFont(#String_0, FontID2)
EndIf
If a=1
e.f=f.f/g.f
StringGadget(#String_0, 20, 40, 480, 30, StrF(e.f,2))
SetGadgetFont(#String_0, FontID2)
EndIf
If b=1
e.f=f.f*g.f
StringGadget(#String_0, 20, 40, 480, 30, StrF(e.f,2))
SetGadgetFont(#String_0, FontID2)
EndIf
If d=1
e.f=f.f+g.f
StringGadget(#String_0, 20, 40, 480, 30, StrF(e.f,2))
SetGadgetFont(#String_0, FontID2)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End

Thx für alle die helfen oder sich die Mühe machen es zu Lesen is ja nicht gerade wenig :P
(Und sry für Rechtschreibung und Gramatik

