Hallo zusammen
ich habe anfang dieser Woche angefangen mich in AutoIt einzuarbeiten und nach ein paar Tutorials und Learning-by-doing möchte ich euch hier meinen selbst geschriebenen Taschenrechner präsentieren.
Würde mich über Feedback freuen
Im Momment arbeite ich an der nächsten Version, diese soll einen Speicher beinhalten, vllt kann mir dazu jemand tipps geben ?
MFG Zuschy
[autoit]
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: Philip Zuschlag
Script Function: Taschenrechner
Template AutoIt script.
#ce ----------------------------------------------------------------------------
#include <GUIConstants.au3> ; Includes
#include <Math.au3>
AutoItSetOption ("MustDeclareVars") ; Variablen müssen Deklariert werden !
Global Const $nPi = 3.14159265358979323846264338328 ; Constante
#region ; Globale Variablen ; Variablen
Global $Taschenrechner
Global $Taste1
Global $Taste2
Global $Taste3
Global $Taste4
Global $Taste5
Global $Taste6
Global $Taste7
Global $Taste8
Global $Taste9
Global $Taste0
Global $TastePlus
Global $TasteMinus
Global $TasteMal
Global $TasteGeteilt
Global $TasteKomma
Global $TastePlusMinus
Global $TasteGleich
Global $TasteClear
Global $TasteAllClear
Global $TastePi
Global $TasteWurzel
Global $TasteQuatrieren
Global $TasteProzent
Global $TasteBack
Global $TasteKA
Global $Ausgabe
Global $Menu1
Global $Menu1Item1
Global $Menu1Item2
Global $Menu2
Global $Menu2Item1
Global $Menu2Item2
Global $Menu3
Global $Menu3Item1
Global $Menu4
Global $Menu4Item1
Global $Menu4Item2
#Endregion
Func SetHotKeys () ; Hotkeys die leider überflüssig sind -.-*
HotKeySet("{Numpad1}", "_Nummer1")
HotKeySet("{Numpad2}", "_Nummer2")
HotKeySet("{Numpad3}", "_Nummer3")
HotKeySet("{Numpad4}", "_Nummer4")
HotKeySet("{Numpad5}", "_Nummer5")
HotKeySet("{Numpad6}", "_Nummer6")
HotKeySet("{Numpad7}", "_Nummer7")
HotKeySet("{Numpad8}", "_Nummer8")
HotKeySet("{Numpad9}", "_Nummer9")
HotKeySet("{Numpad0}", "_Nummer0")
HotKeySet("{Numpaddot}", "_Komma")
HotKeySet("{NumpadMult}", "_Multi")
HotKeySet("{NumpadAdd}", "_Addi")
HotKeySet("{NumpadSub}", "_Subt")
HotKeySet("{NumpadDiv}", "_Divi")
HotKeySet("{NumpadEnter}", "_Gleich")
EndFunc ;==> SetHotKeys
Func ShowCalculatorGUI () ; GUI des Taschenrechners
#Region ### START Koda GUI section ### Form=l:\!__philipp__!\koda\forms\taschenrechner.kxf
$Taschenrechner = GUICreate("Taschenrechner", 202, 246, 373, 216)
GUISetBkColor(0xA6CAF0)
$Ausgabe = GUICtrlCreateInput("", 8, 21, 185, 21)
$Taste1 = GUICtrlCreateButton("1", 8, 160, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste2 = GUICtrlCreateButton("2", 48, 160, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste3 = GUICtrlCreateButton("3", 88, 160, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste4 = GUICtrlCreateButton("4", 8, 128, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste5 = GUICtrlCreateButton("5", 48, 128, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste6 = GUICtrlCreateButton("6", 88, 128, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste7 = GUICtrlCreateButton("7", 8, 96, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste8 = GUICtrlCreateButton("8", 48, 96, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste9 = GUICtrlCreateButton("9", 88, 96, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Taste0 = GUICtrlCreateButton("0", 8, 192, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TastePlus = GUICtrlCreateButton("+", 136, 160, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteMinus = GUICtrlCreateButton("-", 168, 160, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteMal = GUICtrlCreateButton("x", 136, 128, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteGeteilt = GUICtrlCreateButton("÷", 168, 128, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteGleich = GUICtrlCreateButton("=", 136, 192, 57, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetCursor (-1, 0)
$TasteKomma = GUICtrlCreateButton(",", 48, 192, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TastePlusMinus = GUICtrlCreateButton("+/-", 88, 192, 33, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteClear = GUICtrlCreateButton("CE", 136, 96, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteAllClear = GUICtrlCreateButton("AC", 168, 96, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteKA = GUICtrlCreateButton("¤", 168, 56, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteBack = GUICtrlCreateButton("«", 136, 56, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteProzent = GUICtrlCreateButton("%", 104, 56, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteQuatrieren = GUICtrlCreateButton("x ²", 72, 56, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$TasteWurzel = GUICtrlCreateButton("Sqrl", 40, 56, 25, 25, 0)
GUICtrlSetFont(-1, 7, 800, 0, "Arial")
$TastePi = GUICtrlCreateButton("Pi", 8, 56, 25, 25, 0)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Menu1 = GUICtrlCreateMenu("&Optionen")
$Menu1Item1 = GUICtrlCreateMenuItem("&Speichern", $Menu1)
$Menu1Item2 = GUICtrlCreateMenuItem("B&eenden (Alt + F4)", $Menu1)
$Menu2 = GUICtrlCreateMenu("&Tools")
$Menu2Item1 = GUICtrlCreateMenuItem("Kopieren (Strg + C)", $Menu2)
$Menu2Item2 = GUICtrlCreateMenuItem("Einnfügen (Strg + V)", $Menu2)
$Menu3 = GUICtrlCreateMenu("&?")
$Menu3Item1 = GUICtrlCreateMenuItem("H&elp", $Menu3)
$Menu4 = GUICtrlCreateMenu("&About")
$Menu4Item1 = GUICtrlCreateMenuItem("&Programming", $Menu4)
$Menu4Item2 = GUICtrlCreateMenuItem("Version V 1.3", $Menu4)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
EndFunc ;==> ShowCalculator
Func GUIMsgAuswerten ($_nMsg) ; Funktionen der Tasten
Local $_fEnde = False
Switch $_nMsg
Case $GUI_EVENT_CLOSE
$_fEnde = True
Case $Taste0
GUICtrlSetData ($Ausgabe, 0, "Input")
Case $Taste1
GUICtrlSetData ($Ausgabe, 1, "Input")
Case $Taste2
GUICtrlSetData ($Ausgabe, 2, "Input")
Case $Taste3
GUICtrlSetData ($Ausgabe, 3, "Input")
Case $Taste4
GUICtrlSetData ($Ausgabe, 4, "Input")
Case $Taste5
GUICtrlSetData ($Ausgabe, 5, "Input")
Case $Taste6
GUICtrlSetData ($Ausgabe, 6, "Input")
Case $Taste7
GUICtrlSetData ($Ausgabe, 7, "Input")
Case $Taste8
GUICtrlSetData ($Ausgabe, 8, "Input")
Case $Taste9
GUICtrlSetData ($Ausgabe, 9, "Input")
Case $TastePlus
GUICtrlSetData ($Ausgabe, "+", "Input")
Case $TasteMinus
GUICtrlSetData ($Ausgabe, "-", "Input")
Case $TasteMal
GUICtrlSetData ($Ausgabe, "*", "Input")
Case $TasteGeteilt
GUICtrlSetData ($Ausgabe, "/", "Input")
Case $TasteKomma
GUICtrlSetData ($Ausgabe, ".", "Input")
Case $TastePlusMinus ; Vorzeichen umdrehen
GUICtrlSetData ($Ausgabe,Execute(GUICtrlRead( $Ausgabe )*-1))
Case $TasteGleich ; Ausrechnen, Exeute = Berechnen
GUICtrlSetData ($Ausgabe, Execute(GUICtrlRead($Ausgabe)))
Case $TasteClear ; Clear
GUICtrlSetData ($Ausgabe, "")
Case $TasteAllClear ; ClearAll
GUICtrlSetData ($Ausgabe, "")
Case $TasteKA ; Keine Zuweisung
Beep (400, 200)
Beep (800, 200)
Case $TasteBack ; Back-Space
GUICtrlSetData ($Ausgabe, StringTrimRight( GUICtrlRead( $Ausgabe ), 1 ))
Case $TasteProzent ; Prozent
GUICtrlSetData ($Ausgabe, Execute(GUICtrlRead( $Ausgabe )/100))
Case $TasteQuatrieren ; Quatrieren
GUICtrlSetData ($Ausgabe, Execute(GUICtrlRead($Ausgabe)*GUICtrlRead($Ausgabe)))
Case $TasteWurzel ; SQuareRooT - Quadratwurzel
GUICtrlSetData ($Ausgabe, Sqrt( GUICtrlRead($Ausgabe)))
Case $TastePi ; Pi
GUICtrlSetData ($Ausgabe, $nPi, "Input")
;----------Menu----------Menu----------Menu----------Menu----------Menu----------Menu----------Menu----------Menu----------
Case $Menu1Item1 ; Speichern
$File = "Rechnung.txt"
FileWrite ($File, GUICtrlRead($Ausgabe)) ;!!!!
Case $Menu1Item2 ; Beenden
$_fEnde = True
Case $Menu2Item1 ; Kopieren
ClipPut (GUICtrlRead( $Ausgabe))
Case $Menu2Item2 ; Einfügen
GUICtrlSetData ($Ausgabe, ClipGet ())
Case $Menu3Item1 ; Help
MsgBox( 64, "Hilfe ?", " Irgendwelche Fragen ??" & @CRLF & @CRLF & "philip.zuschlag@googlemail.com" )
Case $Menu4Item1 ; About
$sLine1 = "Taschenrechner by Philip Zuschlag"
$sLine2 = "__Philip.Zuschlag@googlemail.de__"
MsgBox(64, "About", $sLine1 & @CRLF & @CRLF & $sLine2 )
Case $Menu4Item2 ; Version
EndSwitch
Return $_fEnde
EndFunc ;==> GUIMsgAuswerten
Func Main($Anzahl) ; HauptFunktion
Local $fEnde = False
SetHotKeys()
ShowCalculatorGUI()
While not $fEnde
$nMsg = GUIGetMsg()
$fEnde = GUIMsgAuswerten ($nMsg)
WEnd
EndFunc ;==> Main
Main(4) ; Abfrage der Hauptfunktion
#Region ; HotKey Funktionen ;Zuweiung der Hotkeys
Func _Gleich()
GUICtrlSetData ($Ausgabe, Execute(GUICtrlRead($Ausgabe)))
EndFunc
Func _Nummer1()
GUICtrlSetData ($Ausgabe, 1, "Input")
EndFunc
Func _Nummer2()
GUICtrlSetData ($Ausgabe, 2, "Input")
EndFunc
Func _Nummer3()
GUICtrlSetData ($Ausgabe, 3, "Input")
EndFunc
Func _Nummer4()
GUICtrlSetData ($Ausgabe, 4, "Input")
EndFunc
Func _Nummer5()
GUICtrlSetData ($Ausgabe, 5, "Input")
EndFunc
Func _Nummer6()
GUICtrlSetData ($Ausgabe, 6, "Input")
EndFunc
Func _Nummer7()
GUICtrlSetData ($Ausgabe, 7, "Input")
EndFunc
Func _Nummer8()
GUICtrlSetData ($Ausgabe, 8, "Input")
EndFunc
Func _Nummer9()
GUICtrlSetData ($Ausgabe, 9, "Input")
EndFunc
Func _Nummer0()
GUICtrlSetData ($Ausgabe, 0, "Input")
EndFunc
Func _Komma()
GUICtrlSetData ($Ausgabe, ",", "Input")
EndFunc
Func _Addi()
GUICtrlSetData ($Ausgabe, "+", "Input")
EndFunc
Func _Subt()
GUICtrlSetData ($Ausgabe, "-", "Input")
EndFunc
Func _Multi()
GUICtrlSetData ($Ausgabe, "*", "Input")
EndFunc
Func _Divi()
GUICtrlSetData ($Ausgabe, "/", "Input")
EndFunc
#EndRegion ; HotKey Funktionen