Da ich gerade nichts zu tun habe, werde ich hier auf einfache Art und Weise erklären, wie man einen Taschenrechner programmiert. Natürlich mit AutoIt.
[Auf Grundlagen werde ich nicht besonders eingehen!]
Zum Anfang brauchen wir den Koda Form Designer (kurz: Koda):
Die könnt ihr euch hier legal Downloaden:

Wir öffnen Koda. Oben seht ihr die verschiedenen Steuerelemente. Ihr erstellt Buttons und ein Label. Etwa so wie ich hier:
Wenn ihr fertig seit und es euch gefällt könnt ihr F9 drücken. Darauf öffnet sich ein neues Fenster. Dort drückt ihr "Copy to clipboard".
Danach öffnet ihr SciTe (Script Editor)Hier downloadbar:

Sobald es geöffnet ist, kopiert ihr mit Ctrl+V die Buttons und das Label in den Editor.
Nun fügen wir den Buttons die entsprechenden Befehle zu.
Wir haben bis jetzt folgenden Code:
PHP Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Taschenrechner", 289, 319, 189, 121)
$Label1 = GUICtrlCreateLabel("", 24, 24, 244, 28)
$Button1 = GUICtrlCreateButton("1", 32, 72, 41, 41, 0)
$Button2 = GUICtrlCreateButton("2", 96, 72, 41, 41, 0)
$Button3 = GUICtrlCreateButton("3", 160, 72, 41, 41, 0)
$Button4 = GUICtrlCreateButton("4", 32, 136, 41, 41, 0)
$Button5 = GUICtrlCreateButton("5", 96, 136, 41, 41, 0)
$Button6 = GUICtrlCreateButton("6", 160, 136, 41, 41, 0)
$Button7 = GUICtrlCreateButton("7", 32, 200, 41, 41, 0)
$Button8 = GUICtrlCreateButton("8", 96, 200, 41, 41, 0)
$Button9 = GUICtrlCreateButton("9", 160, 200, 41, 41, 0)
$Button10 = GUICtrlCreateButton("0", 32, 264, 41, 41, 0)
$Button11 = GUICtrlCreateButton("+", 224, 72, 41, 41, 0)
$Button12 = GUICtrlCreateButton("-", 224, 136, 41, 41, 0)
$Button13 = GUICtrlCreateButton("*", 224, 200, 41, 41, 0)
$Button14 = GUICtrlCreateButton("/", 224, 264, 41, 41, 0)
$Button15 = GUICtrlCreateButton("=", 160, 264, 41, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Wir fügen nun die Buttons 0-9 ein. Das sieht dann so aus:
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Case $Button2
Case $Button3
Case $Button4
Case $Button5
Case $Button6
Case $Button7
Case $Button8
Case $Button9
Case $Button10
EndSwitch
WEnd
Der Befehl zu Button 1 sieht dann so aus:
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "1")
GUICtrlSetData($Label1) heisst:
Es verändert die Zeichen im Label1.
GUICtrlRead($Label1) heisst:
Es liest die Zeichen, welche im Label1 enthalten sind.
& "1" heisst:
Es wird eine 1 angesetzt.
Zusammengefasst heisst GUICtrlSetData($Label1, GUICtrlRead($Label1) & "1"):
Es wird die Ziffer 1 im Label angezeigt.
Das wird nun mit allen Zahlen gemacht:
Nun fehlen noch die verschiedenen Operatoren.
Wir fügen sie gleich wie die Zahlen ein:
PHP Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "1")
Case $Button2
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "2")
Case $Button3
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "3")
Case $Button4
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "4")
Case $Button5
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "5")
Case $Button6
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "6")
Case $Button7
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "7")
Case $Button8
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "8")
Case $Button9
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "9")
Case $Button10
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "0")
Case $Button11
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "+")
Case $Button12
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "-")
Case $Button13
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "*")
Case $Button14
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "/")
EndSwitch
WEnd
PHP Code:
Case $Button15
GUICtrlSetData($label1, Execute(GUICtrlRead($label1)))
Es werden die Ziffern im Label1 gelesen und ausgerechnet.
Da nach einem C-Button gefragt wurde (Ergebnis löschen) werde ich das kurz erklären.
Zuerst wird ein neuer Button erstellt.
Der Befehl des Buttons lautet wie folgt:
PHP Code:
Case $Button16
GUICtrlSetData($Label1, "")
Ich füge nun Hotkeys ein:
Mit einem Hotkey können durch Tastenkombinationen verschiedene Funktionen aufgerufen werden.
Beispiel für ENTER:
PHP Code:
HotKeySet("{ENTER}", "_gleich")
Das sieht dann so aus:
PHP Code:
Func _gleich()
GUICtrlSetData($label1, Execute(GUICtrlRead($label1)))
EndFunc
Man könnte alles ein wenig zusammenfassen, damit es nicht so gross wird, doch dann ist es schwerer zu verstehen. Deshalb lasse ich es so.
Hier ist nun das gesammte Script:
PHP Code:
HotKeySet("{/}", "_divi")
HotKeySet("{*}", "_multi")
HotKeySet("{+}", "_addi")
HotKeySet("{-}", "_subt")
HotKeySet("{ENTER}", "_gleich")
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("{NUMPADMULT}", "_multi")
HotKeySet("{NUMPADADD}", "_addi")
HotKeySet("{NUMPADSUB}", "_subt")
HotKeySet("{NUMPADDIV}", "_divi")
HotKeySet("{NUMPADENTER}", "_gleich")
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Taschenrechner", 289, 319, 189, 121)
$Label1 = GUICtrlCreateLabel("", 24, 24, 244, 28)
$Button1 = GUICtrlCreateButton("1", 32, 72, 41, 41, 0)
$Button2 = GUICtrlCreateButton("2", 96, 72, 41, 41, 0)
$Button3 = GUICtrlCreateButton("3", 160, 72, 41, 41, 0)
$Button4 = GUICtrlCreateButton("4", 32, 136, 41, 41, 0)
$Button5 = GUICtrlCreateButton("5", 96, 136, 41, 41, 0)
$Button6 = GUICtrlCreateButton("6", 160, 136, 41, 41, 0)
$Button7 = GUICtrlCreateButton("7", 32, 200, 41, 41, 0)
$Button8 = GUICtrlCreateButton("8", 96, 200, 41, 41, 0)
$Button9 = GUICtrlCreateButton("9", 160, 200, 41, 41, 0)
$Button10 = GUICtrlCreateButton("0", 32, 264, 41, 41, 0)
$Button11 = GUICtrlCreateButton("+", 224, 72, 41, 41, 0)
$Button12 = GUICtrlCreateButton("-", 224, 136, 41, 41, 0)
$Button13 = GUICtrlCreateButton("*", 224, 200, 41, 41, 0)
$Button14 = GUICtrlCreateButton("/", 224, 264, 41, 41, 0)
$Button15 = GUICtrlCreateButton("=", 160, 264, 41, 41, 0)
$Button16 = GUICtrlCreateButton("C", 96, 264, 41, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "1")
Case $Button2
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "2")
Case $Button3
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "3")
Case $Button4
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "4")
Case $Button5
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "5")
Case $Button6
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "6")
Case $Button7
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "7")
Case $Button8
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "8")
Case $Button9
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "9")
Case $Button10
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "0")
Case $Button11
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "+")
Case $Button12
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "-")
Case $Button13
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "*")
Case $Button14
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "/")
Case $Button15
GUICtrlSetData($label1, Execute(GUICtrlRead($label1)))
Case $Button16
GUICtrlSetData($Label1, "")
EndSwitch
WEnd
Func _nummer1()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "1")
EndFunc
Func _nummer2()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "2")
EndFunc
Func _nummer3()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "3")
EndFunc
Func _nummer4()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "4")
EndFunc
Func _nummer5()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "5")
EndFunc
Func _nummer6()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "6")
EndFunc
Func _nummer7()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "7")
EndFunc
Func _nummer8()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "8")
EndFunc
Func _nummer9()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "9")
EndFunc
Func _nummer0()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "0")
EndFunc
Func _divi()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "/")
EndFunc
Func _multi()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "*")
EndFunc
Func _addi()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "+")
EndFunc
Func _subt()
GUICtrlSetData($Label1, GUICtrlRead($Label1) & "-")
EndFunc
Func _gleich()
GUICtrlSetData($label1, Execute(GUICtrlRead($label1)))
EndFunc
Ich wollte hier nur kurz zeigen, wie ein Anfänger schnell ein etwas nützliches Programm erstellen kann.
Falls jemand Fehler findet (inkl. Rechdschreibefeller) wäre es toll, wenn mir eine PM geschickt wird. Natürlich kann man auch hier im Thread posten. Ich werde es dann so schnell wie möglich ändern.
Ich wünsche euch einen schönen Abend und ein erholsames Wochenende!
*Skater21459*






