Taschenrechner ( Anfänger :-)

  • Hallo liebe Autoit community :)
    ich hab vor kurzem Autoit entdeckt und finde diese sprache wirklich klasse :thumbup:
    Jetzt habe ich ein erstes Programm geschrieben , einen Taschenrechner !, ( ich bin Anfänger also nichts großes ;) )
    und ich wollte ihn mal hier reinstellen um Lob ,Kritik etc. zu bekommen
    Code:

    [autoit]

    #region
    #AutoIt3Wrapper_Icon=Rechner.ico
    #AutoIt3Wrapper_UseUpx=n
    #endregion

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

    #include <GUIConstantsEx.au3>
    #include<EditConstants.au3>

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

    Global $komma = 1

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

    $Form1 = GUICreate("Taschenrechner", 350, 200, 150, 100)
    GUICtrlSetDefColor(0xFF0000)
    GUICtrlCreateTab(0, 0, 200, 30)
    GUICtrlCreateTabItem("Rechnen")
    $ausrechnen = GUICtrlCreateButton("Ausrechnen", 180, 40, 100, 21)
    $Input3 = GUICtrlCreateInput("", 8, 40, 160, 21,$ES_NUMBER)
    GUICtrlCreateTabItem("Wurzeln")
    $label_W = GUICtrlCreateLabel("Wurzeln:", 8, 40, 136, 30)
    $input5 = GUICtrlCreateInput("Zahl", 65, 40, 120, 30,$ES_NUMBER)
    $button2 = GUICtrlCreateButton("Wurzel ziehen!", 200, 40, 100, 30)
    GUICtrlCreateTabItem("Zufallsgenerator")
    $label2 = GUICtrlCreateLabel("Min:", 10, 40)
    $input6 = GUICtrlCreateInput("", 40, 40, 100, 20,$ES_NUMBER)
    $label3 = GUICtrlCreateLabel("Max:", 10, 70)
    $input7 = GUICtrlCreateInput("", 40, 70, 100, 20,$ES_NUMBER)
    $button3 = GUICtrlCreateButton("Go!", 160, 40, 100, 20)
    $input8 = GUICtrlCreateInput("Ergebnis", 160, 70, 100, 20,$ES_NUMBER)
    $check1 = GUICtrlCreateCheckbox("Kommazahlen", 10, 100)
    $check2 = GUICtrlCreateCheckbox("keine Kommazahlen", 10, 130)

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

    GUISetState(@SW_SHOW)

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

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

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

    Case $ausrechnen
    $lesen = GUICtrlRead($Input3)
    $rechnen = Execute($lesen)
    $setzen = GUICtrlSetData($Input3, $rechnen)

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

    Case $button2
    $var4 = GUICtrlRead($input5)
    $wurzel = Sqrt($var4)
    GUICtrlSetData($input5, $wurzel)

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

    Case $check1
    $komma = 0

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

    Case $check2
    $komma = 1

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

    Case $button3
    $var5 = GUICtrlRead($input6)
    $var6 = GUICtrlRead($input7)
    $rand = Random($var5, $var6, $komma)
    GUICtrlSetData($input8, $rand)

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

    EndSwitch
    WEnd

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


    P.S: bitte nicht zu streng mit mir Noob sein :D

  • Hallo Silvester.

    Ich habe mal den Anhang gescannt und dann für Dich online getsellt.

    Sieht dann so aus:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Bilder\Rechner.ico
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include<StaticConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    GUICreate("Starte....",450,460,500,500)
    GUICtrlCreatePic("Bilder/Unbenannt.bmp",0,-0,500,500)
    GUISetState(@SW_HIDE)

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

    for $var =0 to 255 step +1

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

    WinSetTrans("Starte....","",$var)
    GUISetState(@SW_SHOW,"Form1")

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

    sleep(15)
    Next
    sleep(1500)
    GUIDelete("Starte....")

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

    #region ### START Koda GUI section ### Form=
    global $komma = 1
    $Form1 = GUICreate("Taschenrechner", 650, 600, 150, 100)
    GUICtrlSetDefColor(0xFF0000)
    $Input1 = GUICtrlCreateInput("1.Zahl", 8, 136, 113, 21)
    $Input2 = GUICtrlCreateInput("2.Zahl", 216, 136, 137, 21)
    $Input3 = GUICtrlCreateInput("+/-/:/*", 144, 136, 41, 21)
    $Input4 = GUICtrlCreateInput("Ergebnis", 460, 136, 152, 21)
    $Rechne = GUICtrlCreateButton("Rechne", 368, 136, 89, 25)
    $pic = GUICtrlCreatePic("Bilder/banner4.bmp", 0, 0, 648, 127)
    $pic = GUICtrlCreatePic("Bilder/banner2.bmp", 0, 470, 648, 127)
    $input5 = GUICtrlCreateInput("Zahl", 8, 200, 136, 30)
    $button2 = GUICtrlCreateButton("Wurzel ziehen!", 150, 200, 136, 30)
    $label1 = GUICtrlCreateLabel("Zufallsgenerator",10,250)
    $label2 = GUICtrlCreateLabel("Min:",10,280)
    $input6 = GUICtrlCreateInput("",40,280,100,20)
    $label3 = GUICtrlCreateLabel("Max:",160,280)
    $input7 = GUICtrlCreateInput("",200,280,100,20)
    $button3 = GUICtrlCreateButton("Go!",326,280,100,20)
    $input8 = GUICtrlCreateInput("Ergebnis",450,280,100,20)
    $check1 = GUICtrlCreateCheckbox("Kommazahlen",10,320)
    $check2 = GUICtrlCreateCheckbox("keine Kommazahlen",10,340)
    ;$pic3 = GUICtrlCreatePic("banner3.bmp",0,370,660,100)
    ;$pic4 = GUICtrlCreatePic("banner3.bmp",130,310,550,64)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Rechne
    $var1 = GUICtrlRead($Input3)
    $var2 = GUICtrlRead($Input1)
    $var3 = GUICtrlRead($Input2)
    If $var1 == "+" Then
    GUICtrlSetData($Input4, $var2 + $var3)

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

    EndIf
    If $var1 == "-" Then
    GUICtrlSetData($Input4, $var2 - $var3)
    EndIf
    If $var1 == "/" then
    GUICtrlSetData($Input4, $var2 / $var3)
    EndIf
    if $var1 = ":" Then
    GUICtrlSetData($Input4, $var2 / $var3)
    EndIf

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

    If $var1 == "*" Then
    GUICtrlSetData($Input4, $var2 * $var3)
    EndIf
    Case $button2
    $var4 = GUICtrlRead($input5)
    $wurzel = Sqrt($var4)
    GUICtrlSetData($input5, $wurzel)
    case $check1
    $komma = 0
    case $check2
    $komma = 1
    case $button3
    $var5=GUICtrlRead($input6)
    $var6 = GUICtrlRead($input7)
    $rand = Random($var5,$var6,$komma)
    GUICtrlSetData($input8,$rand)

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

    EndSwitch
    WEnd

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • So kleine Verbesserung folgende Includes sind überflüssig und kannst du entfernen:

    ButtonConstants.au3
    EditConstants.au3
    StaticConstants.au3
    WindowConstants.au3

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hab auch 2 Sachen anzumerken.

    Mach die GUI etwas kleiner un übersichtlicher. :)

    Und entferne den gefakten Ladevorgang am Anfang. :D (Nicht böse gemeint)

  • Alina
    Danke fürs einfügen :) Hab jetzt auch nochmal den neuen Code eingefügt , lag an Chrome mit Firefox wird alles gut Dargestellt

    chip
    *schuldaufKodaschieb* geändert ;)

    @Prixma
    GUI ist überarbeitet , sie ist kleiner und die "bescheidenen" Bilder sind weg
    Ladevorgang ist auskommentiert war auch eher ein Experiment obs überhaupt funktioniert

    LG Silvester

  • [autoit]


    #AutoIt3Wrapper_Icon=Rechner.ico
    #AutoIt3Wrapper_UseUpx=n
    #endregion
    #cs =================================================================

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

    Herzlich Willkommen in der Welt von AutoIt und viel Spaß !

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

    #ce =================================================================

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

    Global $komma = 1

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

    $Form1 = GUICreate("Taschenrechner", 650, 250, 150, 100)
    GUICtrlSetDefColor(0xFF0000)
    $Input1 = GUICtrlCreateInput("1.Zahl", 8, 16, 113, 21)
    ;~ $pic1 = GUICtrlCreatePic("banner.bmp", 0, 60, 650, 4)
    ;~ $pic2 = GUICtrlCreatePic("banner.bmp", 0, 125, 650, 4)
    $Input2 = GUICtrlCreateInput("2.Zahl", 216, 16, 137, 21)
    $Input3 = GUICtrlCreateInput("+/-/:/*", 144, 16, 41, 21)
    $Input4 = GUICtrlCreateInput("Ergebnis", 460, 16, 152, 21)
    $Rechne = GUICtrlCreateButton("Rechne", 368, 16, 89, 25)
    $label_W = GUICtrlCreateLabel("Wurzeln:", 8, 88, 136, 30)
    $input5 = GUICtrlCreateInput("Zahl", 120, 80, 136, 30)
    $button2 = GUICtrlCreateButton("Wurzel ziehen!", 280, 80, 136, 30)
    $label1 = GUICtrlCreateLabel("Zufallsgenerator", 10, 130)
    $label2 = GUICtrlCreateLabel("Min:", 10, 150)
    $input6 = GUICtrlCreateInput("", 40, 150, 100, 20)
    $label3 = GUICtrlCreateLabel("Max:", 160, 150)
    $input7 = GUICtrlCreateInput("", 200, 150, 100, 20)
    $button3 = GUICtrlCreateButton("Go!", 326, 150, 100, 20)
    $input8 = GUICtrlCreateInput("Ergebnis", 450, 150, 100, 20)
    $check1 = GUICtrlCreateCheckbox("Kommazahlen", 10, 180)
    $check2 = GUICtrlCreateCheckbox("keine Kommazahlen", 10, 200)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $Rechne
    $var1 = GUICtrlRead($Input3)
    $var2 = GUICtrlRead($Input1)
    $var3 = GUICtrlRead($Input2)

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

    Switch $var1
    Case "+"
    GUICtrlSetData($Input4, $var2 + $var3)
    Case "-"
    GUICtrlSetData($Input4, $var2 - $var3)
    Case "/"
    GUICtrlSetData($Input4, $var2 / $var3)
    Case ":"
    GUICtrlSetData($Input4, $var2 / $var3)
    Case "*"
    GUICtrlSetData($Input4, $var2 * $var3)
    EndSwitch

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

    Case $button2
    $var4 = GUICtrlRead($input5)
    $wurzel = Sqrt($var4)
    GUICtrlSetData($input5, $wurzel)
    Case $check1
    $komma = 0
    Case $check2
    $komma = 1
    Case $button3
    $var5 = GUICtrlRead($input6)
    $var6 = GUICtrlRead($input7)
    $rand = Random($var5, $var6, $komma)
    GUICtrlSetData($input8, $rand)
    EndSwitch
    WEnd

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

    ; Ende

    [/autoit]
  • Find ich für den Anfang echt gut! Hab auch mit woas angefangen.

    Wenn du dich weiter "Fordern" willst, versuche es dich mal bei den +, -, *, / Rechnungen nur EIN Inputfeld zu nehmen und dann die Rechenzeichen rauszulesen. Ist ne schwere Aufgabe für den Anfang, aber würde das ganze enorm verbessern.

    mfg
    Hauke

    ps.: dazu gibt es eine menge String Befehle ( siehe Hilde-Datei )

  • Find ich für den Anfang echt gut! Hab auch mit woas angefangen.

    Wenn du dich weiter "Fordern" willst, versuche es dich mal bei den +, -, *, / Rechnungen nur EIN Inputfeld zu nehmen und dann die Rechenzeichen rauszulesen. Ist ne schwere Aufgabe für den Anfang, aber würde das ganze enorm verbessern.

    mfg
    Hauke

    ps.: dazu gibt es eine menge String Befehle ( siehe Hilde-Datei )

    Huhu hauke :)
    Ich habs mal versucht mit dem nur einem Inputfeld aber es klappt bei mir nicht wäre nett wenn du bzw. die anderen mal versuchen köntet den Kauderwelsch den ich geschrieben habe ( hab schon fast 2 h damit verbracht zu versuchen das hinzubekommen deswegen sieht der code auch etwas verkorkst aus :D ) zu entwirren und mir sagen könnt warum es nciht funktioniert..... habs es jetzt erstmal (für den anfang , später will ich dann versuchen ohne checkboxen etc zu machen) so gelöst das ich checkboxen gemacht habe für plus,minus,geteilt und mal .....nur leider funktioniert es nicht sehr gut man kann nur einmal rechnen danach kommt ein fehler....
    hier der code:

    [autoit]

    #region
    #AutoIt3Wrapper_Icon=Rechner.ico
    #AutoIt3Wrapper_UseUpx=n
    #endregion

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

    #include <GUIConstantsEx.au3>
    #include<Array.au3>
    #include<String.au3>

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

    Global $komma = 1

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

    $Form1 = GUICreate("Taschenrechner", 650, 250, 150, 100)
    GUICtrlSetDefColor(0xFF0000)
    $pic1 = GUICtrlCreatePic("banner.bmp", 0, 60, 650, 4)
    $pic2 = GUICtrlCreatePic("banner.bmp", 0, 136, 650, 4)
    $check3 = GUICtrlCreateCheckbox("Plus", 200, 16, 50, 21)
    $check4 = GUICtrlCreateCheckbox("Minus", 260, 16, 50, 21)
    $check5 = GUICtrlCreateCheckbox("Geteilt", 320, 16, 50, 21)
    $check6 = GUICtrlCreateCheckbox("Mal", 380, 16, 50, 21)
    $Input3 = GUICtrlCreateInput("xyz */:/+/- xyz", 8, 16, 160, 21)
    $label_W = GUICtrlCreateLabel("Wurzeln:", 8, 88, 136, 30)
    $input5 = GUICtrlCreateInput("Zahl", 120, 80, 136, 30)
    $button2 = GUICtrlCreateButton("Wurzel ziehen!", 280, 80, 136, 30)
    $label1 = GUICtrlCreateLabel("Zufallsgenerator", 10, 3300)
    $label2 = GUICtrlCreateLabel("Min:", 10, 150)
    $input6 = GUICtrlCreateInput("", 40, 150, 100, 20)
    $label3 = GUICtrlCreateLabel("Max:", 160, 150)
    $input7 = GUICtrlCreateInput("", 200, 150, 100, 20)
    $button3 = GUICtrlCreateButton("Go!", 326, 150, 100, 20)
    $input8 = GUICtrlCreateInput("Ergebnis", 450, 150, 100, 20)
    $check1 = GUICtrlCreateCheckbox("Kommazahlen", 10, 180)
    $check2 = GUICtrlCreateCheckbox("keine Kommazahlen", 10, 200)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $check3
    plus()

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

    Case $check4
    Minus()
    Case $check5
    geteilt()
    Case $check6
    mal()

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

    Case $button2
    $var4 = GUICtrlRead($input5)
    $wurzel = Sqrt($var4)
    GUICtrlSetData($input5, $wurzel)
    Case $check1
    $komma = 0
    Case $check2
    $komma = 1
    Case $button3
    $var5 = GUICtrlRead($input6)
    $var6 = GUICtrlRead($input7)
    $rand = Random($var5, $var6, $komma)
    GUICtrlSetData($input8, $rand)

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

    EndSwitch
    WEnd

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

    Func plus()

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

    $1 = "["
    $2 = "]"

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

    $lesen = GUICtrlRead($Input3)
    $setzen = GUICtrlSetData($Input3, "[" & $lesen & "]")
    $lesen_2 = GUICtrlRead($Input3)
    $beetween1 = _StringBetween($lesen_2, $1, "+")
    $beetween2 = _StringBetween($lesen_2, "+", $2)

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

    $laden = GUICtrlSetData($Input3, $beetween1[0] + $beetween2[0])
    Sleep(1000)


    EndFunc ;==>plus

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

    Func Minus()
    $1 = "["
    $2 = "]"

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

    $lesen = GUICtrlRead($Input3)
    $setzen = GUICtrlSetData($Input3, "[" & $lesen & "]")
    $lesen_2 = GUICtrlRead($Input3)
    $beetween1 = _StringBetween($lesen_2, $1, "-")
    $beetween2 = _StringBetween($lesen_2, "-", $2)

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

    GUICtrlSetData($Input3, $beetween1[0] - $beetween2[0])
    EndFunc ;==>Minus

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

    Func geteilt()
    $1 = "["
    $2 = "]"

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

    $lesen = GUICtrlRead($Input3)
    $setzen = GUICtrlSetData($Input3, "[" & $lesen & "]")
    $lesen_2 = GUICtrlRead($Input3)
    $beetween1 = _StringBetween($lesen_2, $1, "/")
    $beetween2 = _StringBetween($lesen_2, "/", $2)

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

    GUICtrlSetData($Input3, $beetween1[0] / $beetween2[0])
    EndFunc ;==>geteilt

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

    Func mal()
    $1 = "["
    $2 = "]"

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

    $lesen = GUICtrlRead($Input3)
    $setzen = GUICtrlSetData($Input3, "[" & $lesen & "]")
    $lesen_2 = GUICtrlRead($Input3)
    $beetween1 = _StringBetween($lesen_2, $1, "*")
    $beetween2 = _StringBetween($lesen_2, "*", $2)

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

    GUICtrlSetData($Input3, $beetween1[0] * $beetween2[0])
    EndFunc ;==>mal

    [/autoit]
  • Mit

    [autoit]

    Execute()

    [/autoit]

    sollte es noch einfacher funktionieren (Es können dann aber auch andere Befehle über den Input reingelassen werden ^^)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Normalerweise mache ich sowas ja nciht, einfach Scripte für andere zu Coden ( wenn die nicht mer wieterwissen ), aber hier mach ich mal eine Ausnahme, weil das wirklich ein gewusel war ;)

    hier also der Code mit Kommentaren:

    Spoiler anzeigen
    [autoit]

    #region
    #AutoIt3Wrapper_Icon=Rechner.ico
    #AutoIt3Wrapper_UseUpx=n
    #endregion

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

    #include <GUIConstantsEx.au3>
    #include<Array.au3>
    #include<String.au3>

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

    Global $komma = 1

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

    $Form1 = GUICreate("Taschenrechner", 650, 250)
    GUICtrlSetDefColor(0xFF0000)
    $pic1 = GUICtrlCreatePic("banner.bmp", 0, 60, 650, 4)
    $pic2 = GUICtrlCreatePic("banner.bmp", 0, 136, 650, 4)
    $Button_M1 = GUICtrlCreateButton("Methode 1", 180, 20, 100, 20) ; Button für die 1. Methode
    $Button_M2 = GUICtrlCreateButton("Methode 2", 290, 20, 100, 20) ; Button für die 2. Methode
    $Input3 = GUICtrlCreateInput("", 8, 16, 160, 21)
    $label_W = GUICtrlCreateLabel("Wurzeln:", 8, 88, 136, 30)
    $input5 = GUICtrlCreateInput("Zahl", 120, 80, 136, 30)
    $button2 = GUICtrlCreateButton("Wurzel ziehen!", 280, 80, 136, 30)
    $label1 = GUICtrlCreateLabel("Zufallsgenerator", 10, 3300)
    $label2 = GUICtrlCreateLabel("Min:", 10, 150)
    $input6 = GUICtrlCreateInput("", 40, 150, 100, 20)
    $label3 = GUICtrlCreateLabel("Max:", 160, 150)
    $input7 = GUICtrlCreateInput("", 200, 150, 100, 20)
    $button3 = GUICtrlCreateButton("Go!", 326, 150, 100, 20)
    $input8 = GUICtrlCreateInput("Ergebnis", 450, 150, 100, 20)
    $check1 = GUICtrlCreateCheckbox("Kommazahlen", 10, 180)
    $check2 = GUICtrlCreateCheckbox("keine Kommazahlen", 10, 200)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button2
    $var4 = GUICtrlRead($input5)
    $wurzel = Sqrt($var4)
    GUICtrlSetData($input5, $wurzel)
    Case $button3
    $var5 = GUICtrlRead($input6)
    $var6 = GUICtrlRead($input7)
    $rand = Random($var5, $var6, $komma)
    GUICtrlSetData($input8, $rand)
    case $Button_M1
    $Input_Read = GUICtrlRead($Input3)
    Select
    case StringInStr($Input_Read, "+") <> 0 ; Prüft ob in dem Inputfeld ein + zeichen ist ( unten eben die anderen )
    $op = 1 ; Also +
    case StringInStr($Input_Read, "-") <> 0 ; <> 0 heißt, dass in dem String ( also $Input_Read ) auch wirklich dieses zeichen vorkommt
    $op = 2 ; Also -
    case StringInStr($Input_Read, "*") <> 0
    $op = 3 ; Also *
    case StringInStr($Input_Read, "/") <> 0
    $op = 4 ; Also /
    case StringInStr($Input_Read, ":") <> 0 ; der doppelpunkt ( : ) heißt auch geteilt
    $op = 5 ; Also :
    EndSelect
    _CheckOp($op)
    case $Button_M2
    $ergebnis = Execute(GUICtrlRead($Input3)) ; Führt die rechnung, die man eingegeben hat aus
    GUICtrlSetData($Input3, $ergebnis)
    EndSwitch
    WEnd
    func _CheckOp($Operator)
    $Input_Read = GUICtrlRead($Input3)
    Select
    case $Operator = 1
    $Input_split = StringSplit($Input_Read, "+")
    $ergebnis = $Input_split[1] + $Input_split[2]
    case $Operator = 2
    $Input_split = StringSplit($Input_Read, "-")
    $ergebnis = $Input_split[1] - $Input_split[2]
    case $Operator = 3
    $Input_split = StringSplit($Input_Read, "*")
    $ergebnis = $Input_split[1] * $Input_split[2]
    case $Operator = 4
    $Input_split = StringSplit($Input_Read, "/")
    $ergebnis = $Input_split[1] / $Input_split[2]
    case $Operator = 5
    $Input_split = StringSplit($Input_Read, ":")
    $ergebnis = $Input_split[1] / $Input_split[2]
    EndSelect
    GUICtrlSetData($Input3, $ergebnis)
    Return
    EndFunc

    [/autoit]


    Vorteil der 2. Mthode: Man kann Sachen wie 6*5/8 eingeben und es kommt 3.75 raus, bei der 1. Methode rechnet er nur den ersten Schritt ( also 6*5 ).

    mfg
    Hauke

  • Mit

    [autoit]

    Execute()

    [/autoit]

    sollte es noch einfacher funktionieren (Es können dann aber auch andere Befehle über den Input reingelassen werden ^^)

    Erstmal danke :) ,
    aber könntest du mir das noch ein bisschen genauer erklären wie ich den befehl anwenden soll? der befehl gibt ja einfach den string zurück ( so habe ichs zumindest verstanden )
    Edit : Vielen dank Hauke,
    hab mal flüchtig drübergeguckt und bin noch bisschen verwirrt ?(
    werde mir morgen früh mal die Zeit nehmen und den Code durcharbeiten dann sollte ichs auch verstehen :thumbup:

    Einmal editiert, zuletzt von Silvester (21. Dezember 2011 um 19:50)

  • http://translation.autoit.de/onlinehilfe/functions/Execute.htm
    ;) Execute füührt einen String wie eine Funktion aus. Wenn du

    [autoit]

    Execute ("MsgBox (0, 'Test', 'Dieser String wird als Funktion ausgeführt')")

    [/autoit]

    ausführst wird der String wie eine Zeile in SciTE ausgeführt.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Ich finde das für den Anfang ganz gut. Noch ein Vorschlag:
    Verwende den Input-Style "$ES_NUMBER" um sicherzugehen, dass man nur Nummern in die Felder einschreiben kann ;)

    Meine fertigen Projekte:
    VirtualCash
    Monopoly Digital

    Daran arbeite ich gerade:
    Einem Skript, womit man ohne Programmierkentisse eigene Programme machen kann (habe ich selber früher gesucht :D ) Stand: ||||||||||||||||||||||||| 6%