Taschenrechner Error

  • Hallo com,
    Ich brauch mal einen rat/tipp wie ich denn fehler beheben kann.
    Ich hab mir einen Taschenrechner gebastelt. Aber irgendwie kapier ich nicht was ich falsch gemacht habe, wenn ich in AutoIt F5/Go drücke zeigt er mir einen Fehler an "ERROR: GUICreateRead(): undefined function." Aber ich hab keinen Plan wo oder wie ich denn Fehler beheben kann. Kann mir wer helfen ? Hier der Script:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.8.1 Author: myName
    Script Function: Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ButtonConstants.au3>#include <EditConstants.au3>#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=$Form1 = GUICreate("Form1", 905, 764, 203, 128)$Button1 = GUICtrlCreateButton("Start", 328, 520, 345, 177)$Input1 = GUICtrlCreateInput("", 256, 56, 449, 24)$Input2 = GUICtrlCreateInput("", 256, 104, 449, 24)$Input3 =GUICtrlCreateInput("", 256, 152, 105, 24)$Label1 = GUICtrlCreateLabel("Zahl1", 200, 64, 37, 20)$Label2 = GUICtrlCreateLabel("Zahl2", 200, 104, 37, 20)$Label3 = GUICtrlCreateLabel("Rechenzeichen", 136, 152, 97, 20)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
    While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $Zahl1 = GUICreateRead($Input1) $Zahl2 = GUICreateRead($Input2) $Zahl3 = GUICreateRead($Input3)
    IF $Zahl3 = ("+") Then $Zahl4 = $Zahl1 + $Zahl2 MsgBox(0,"Taschenrechner",$Zahl4) EndIf
    IF $Zahl3 = ("-") Then $Zahl4 = $Zahl1 - $Zahl2 MsgBox(0,"Taschenrechner",$Zahl4) EndIf
    IF $Zahl3 = ("*") Then $Zahl4 = $Zahl1 * $Zahl2 MsgBox(0,"Taschenrechner",$Zahl4) EndIf
    IF $Zahl3 = ("/") Then $Zahl4 = $Zahl1 / $Zahl2 MsgBox(0,"Taschenrechner",$Zahl4) EndIf

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

    EndSwitchWEnd

    [/autoit]

    Einmal editiert, zuletzt von xH0P3xD0P3x (5. April 2013 um 22:43)

  • Auch ohne dein zerstückeltes, unlesbares Script lesen zu können, kann ich dir direkt sagen wo der Fehler liegt...
    Du musst lediglich beachten, wie man Funktionen schreibt. Die Funktion GUICreateRead existiert nicht, das sagt dir auch der AutoIt Error (abgesehen davon macht diese Bezeichnung keinen Sinn, deine Englischkenntnisse sind.. erschreckend).
    Ich gehe jetzt einfach mal davon aus, dass du nach der Funktion GUICtrlRead suchst.

  • Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.8.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 905, 764, 203, 128)
    $Button1 = GUICtrlCreateButton("Start", 328, 520, 345, 177)
    $Input1 = GUICtrlCreateInput("", 256, 56, 449, 24)
    $Input2 = GUICtrlCreateInput("", 256, 104, 449, 24)
    $Input3 =GUICtrlCreateInput("", 256, 152, 105, 24)
    $Label1 = GUICtrlCreateLabel("Zahl1", 200, 64, 37, 20)
    $Label2 = GUICtrlCreateLabel("Zahl2", 200, 104, 37, 20)
    $Label3 = GUICtrlCreateLabel("Rechenzeichen", 136, 152, 97, 20)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $Zahl1 = GUICreateRead($Input1)
    $Zahl2 = GUICreateRead($Input2)
    $Zahl3 = GUICreateRead($Input3)

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

    IF $Zahl3 = ("+") Then
    $Zahl4 = $Zahl1 + $Zahl2
    MsgBox(0,"Taschenrechner",$Zahl4)
    EndIf

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

    IF $Zahl3 = ("-") Then
    $Zahl4 = $Zahl1 - $Zahl2
    MsgBox(0,"Taschenrechner",$Zahl4)
    EndIf

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

    IF $Zahl3 = ("*") Then
    $Zahl4 = $Zahl1 * $Zahl2
    MsgBox(0,"Taschenrechner",$Zahl4)
    EndIf

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

    IF $Zahl3 = ("/") Then
    $Zahl4 = $Zahl1 / $Zahl2
    MsgBox(0,"Taschenrechner",$Zahl4)
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]


    ^^ ah so geht das also richtig ^^

  • Du hättest auch einfach Post #1 bearbeiten können...

    Wie man das Problem löst hat dir name22 ja schon gesagt.
    Seine anderen Tipps solltest du dir auch zu Herzen nehmen.

    Post Scriptum:
    Und wenn dein Problem dann gelöst ist kannst du dieses Thema durch bearbeiten des 1. Beitrages entsprechend kennzeichnen.

  • name22

    tut mir schrecklich leid das ich jetzt extra deshalb ein Thema eröffnet habe, ich Scripte erst seit 2 Tagen ^^ und kenne mich noch nicht so gut mit den ganzen Kürzeln aus

  • Macht ja nichts, obwohl es wirklich kein Aufwand sein dürfte nach der richtigen Funktion zu Googlen oder einen Blick in die deutsche AutoIt Hilfe zu werfen. Allerdings kannst du feststellen ob du Funktionen die im Standardfunktionsumfang von AutoIt enthalten sind richtig geschrieben hast, indem du auf ihre Farbe im Syntaxhighlighting von Scite achtest. Integrierte Funktionen sind dunkelblau gefärbt, solche aus UDFs hellblau (zumindest nach dem alten Farbsystem).

  • Create ist das Englische Wort für "erstellen".
    Ctrl steht für "Control".

    Weil du ein Control auslesen möchtest, ist "Ctrl" wohl eine bessere wahl als "Create".
    Das weiß ja sogar ich mit meinen miserablen Englischkünsten. :D

  • Okay danke , ich lese lieber noch ein bisschen was über das Arbeiten mit AutoIt auf google bevor ich mich ans nächste ding packe ^^

    Danke an euch alle =)

  • Hi und herzlich willkommen!
    Du kannst das Ganze noch einfacher gestalten:

    Spoiler anzeigen
    [autoit]


    ;#include <GUIConstantsEx.au3>
    Global $result
    #region ### START Koda GUI section ###
    $Form1 = GUICreate("Taschenrechner", 905, 764, 203, 128)
    $ButtonStart = GUICtrlCreateButton("Start", 328, 520, 345, 177)
    $InputZahl1 = GUICtrlCreateInput("", 256, 56, 449, 24)
    $InputZahl2 = GUICtrlCreateInput("", 256, 104, 449, 24)
    $InputRechenzeichen = GUICtrlCreateInput("", 256, 152, 105, 24)
    $LabelZahl1 = GUICtrlCreateLabel("Zahl1", 200, 64, 37, 20)
    $LabelZahl2 = GUICtrlCreateLabel("Zahl2", 200, 104, 37, 20)
    $LabelRechenzeichen = GUICtrlCreateLabel("Rechenzeichen", 136, 152, 97, 20)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3 ;$GUI_EVENT_CLOSE
    Exit
    Case $ButtonStart
    $Zahl1 = GUICtrlRead($InputZahl1)
    $Zahl2 = GUICtrlRead($InputZahl2)
    $Zahl3 = GUICtrlRead($InputRechenzeichen)

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

    If $Zahl3 = ("+") Then
    $result = $Zahl1 + $Zahl2
    EndIf

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

    If $Zahl3 = ("-") Then
    $result = $Zahl1 - $Zahl2
    EndIf

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

    If $Zahl3 = ("*") Then
    $result = $Zahl1 * $Zahl2
    EndIf

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

    If $Zahl3 = ("/") Then
    If $Zahl2 = 0 Then
    $result = "Fehler: Division durch Null !"
    Else
    $result = $Zahl1 / $Zahl2
    EndIf
    EndIf
    MsgBox(0, "Taschenrechner", $result)
    EndSwitch
    WEnd
    ; Ende

    [/autoit]