• Hallo... Ich wollte einfach zum Üben einen Taschenrechner machen... Ich bin mir sicher, der Code würde kürzer gehen, aber darauf kommt es mir (im moment) nicht an ^^
    eventuell findet von euch jemand den fehler, das wenn ich z.b. 6,4 mal 6 nehme das dann 5 rauskommt...

    Spoiler anzeigen
    [autoit]


    ; Copyright by Alexander I*** (Jonathan)
    ;~ Includes
    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <array.au3> ; <---- Brauche ich das?????
    $aufgabe = ""
    $ergebniss = ""
    ;~ Hier startet der GUI-Code
    $Gui = GUICreate("Taschenrechner",240,250); <-- Erstelle die GUI
    GUICtrlCreateLabel("Aufgabe:",5,8)
    GUICtrlCreateLabel("Ergebiss:",5,34)
    GUICtrlCreateLabel("© Copyright 2009 Jonathan Möwe",10,220)
    $aufgabenlabel = GUICtrlCreateInput($aufgabe,50,5)
    $ergebnisslabel = GUICtrlCreateInput($aufgabe,50,30)
    $Button0 = GUICtrlCreateButton("0", 10, 60,30,30, $WS_GROUP)
    $Button1 = GUICtrlCreateButton("1", 50, 60,30,30, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("2", 90, 60,30,30, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("3", 10, 100,30,30, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("4", 50, 100,30,30, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("5", 90, 100,30,30, $WS_GROUP)
    $Button6 = GUICtrlCreateButton("6", 10, 140,30,30, $WS_GROUP)
    $Button7 = GUICtrlCreateButton("7", 50, 140,30,30, $WS_GROUP)
    $Button8 = GUICtrlCreateButton("8", 90, 140,30,30, $WS_GROUP)
    $Button9 = GUICtrlCreateButton("9", 10, 180,30,30, $WS_GROUP)
    $Buttonkomma = GUICtrlCreateButton(",", 50, 180,30,30, $WS_GROUP)
    $Buttondel = GUICtrlCreateButton("del", 90, 180,30,30, $WS_GROUP)
    $Buttonplus = GUICtrlCreateButton("+", 130, 60,30,30, $WS_GROUP)
    $Buttonminus = GUICtrlCreateButton("-", 130, 100,30,30, $WS_GROUP)
    $Buttonmal = GUICtrlCreateButton("X", 130, 140,30,30, $WS_GROUP)
    $Buttongeteilt = GUICtrlCreateButton("/", 130, 180,30,30, $WS_GROUP)
    $Buttonrechnen = GUICtrlCreateButton("LOS !", 170, 60,50,150, $WS_GROUP)
    GUISetState(@SW_SHOW); <-- Zeige die GUI an
    ;~ Ende des GUI-Codes

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

    While 1 ; <-- Endlosschleife anfangen
    $nMsg = GUIGetMsg(); <-- Fange die Button-Events ab
    Switch $nMsg ;<-- Unterscheide die Events
    Case $GUI_EVENT_CLOSE ; <-- Wenn GUI geschlossen wird dann
    Exit ; <-- Skript beenden
    Case $Button0
    $aufgabe = $aufgabe & "0"

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

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button1
    $aufgabe = $aufgabe & "1"

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

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button2
    $aufgabe = $aufgabe & "2"

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

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button3
    $aufgabe = $aufgabe & "3"

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

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button4
    $aufgabe = $aufgabe & "4"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button5
    $aufgabe = $aufgabe & "5"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button6
    $aufgabe = $aufgabe & "6"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button7
    $aufgabe = $aufgabe & "7"

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

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button8
    $aufgabe = $aufgabe & "8"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Button9
    $aufgabe = $aufgabe & "9"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttonkomma
    $aufgabe = $aufgabe & ","

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttondel
    $aufgabe = ""
    $ergebniss = ""
    GUICtrlSetData($ergebnisslabel,$ergebniss)
    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttonplus
    $aufgabe = $aufgabe & "+"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttonminus
    $aufgabe = $aufgabe & "-"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttonmal
    $aufgabe = $aufgabe & "*"

    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttongeteilt
    $aufgabe = $aufgabe & "/"
    GUICtrlSetData($aufgabenlabel,$aufgabe)
    Case $Buttonrechnen
    $ergebniss = Execute($aufgabe)
    $aufgabe = ""
    GUICtrlSetData($aufgabenlabel,$aufgabe)
    GUICtrlSetData($ergebnisslabel,$ergebniss)
    EndSwitch ; <-- Ende des Unterscheidens
    WEnd ; <-- Beginne Schleife von Vorne

    [/autoit]
  • Interessant wären noch andere Standard Befehle, wie Sin, Cos, Tan, Wurzel, x^n, log, ln, n!, ...

    Wenn es denn nicht den Rahmen sprengt ;)


    0/1 = 0 (hhhmmm, das stimmt wohl nicht!)

    1/0 = 1.#INF (das geht auch nicht)


    Gruß.
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (6. Oktober 2009 um 13:23)

  • Hallo Jonathan !

    Eine schöne Arbeit, Du hast Dir viel Mühe gegeben. :thumbup:

    Bei Kommata kannst Du entweder mit „StringReplace“ jeweils umwandeln (siehe Oscar), oder die Verwendung des Komma von Anfang an verhindern.

    Der Einsatz von Includes hängt von den verwendeten Funktionen ab.
    Auch ein TRechner ohne Includes ist möglich.
    Hierzu schau Dir mal „OrganizeIncludes“ an.

    Spoiler anzeigen
    [autoit]


    ; TRechner - Demo by RR04

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

    $GUI = GUICreate("TRechner - Demo", 320, 200, -1, -1)
    $input = GUICtrlCreateInput("", 10, 10, 300, 20)
    $bnPlus = GUICtrlCreateButton("+", 10, 40, 75, 30)
    $bnMinus = GUICtrlCreateButton("-", 85, 40, 75, 30)
    $bnDiv = GUICtrlCreateButton("/", 160, 40, 75, 30)
    $bnMulti = GUICtrlCreateButton("*", 235, 40, 75, 30)
    $bn7 = GUICtrlCreateButton("7", 10, 70, 75, 30)
    $bn8 = GUICtrlCreateButton("8", 85, 70, 75, 30)
    $bn9 = GUICtrlCreateButton("9", 160, 70, 75, 30)
    $bnC = GUICtrlCreateButton("C", 235, 70, 75, 60)
    $bn4 = GUICtrlCreateButton("4", 10, 100, 75, 30)
    $bn5 = GUICtrlCreateButton("5", 85, 100, 75, 30)
    $bn6 = GUICtrlCreateButton("6", 160, 100, 75, 30)
    $bn1 = GUICtrlCreateButton("1", 10, 130, 75, 30)
    $bn2 = GUICtrlCreateButton("2", 85, 130, 75, 30)
    $bn3 = GUICtrlCreateButton("3", 160, 130, 75, 30)
    $bnResultat = GUICtrlCreateButton("=", 235, 130, 75, 60)
    $bn0 = GUICtrlCreateButton("0", 10, 160, 150, 30)
    $bnKoma = GUICtrlCreateButton(".", 160, 160, 75, 30)

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

    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case - 3
    MsgBox(64, "TRechner - Demo", "Viel Spaß wünscht RR04 !" & @TAB, 3)
    Exit
    Case $bnC
    GUICtrlSetData($input, "")
    Case $bn1
    GUICtrlSetData($input, GUICtrlRead($input) & "1")
    Case $bn2
    GUICtrlSetData($input, GUICtrlRead($input) & "2")
    Case $bn3
    GUICtrlSetData($input, GUICtrlRead($input) & "3")
    Case $bn4
    GUICtrlSetData($input, GUICtrlRead($input) & "4")
    Case $bn5
    GUICtrlSetData($input, GUICtrlRead($input) & "5")
    Case $bn6
    GUICtrlSetData($input, GUICtrlRead($input) & "6")
    Case $bn7
    GUICtrlSetData($input, GUICtrlRead($input) & "7")
    Case $bn8
    GUICtrlSetData($input, GUICtrlRead($input) & "8")
    Case $bn9
    GUICtrlSetData($input, GUICtrlRead($input) & "9")
    Case $bnPlus
    GUICtrlSetData($input, GUICtrlRead($input) & "+")
    Case $bnMinus
    GUICtrlSetData($input, GUICtrlRead($input) & "-")
    Case $bnDiv
    GUICtrlSetData($input, GUICtrlRead($input) & "/")
    Case $bnMulti
    GUICtrlSetData($input, GUICtrlRead($input) & "*")
    Case $bn0
    GUICtrlSetData($input, GUICtrlRead($input) & "0")
    Case $bnKoma
    GUICtrlSetData($input, GUICtrlRead($input) & ".")
    Case $bnResultat
    If GUICtrlRead($input) = "" Then
    MsgBox(64, "Fehler", "Bitte machen Sie erst Ihre Eingaben !" & @TAB)
    Else
    GUICtrlSetData($input, Execute(GUICtrlRead($input)))
    EndIf
    EndSwitch
    WEnd

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

    ; Ende

    [/autoit]
  • Vielen Dank... mir war gestern abend einfach langweilig, drum habe ich das mal zum üben von Guis gemacht... :thumbup:

  • Mir kommt vor, du kramst die ganzen Threads nur aus, um Posts zu kriegen. 8|

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Weil die schon die meisten gelesen haben und deshalb keiner so'n unnötigen Kommentar abgeben muss.
    Wir sind immer noch ein Sinnvolles Forum. Und wozu gibt es den Bereich Talk?
    Du wirst schon schnell genug Lernender (was wir wohl alle sind ;) ).

    mfg
    Ubuntu

    Ps:Und deine Unterschrift find ich erhrlich gesagt ziemlich geschmacklos.