Kleines Rechenprogramm zeigt keine Nachkommastellen an

  • Nabend,
    Ich habe mich an einem kleinen Rechenprogramm versucht, undzwar soll er mir beim Interpolieren helfen sprich, ich trage da alles Ein und Drücke noch auf einen Knopf. Mein Problem ist nun er zeigt mir keine Nachkommastellen an obwohl ich zahlen mit Komma benutzt habe. Wie kann ich das machen?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Interpolatation Rechner 0.1", 483, 178, 361, 255)
    $Pic1 = GUICtrlCreatePic("hintergrund.bmp", 0, 0, 481, 105, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Input1 = GUICtrlCreateInput("Feld 1", 144, 54, 81, 21)
    $Input2 = GUICtrlCreateInput("Feld 2", 40, 80, 81, 21)
    $Input3 = GUICtrlCreateInput("Feld 3", 144, 80, 81, 21)
    $Input4 = GUICtrlCreateInput("Feld 4", 248, 54, 89, 21)
    $Input5 = GUICtrlCreateInput("Feld 5", 352, 54, 89, 21)
    $Input6 = GUICtrlCreateInput("Feld 6", 248, 80, 89, 21)
    $Input7 = GUICtrlCreateInput("Feld 7", 352, 80, 89, 21)
    $Loesung = GUICtrlCreateButton("Loesung", 144, 128, 193, 33, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Loesung
    loesung()
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    func loesung()
    $1 = $Input1
    $2 = $Input2 - $Input3
    $3 = $Input4 - $Input5
    $4 = $Input6 - $Input7
    $bruch = $3 / $4
    $multi = $bruch * $2
    $ergebnis = $multi + $1
    MsgBox (0,"Rechnen mit Autoit",$ergebnis) ;Ausgabe der Rechenaufgabe
    EndFunc

    [/autoit]


    vil kann mir wer helfen.
    mfg Kangtar

    Einmal editiert, zuletzt von Kangtar (28. Dezember 2009 um 23:18)

    • Offizieller Beitrag

    Hallo, Du rechnest nicht mit den Daten aus den Inputboxen sondern mit den ControlID's. An die Daten kommst Du mit GUICtrlRead!

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Interpolatation Rechner 0.1", 483, 178, 361, 255)
    $Pic1 = GUICtrlCreatePic("hintergrund.bmp", 0, 0, 481, 105, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Input1 = GUICtrlCreateInput("Feld 1", 144, 54, 81, 21)
    $Input2 = GUICtrlCreateInput("Feld 2", 40, 80, 81, 21)
    $Input3 = GUICtrlCreateInput("Feld 3", 144, 80, 81, 21)
    $Input4 = GUICtrlCreateInput("Feld 4", 248, 54, 89, 21)
    $Input5 = GUICtrlCreateInput("Feld 5", 352, 54, 89, 21)
    $Input6 = GUICtrlCreateInput("Feld 6", 248, 80, 89, 21)
    $Input7 = GUICtrlCreateInput("Feld 7", 352, 80, 89, 21)
    $Loesung = GUICtrlCreateButton("Loesung", 144, 128, 193, 33, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Loesung
    loesung()
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    func loesung()
    $1 = GuictrlRead($Input1)
    $2 = GuictrlRead($Input2) - GuictrlRead($Input3)
    $3 = GuictrlRead($Input4) - GuictrlRead($Input5)
    $4 = GuictrlRead($Input6) - GuictrlRead($Input7)
    $bruch = $3 / $4
    $multi = $bruch * $2
    $ergebnis = $multi + $1
    MsgBox (0,"Rechnen mit Autoit",$ergebnis) ;Ausgabe der Rechenaufgabe
    EndFunc

    [/autoit]


    EDIT: Mis ist aufgefallen, dass es float() in Autoit nicht gibt und als ich es korrigieren wollte, war Internet weg.

    • Offizieller Beitrag

    Um Werte aus den Controls auszulesen, mußt du GUICtrlRead nehmen. Du rechnest nicht mit den Werten, sondern mit den ControlID´s.


    Edit OMG bin ich heute lahm.

  • Nabend,
    Danke für die vielen Antworten. Ok hiermit ist dann mein Problem gelöst. Muss ich mir mal für die zukunft dann merken.
    mfg Kangtar