Seite 1 von 12

Taschenrechner ?

Verfasst: 02.04.2007 18:53
von Fusselohr
Hallo an alle,
ich hab ein Problem... Genauergesagt bin ich
verzweifelt. Alles Was ich mache Funktioniert nicht ....
Deshalb wollte ich fragen ob mir jemand sagen kann wie ich am
Besten eine Plusrechnung hinbekomme ... ich habe einen Feld, in welches
man Zahlen eingeben kann. Wenn mir jemand helfen könnte wäre ich sehr dankbar .

Gruß Fusselohr

Verfasst: 02.04.2007 18:56
von Kaeru Gaman
hm... wo ist da das eigentliche problem?

Code: Alles auswählen

a = 10
b = 12
sum = a+b
Debug sum
c = 14
sum = sum + c
Debug sum
d = 16
sum = sum + d
Debug sum

Verfasst: 02.04.2007 19:00
von Fusselohr
Es ist halt so , wenn ich etwas eingebe bsw. 100 welches x sein soll und danach auf addieren gehe und dann 50 für y eingebe, bekomm ich entweder das Problem das x und y 100 , oder das x 50 und y 0 ist usw.

Gruß Fusselohr

Verfasst: 02.04.2007 19:04
von RSBasic
@Fusselohr
Poste mal dein Source hier :)

Verfasst: 02.04.2007 19:05
von Kaeru Gaman
yo dann machste wohl was falsch.... :shock:

probiers mal so:
vergiss x und y und sowas...
weise deine eingabe immer der gleichen variablen zu.
wenn du auf addieren drückst, machste summe + variable.

Code: Alles auswählen

a = 10
sum + a
Debug sum
a = 12
sum + a
Debug sum
a = 14
sum + a
Debug sum
a = 16
sum + a
Debug sum
anmerkung:
sum + a
tut das gleiche wie
sum = sum + a

Verfasst: 02.04.2007 19:17
von Fusselohr
Ich checks irgendwie nicht :| .
Also ich hab ein String , dessen Wert in eine Variable umgewandelt wird.
Und da soll die nächste Eingabe mit dem selben String (der wiederrum in die gleiche Variable umgewandelt wird) addiert werden ?

:coderselixir:

Hier ist mein Source Code

Code: Alles auswählen

; PureBasic Visual Designer v3.95 build 1485 (PB4Code)


;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- MenuBar Constants
;
Enumeration
  #MenuBar_0
EndEnumeration

Enumeration
  #MENU_13
  #MENU_14
  #MENU_22
  #MENU_23
  #MENU_24
  #MENU_27
  #MENU_28
  #MENU_29
  #MENU_34
  #MENU_30
  #MENU_31
  #MENU_17
  #MENU_15
  #MENU_35
  #MENU_36
  #MENU_16
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Sieben
  #Acht
  #Neun
  #ButtonImage_4
  #ButtonImage_5
  #ButtonImage_6
  #ButtonImage_7
  #ButtonImage_8
  #ButtonImage_9
  #ButtonImage_11
  #ButtonImage_12
  #ButtonImage_13
  #ButtonImage_14
  #ButtonImage_15
  #ButtonImage_16
  #ButtonImage_17
  #ButtonImage_18
  #ButtonImage_19
  #ButtonImage_20
  #ButtonImage_22
  #String_2
EndEnumeration

;- Image Plugins
UsePNGImageDecoder()

;- Image Globals
Global Image0
Global Image1
Global Image2
Global Image3
Global Image4
Global Image5
Global Image6
Global Image7
Global Image8
Global Image9
Global Image10
Global Image11
Global Image12
Global Image13
Global Image14
Global Image15
Global Image16
Global Image17
Global Image18
Global Image19

;- Catch Images
Image0 = CatchImage(0, ?Image0)
Image1 = CatchImage(1, ?Image1)
Image2 = CatchImage(2, ?Image2)
Image3 = CatchImage(3, ?Image3)
Image4 = CatchImage(4, ?Image4)
Image5 = CatchImage(5, ?Image5)
Image6 = CatchImage(6, ?Image6)
Image7 = CatchImage(7, ?Image7)
Image8 = CatchImage(8, ?Image8)
Image9 = CatchImage(9, ?Image9)
Image10 = CatchImage(10, ?Image10)
Image11 = CatchImage(11, ?Image11)
Image12 = CatchImage(12, ?Image12)
Image13 = CatchImage(13, ?Image13)
Image14 = CatchImage(14, ?Image14)
Image15 = CatchImage(15, ?Image15)
Image16 = CatchImage(16, ?Image16)
Image17 = CatchImage(17, ?Image17)
Image18 = CatchImage(18, ?Image18)
Image19 = CatchImage(19, ?Image19)

;- Images
DataSection
Image0:
  IncludeBinary "Ressourcen\6.png"
Image1:
  IncludeBinary "Ressourcen\8.png"
Image2:
  IncludeBinary "Ressourcen\9.png"
Image3:
  IncludeBinary "Ressourcen\7.png"
Image4:
  IncludeBinary "Ressourcen\5.png"
Image5:
  IncludeBinary "Ressourcen\4.png"
Image6:
  IncludeBinary "Ressourcen\1.png"
Image7:
  IncludeBinary "Ressourcen\2.png"
Image8:
  IncludeBinary "Ressourcen\3.png"
Image9:
  IncludeBinary "Ressourcen\Plus.png"
Image10:
  IncludeBinary "Ressourcen\Clear.png"
Image11:
  IncludeBinary "Ressourcen\Punkt.png"
Image12:
  IncludeBinary "Ressourcen\0.png"
Image13:
  IncludeBinary "Ressourcen\Prozent.png"
Image14:
  IncludeBinary "Ressourcen\Mal.png"
Image15:
  IncludeBinary "Ressourcen\Vorzeichen Plus.png"
Image16:
  IncludeBinary "Ressourcen\Vorzeichen Minus.png"
Image17:
  IncludeBinary "Ressourcen\Gleich.png"
Image18:
  IncludeBinary "Ressourcen\Geteilt.png"
Image19:
  IncludeBinary "Ressourcen\Minus.png"
EndDataSection

x.d
y.d
z.d
Funktionen.b
Eingabe.s
Ergebnis.d
Reihenfolge.b
 
  If OpenWindow(#Window_0, 541, 125, 311, 318, ".::Der RPG-Fire Rechner::.",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
 
     If CreateMenu(#MenuBar_0, WindowID(#Window_0))
      MenuTitle("Datei")
      MenuItem(1, "Beenden")
      MenuTitle("Funktionen")
      MenuItem(2, "Addieren")
      MenuItem(3, "Subtrahieren")
      MenuItem(4, "Multiplizieren")
      MenuItem(5, "Dividieren")
      MenuItem(6, "Ergebnis")
      MenuItem(7, "Prozentrechnen")
      MenuItem(8, "Anzeige leeren")
      MenuItem(9, "Komma setzen")
      MenuItem(10, "Vorzeichen +")
      MenuItem(11, "Vorzeichen -")
      MenuTitle("Spezials")
      MenuItem(12, "Binomische Formeln")
      MenuItem(13, "Pi berechnen")
      MenuTitle("Hilfe")
      MenuItem(14, "Anleitung")
      MenuItem(15, "Website")
      MenuItem(16, "Über")
      EndIf

     
      If CreateGadgetList(WindowID(#Window_0))
        ButtonImageGadget(#Sieben, 160, 110, 59, 32, Image0)
        ButtonImageGadget(#Acht, 90, 70, 59, 32, Image1)              ;8
        ButtonImageGadget(#Neun, 160, 70, 59, 32, Image2)             ;9
        ButtonImageGadget(#ButtonImage_4, 20, 70, 59, 32, Image3)     ;7
        ButtonImageGadget(#ButtonImage_5, 90, 110, 59, 32, Image4)    ;5
        ButtonImageGadget(#ButtonImage_6, 20, 110, 59, 32, Image5)    ;4
        ButtonImageGadget(#ButtonImage_7, 20, 150, 59, 32, Image6)    ;1
        ButtonImageGadget(#ButtonImage_8, 90, 150, 59, 32, Image7)    ;2
        ButtonImageGadget(#ButtonImage_9, 160, 150, 59, 32, Image8)   ;3
        ButtonImageGadget(#ButtonImage_11, 230, 110, 59, 32, Image9)  ;+
        ButtonImageGadget(#ButtonImage_12, 230, 70, 59, 32, Image10)  ;C
        ButtonImageGadget(#ButtonImage_13, 20, 190, 59, 32, Image11)  ;.
        ButtonImageGadget(#ButtonImage_14, 90, 190, 59, 32, Image12)  ;0
        ButtonImageGadget(#ButtonImage_15, 160, 190, 59, 32, Image13) ;%
        ButtonImageGadget(#ButtonImage_16, 230, 190, 59, 32, Image14) ;*
        ButtonImageGadget(#ButtonImage_17, 20, 230, 59, 32, Image15)  ;++
        ButtonImageGadget(#ButtonImage_18, 90, 230, 59, 32, Image16)  ;--
        ButtonImageGadget(#ButtonImage_19, 160, 230, 59, 32, Image17) ;=
        ButtonImageGadget(#ButtonImage_20, 230, 230, 59, 32, Image18) ;/
        ButtonImageGadget(#ButtonImage_22, 230, 150, 59, 32, Image19) ;-
        StringGadget(#String_2, 20, 25, 270, 30, "",#PB_String_Numeric | #PB_Text_Right)


      EndIf
      

    EndIf
 
Repeat


    Select WaitWindowEvent()

      Case #PB_Event_Menu

        Select EventMenu()  ; To see which menu has been selected

          Case 1 ; Beenden
            End
          Case 2 ; Addieren
          Funktionen = 1
          Case 3 ; Subtrahieren
          Funktionen = 2
          Case 4 ; Multiplizieren
          Funktionen = 3
          Case 5 ; Dividieren
          Funktionen = 4
          Case 6 ; Ergebnis
          Funktionen = 5
          Case 7 ; Prozentrechnen
          Case 8 ; Anzeige leeren
          Funktionen.b = 0
          Case 9 ; Komma setzen
          Case 10; Vorzeichen +
          Case 11; Vorzeichen -
          Case 12; Binomische Formeln
          zweizeiler$ = "Die erste binomische Formel lautet : ( a + b ) ² = a ² + 2 a b + b ²   " + Chr(10) + "Die zweite binomische Formel lautet : ( a - b ) ² = a ² - 2 a b + b ² " + Chr(10) + "Die dritte binomische Formel lautet : ( a + b ) ( a - b )  = a ² - b ² "
          MessageRequester("Die binomischen Formeln",zweizeiler$,#PB_MessageRequester_Ok)
          Case 13; Pi berechnen
          Case 14; Anleitungen
          Case 15; Website
          Case 16; Über

        EndSelect

;Hier kommen die Rechenevente hin :

;Allgemeines
a = ValD(Eingabe)
SetGadgetText(#String_2, "")
Ergebnis.d = ValD(Eingabe)
x = Ergebnis.d + a

    EndSelect


  Until Quit = 1


End 


  

Verfasst: 02.04.2007 19:23
von Kaeru Gaman

Code: Alles auswählen

wenn irgendein rechenknopp gedrückt wird
  Eingabe.s = GetGadgetText(...
  Zahl.d = ValD(Eingabe.s)
  wenn Plus
    Ergebnis + Zahl
  wenn Minus
    Ergebnis - Zahl
  wenn Gleich
    Ausgabe(Ergebnis)
  wenn C
    Ergebnis = 0

Verfasst: 02.04.2007 19:32
von Fusselohr
Mein Rechenteil sind jetzt so aus :

Code: Alles auswählen

Eingabe.s = GetGadgetText(#String_2)
  Zahl.d = ValD(Eingabe.s)
  If Funktion = 1
    Ergebnis + Zahl
    EndIf
  If Funktion = 2
    Ergebnis - Zahl
    EndIf
  If Funktion = 5
    SetGadgetText(StrD(Ergebnis))
    EndIf
  If Funktion = 8
    Ergebnis = 0
    EndIf
bekomme ich folgende Meldung :

SetGadgetText() . Incorrect number of parameters.

Was hab ich jetzt schon wieder falsch gemacht :o ?

Verfasst: 02.04.2007 19:33
von Kaeru Gaman
so... das ist SO einfach, dass du selber drauf kommst.

...drück im zweifel einfach mal F1 aus dem befehl der den fehler ausspuckt.

...was bedeutet denn wohl "incorrect number of parameters"?

Verfasst: 02.04.2007 19:36
von Fusselohr
Es heißt :

Code: Alles auswählen

SetGadgetText(StrD,Ergebnis$)