ich bin neu hier, und fange gerade erst an mit PB.
Nach langem suchen habe ich mich für diese ,,Sprache“ entschieden. Früher habe ich mich rudimentär etwas mit Basic auseinandergesetzt an meinem alten ,,CPC“ (Locomotive BASIC)
Lange Zeit hatte ich 'Bammel' vor einer Objekt Orientierten Sprache..... Aber irgendwann muss man es mal angehen, wenn man doch immer wieder Interesse daran zeigt.
Also habe ich mal versucht ein Programm zu schreiben. Einen ,,Taschenrechner“ ich dachte ,,das kann ja nicht so schwer sein“
Aber denkste.....
Hier mein Problem:
Code: Alles auswählen
Define zahlspeicher$
Define zahlspeicherB$
If OpenWindow(0, 532, 239, 341, 501, "Taschen Rechner v2.0 (c)Sven Mayer",#PB_Window_ScreenCentered| #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar )
If LoadFont(12,"Georgia",10,#PB_Font_Bold)
EndIf
ButtonGadget(0,20,110,50,40,"0")
ButtonGadget(1,80,110,50,40,"1")
ButtonGadget(2,140,110,50,40,"2")
ButtonGadget(3,200,110,50,40,"3")
ButtonGadget(4,20,160,50,40,"4")
ButtonGadget(5,80,160,50,40,"5")
ButtonGadget(6,140,160,50,40,"6")
ButtonGadget(7,200,160,50,40,"7")
ButtonGadget(8,20,210,50,40,"8")
ButtonGadget(9,80,210,50,40,"9")
ButtonGadget(10,20,270,80,40,"+")
ButtonGadget(11,120,270,80,40,"-")
ButtonGadget(13,210,270,80,40,"=")
ButtonGadget(14,20,320,80,40,"C")
TextGadget(12,10,60,180,40,"")
EndIf
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
End
EndSelect
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 0
SetGadgetText(12,GetGadgetText(12)+"0")
Case 1
SetGadgetText(12,GetGadgetText(12)+"1")
Case 2
SetGadgetText(12,GetGadgetText(12)+"2")
Case 3
SetGadgetText(12,GetGadgetText(12)+"3")
Case 4
SetGadgetText(12,GetGadgetText(12)+"4")
Case 5
SetGadgetText(12,GetGadgetText(12)+"5")
Case 6
SetGadgetText(12,GetGadgetText(12)+"6")
Case 7
SetGadgetText(12,GetGadgetText(12)+"7")
Case 8
SetGadgetText(12,GetGadgetText(12)+"8")
Case 9
SetGadgetText(12,GetGadgetText(12)+"9")
Case 10
rechenzeichen$="+"
zahlspeicher$=GetGadgetText(12)
SetGadgetText(12,"+")
Case 11
rechenzeichen$="-"
zahlspeicher$=GetGadgetText(12)
SetGadgetText(12,"-")
Case 13
zahlspeicherB$=GetGadgetText(12)
If rechenzeichen$="+"
ergebnis.d=ValF(zahlspeicher$)+ValF(zahlspeicherB$)
SetGadgetText(12,StrF(ergebnis.d))
ElseIf rechenzeichen$="-"; PROBLEM HIER!!! rechnet nicht MINUS
ergebnis.d=ValF(zahlspeicher$)-ValF(zahlspeicherB$)
SetGadgetText(12,StrF(ergebnis.d))
EndIf
Case 14
SetGadgetText(12,"")
EndSelect
EndIf
ForEver
vielleicht kann mir jemand sagen warum PB dort nicht MINUS rechnet?
Das Prog holt sich doch mit der Variable(String),,zahlspeicherB$“ den Wert aus dem TextLabel, und rechnet korrekt mit der Zahlen variable ,,zahlspeicher$“ gegen bei Else IF „-“.....
ich sehe den Fehler nicht.....
