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.....
 
 
