Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 03:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt-GUIDE: Wie programmiere ich einen kleinen Taschenrechner?

Discussion on AutoIt-GUIDE: Wie programmiere ich einen kleinen Taschenrechner? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: LOCKED
Join Date: Oct 2009
Posts: 286
Received Thanks: 128
AutoIt-GUIDE: Wie programmiere ich einen kleinen Taschenrechner?

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:

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"289319189121)
$Label1 GUICtrlCreateLabel(""242424428)
$Button1 GUICtrlCreateButton("1"327241410)
$Button2 GUICtrlCreateButton("2"967241410)
$Button3 GUICtrlCreateButton("3"1607241410)
$Button4 GUICtrlCreateButton("4"3213641410)
$Button5 GUICtrlCreateButton("5"9613641410)
$Button6 GUICtrlCreateButton("6"16013641410)
$Button7 GUICtrlCreateButton("7"3220041410)
$Button8 GUICtrlCreateButton("8"9620041410)
$Button9 GUICtrlCreateButton("9"16020041410)
$Button10 GUICtrlCreateButton("0"3226441410)
$Button11 GUICtrlCreateButton("+"2247241410)
$Button12 GUICtrlCreateButton("-"22413641410)
$Button13 GUICtrlCreateButton("*"22420041410)
$Button14 GUICtrlCreateButton("/"22426441410)
$Button15 GUICtrlCreateButton("="16026441410)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

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

    EndSwitch
WEnd 
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:

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 
Wie man sieht wurde den Buttons noch keine Befehle angegeben.
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
($Label1GUICtrlRead($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
($Label1GUICtrlRead($Label1) & "1")
        Case 
$Button2
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "2")
        Case 
$Button3
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "3")
        Case 
$Button4
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "4")
        Case 
$Button5
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "5")
        Case 
$Button6
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "6")
        Case 
$Button7
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "7")
        Case 
$Button8
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "8")
        Case 
$Button9
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "9")
        Case 
$Button10    
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "0")
        Case 
$Button11
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "+")
        Case 
$Button12
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "-")
        Case 
$Button13
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "*")
        Case 
$Button14
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "/")
    EndSwitch
WEnd 
Nun fehlt nur noch das =-Zeichen. Dieses wird so eingefügt:

PHP Code:
Case $Button15
    GUICtrlSetData
($label1Execute(GUICtrlRead($label1))) 
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.



Der Befehl des Buttons lautet wie folgt:

PHP Code:
Case $Button16
    GUICtrlSetData
($Label1""
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:

PHP Code:
HotKeySet("{ENTER}""_gleich"
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:

PHP Code:
Func _gleich()
    
GUICtrlSetData($label1Execute(GUICtrlRead($label1)))
EndFunc 
Hier der Script in AutoIt:









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"289319189121)
$Label1 GUICtrlCreateLabel(""242424428)
$Button1 GUICtrlCreateButton("1"327241410)
$Button2 GUICtrlCreateButton("2"967241410)
$Button3 GUICtrlCreateButton("3"1607241410)
$Button4 GUICtrlCreateButton("4"3213641410)
$Button5 GUICtrlCreateButton("5"9613641410)
$Button6 GUICtrlCreateButton("6"16013641410)
$Button7 GUICtrlCreateButton("7"3220041410)
$Button8 GUICtrlCreateButton("8"9620041410)
$Button9 GUICtrlCreateButton("9"16020041410)
$Button10 GUICtrlCreateButton("0"3226441410)
$Button11 GUICtrlCreateButton("+"2247241410)
$Button12 GUICtrlCreateButton("-"22413641410)
$Button13 GUICtrlCreateButton("*"22420041410)
$Button14 GUICtrlCreateButton("/"22426441410)
$Button15 GUICtrlCreateButton("="16026441410)
$Button16 GUICtrlCreateButton("C"9626441410)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "1")
        Case 
$Button2
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "2")
        Case 
$Button3
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "3")
        Case 
$Button4
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "4")
        Case 
$Button5
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "5")
        Case 
$Button6
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "6")
        Case 
$Button7
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "7")
        Case 
$Button8
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "8")
        Case 
$Button9
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "9")
        Case 
$Button10    
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "0")
        Case 
$Button11
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "+")
        Case 
$Button12
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "-")
        Case 
$Button13
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "*")
        Case 
$Button14
            GUICtrlSetData
($Label1GUICtrlRead($Label1) & "/")
        Case 
$Button15
            GUICtrlSetData
($label1Execute(GUICtrlRead($label1)))
        Case 
$Button16
            GUICtrlSetData
($Label1"")
    EndSwitch
WEnd

Func _nummer1
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "1")
EndFunc

Func _nummer2
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "2")
EndFunc

Func _nummer3
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "3")
EndFunc

Func _nummer4
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "4")
EndFunc

Func _nummer5
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "5")
EndFunc

Func _nummer6
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "6")
EndFunc

Func _nummer7
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "7")
EndFunc

Func _nummer8
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "8")
EndFunc

Func _nummer9
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "9")
EndFunc

Func _nummer0
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "0")
EndFunc

Func _divi
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "/")
EndFunc

Func _multi
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "*")
EndFunc

Func _addi
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "+")
EndFunc

Func _subt
()
    
GUICtrlSetData($Label1GUICtrlRead($Label1) & "-")
EndFunc

Func _gleich
()
    
GUICtrlSetData($label1Execute(GUICtrlRead($label1)))
EndFunc 
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*
Skater21459 is offline  
Thanks
6 Users
Old 05/14/2011, 13:43   #2

 
Furkan's Avatar
 
elite*gold: 59
The Black Market: 326/0/0
Join Date: Jun 2010
Posts: 1,945
Received Thanks: 424
Schönes Guide. Nur den gesamten Code am Ende könntest du entfernen für alle C&Pler
Furkan is offline  
Old 05/14/2011, 14:17   #3
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
Originally Posted by Dave™ View Post
Schönes Guide. Nur den gesamten Code am Ende könntest du entfernen für alle C&Pler
das ist nur ein kleiner "taschenrechner" mit viel schnick schnack. wer den C&P machen will, lass ihn doch
omer36 is offline  
Old 05/15/2011, 11:38   #4
 
elite*gold: LOCKED
Join Date: Oct 2009
Posts: 286
Received Thanks: 128
Danke für euer Feedback
Skater21459 is offline  
Thanks
1 User
Old 05/17/2011, 19:27   #5
 
elite*gold: LOCKED
Join Date: Oct 2009
Posts: 286
Received Thanks: 128
push und so
Skater21459 is offline  
Thanks
1 User
Old 05/24/2011, 12:53   #6
 
elite*gold: LOCKED
Join Date: Oct 2009
Posts: 286
Received Thanks: 128
nur so wenig replys ?-.-
Skater21459 is offline  
Thanks
1 User
Old 05/24/2011, 16:00   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
was für replys erwartest du denn bei einem script wie diesem?

es ist ein extrem einfaches script, bei dem 95% der arbeit von koda erledigt wurden...

denke nicht das du da kommentare wie "wow, du hast mit diesem tutorial mein leben verändert" erwarten solltest
lolkop is offline  
Old 05/24/2011, 16:02   #8
 
hofo's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,952
Received Thanks: 615
Gutes Tutorial.. hat bestimmt eine menge Zeit gekostet, es zu schreiben ;D

#Thanks given!
hofo is offline  
Thanks
1 User
Old 05/24/2011, 19:45   #9
 
elite*gold: LOCKED
Join Date: Oct 2009
Posts: 286
Received Thanks: 128
Quote:
Gutes Tutorial.. hat bestimmt eine menge Zeit gekostet, es zu schreiben ;D

#Thanks given!
^this
Skater21459 is offline  
Thanks
1 User
Old 05/28/2011, 22:56   #10
 
elite*gold: 726
Join Date: Jul 2010
Posts: 14,233
Received Thanks: 7,915
Danke jetzt weiß ich wie man ein taschenrechner scriptet
noahrmal is offline  
Old 05/29/2011, 03:56   #11
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Wow, du hast mit diesem Tutorial mein Leben verändert...
| Moep | is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
WIE PROGRAMMIERE ICH EINEN HACK??????
02/15/2011 - Metin2 - 9 Replies
Hallo! Suche jemanden der mir erklären kann wie ich einen FUNKTIONIERENDEN Hack programmiere und mit welchen Programm Danke
Wie programmiere ich einen Warrock D3D Hack ?
09/13/2010 - WarRock - 13 Replies
Hey liebe Community :) ich habe eine frage kann mir einer beim coden eines D3D Warrock Menü Hack behilflich sein ? weil ich mache des zum 1.Mal und würde mich sehr freuen wenn mir da einer helfen könnte Addys+Programm habe ich (VisualBasic2010ExpressEdition)
Wie programmiere ich einen Bot
02/02/2010 - General Coding - 27 Replies
Ich würde gerne einen Bot für ein 3d mmorpg Programmieren, Programmierkenntnisse sind bedingt in Java & C vorhanden. Leider hab ich keine Ahnung wie ich am besten vorhehen soll , der Bot soll mir in dem game standartaufgaben wie jagen usw. abnehmen. Um es genau zu sagen geht es dabei um das kostenlos game pe, und mein bot soll für mich "sweaten", weil das so ziemlich die stupideste Tätigkeit ist die man sich vorstellen kann, jedoch leider die einzige um in dem game Geld zuverdienen, ohne...
[Hilfe] Nen AutoIt Taschenrechner
08/10/2009 - AutoIt - 5 Replies
Also ich habe mir nen taschenrechner mit autoit gemacht leider kann er nur PLUS rechnen xD siehe hier : kostenlos Dateien hochladen bei File Upload X und ich wollte mal fragen ob er auch minus rechnen kann und mal und geteil ^^ weil ich habe die 3 sachen schon ausprobiert wie : - ( minus rechnen ) und so aber das macht er nicht ?? muss ich andere zeichen verwenden ?? wenn ja bitte postet die hier mal !! DANKE p.s. ich spiele erst seid gestern mit autoit rum also nicht böse sein wenn ich...



All times are GMT +1. The time now is 03:04.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.