Herzlich Willkommen zu meinem ersten Guide.
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: [Only registered and activated users can see links. Click Here To Register...]
Wir öffnen Koda. Oben seht ihr die verschiedenen Steuerelemente. Ihr erstellt Buttons und ein Label. Etwa so wie ich hier:
[Only registered and activated users can see links. Click Here To Register...]
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: [Only registered and activated users can see links. Click Here To Register...]
Sobald es geöffnet ist, kopiert ihr mit Ctrl+V die Buttons und das Label in den Editor.
[Only registered and activated users can see links. Click Here To Register...]
Nun fügen wir den Buttons die entsprechenden Befehle zu.
Wir haben bis jetzt folgenden Code:
Case $GUI_EVENT_CLOSE bedeutet, dass das Fenster beim Klicken des Kreuzes geschlossen wird.
Wir fügen nun die Buttons 0-9 ein. Das sieht dann so aus:
Wie man sieht wurde den Buttons noch keine Befehle angegeben.
Der Befehl zu Button 1 sieht dann so aus:
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:
[Only registered and activated users can see links. Click Here To Register...]
Nun fehlen noch die verschiedenen Operatoren.
Wir fügen sie gleich wie die Zahlen ein:
Nun fehlt nur noch das =-Zeichen. Dieses wird so eingefügt:
Execute bedeutet:
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.
[Only registered and activated users can see links. Click Here To Register...]
Der Befehl des Buttons lautet wie folgt:
Das heisst, ins Label wird "nichts" geschrieben.
Ich füge nun Hotkeys ein:
Mit einem Hotkey können durch Tastenkombinationen verschiedene Funktionen aufgerufen werden.
Beispiel für ENTER:
Das heisst, wenn ENTER gedürckt wird, wird die Funktion _gleich aufgerufen. Nun müssen wir die Funktion _gleich definieren.
Das sieht dann so aus:
Hier der Script in AutoIt:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
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:
Man kann dem Taschenrechner natürlich noch viel mehr hinzufügen. Falls ihr es versteht könnt ihr auch noch versuchen die verschiedenen Funktionen aus dem Windows Rechner zu programmieren. Wie ihr wollt.
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*
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: [Only registered and activated users can see links. Click Here To Register...]
Wir öffnen Koda. Oben seht ihr die verschiedenen Steuerelemente. Ihr erstellt Buttons und ein Label. Etwa so wie ich hier:
[Only registered and activated users can see links. Click Here To Register...]
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: [Only registered and activated users can see links. Click Here To Register...]
Sobald es geöffnet ist, kopiert ihr mit Ctrl+V die Buttons und das Label in den Editor.
[Only registered and activated users can see links. Click Here To Register...]
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:
[Only registered and activated users can see links. Click Here To Register...]
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.
[Only registered and activated users can see links. Click Here To Register...]
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
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
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*