Hallo Experten,
ich habe heut mal angefangen einen Rechner zu programmieren.
Nun habe ich ein Problem das die Funktion _delete, die unter dem Button DEL liegt, alle Zeichen aus dem Input-Feld löscht statt nur das letzte Zeichen. Die Funktion ist im Code ganz unten
Danke schon mal!
Spoiler anzeigen
#Include <GuiConstantsEx.au3>
#Include <EditConstants.au3>
#include <String.au3>
Opt("GUIOnEventMode", 1)
$mainWindow=GUICreate("Rechner", 250, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GUIEvents")
GUISetState(@SW_SHOW, $mainWindow)
$rechenfeld=GUICtrlCreateInput("", 10, 30, 200, 20, $ES_RIGHT)
$button1=GUICtrlCreateButton("1", 10, 60, 30, 30)
$button2=GUICtrlCreateButton("2", 50, 60, 30, 30)
$button3=GUICtrlCreateButton("3", 90, 60, 30, 30)
$bdelete=GUICtrlCreateButton("DEL", 130, 60, 30, 30)
$bclear=GUICtrlCreateButton("CLEAR", 170, 60, 40, 30)
$button4=GUICtrlCreateButton("4", 10, 100, 30, 30)
$button5=GUICtrlCreateButton("5", 50, 100, 30, 30)
$button6=GUICtrlCreateButton("6", 90, 100, 30, 30)
$bplus=GUICtrlCreateButton("+", 130, 100, 30, 30)
$bminus=GUICtrlCreateButton("-", 170, 100, 30, 30)
$button7=GUICtrlCreateButton("7", 10, 140, 30, 30)
$button8=GUICtrlCreateButton("8", 50, 140, 30, 30)
$button9=GUICtrlCreateButton("9", 90, 140, 30, 30)
$bmal=GUICtrlCreateButton("*", 130, 140, 30, 30)
$bdurch=GUICtrlCreateButton("/", 170, 140, 30, 30)
$button0=GUICtrlCreateButton("0", 10, 180, 30, 30)
$bkomma=GUICtrlCreateButton(",", 50, 180, 30, 30)
$bistGleich=GUICtrlCreateButton("=", 90, 180, 30, 30)
$bklammerAuf=GUICtrlCreateButton("(", 130, 180, 30, 30)
$bklammerZu=GUICtrlCreateButton(")", 170, 180, 30, 30)
GUICtrlSetOnEvent($button1, "_func1")
GUICtrlSetOnEvent($button2, "_func2")
GUICtrlSetOnEvent($button3, "_func3")
GUICtrlSetOnEvent($button4, "_func4")
GUICtrlSetOnEvent($button5, "_func5")
GUICtrlSetOnEvent($button6, "_func6")
GUICtrlSetOnEvent($button7, "_func7")
GUICtrlSetOnEvent($button8, "_func8")
GUICtrlSetOnEvent($button9, "_func9")
GUICtrlSetOnEvent($button0, "_func0")
GUICtrlSetOnEvent($bkomma, "_funckomma")
GUICtrlSetOnEvent($bistgleich, "_funcistgleich")
GUICtrlSetOnEvent($bplus, "_funcplus")
GUICtrlSetOnEvent($bminus, "_funcminus")
GUICtrlSetOnEvent($bmal, "_funcmal")
GUICtrlSetOnEvent($bdurch, "_funcdurch")
GUICtrlSetOnEvent($bklammerAuf, "_funcauf")
GUICtrlSetOnEvent($bklammerZu, "_funczu")
GUICtrlSetOnEvent($bclear, "_funcclear")
GUICtrlSetOnEvent($bdelete, "_delete")
$auslesen=GUICtrlRead($rechenfeld)
[/autoit] [autoit][/autoit] [autoit]While True
Sleep(10)
WEnd
Func _GUIEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc
Func _func1()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "1")
EndFunc
Func _func2()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "2")
EndFunc
Func _func3()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "3")
EndFunc
Func _func4()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "4")
EndFunc
Func _func5()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "5")
EndFunc
Func _func6()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "6")
EndFunc
Func _func7()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "7")
EndFunc
Func _func8()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "8")
EndFunc
Func _func9()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "9")
EndFunc
Func _func0()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "0")
EndFunc
Func _funckomma()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & ",")
EndFunc
Func _funcistGleich()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "0")
EndFunc
Func _funcminus()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "-")
EndFunc
Func _funcplus()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "+")
EndFunc
Func _funcmal()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "*")
EndFunc
Func _funcdurch()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "/")
EndFunc
Func _funcauf()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & "(")
EndFunc
Func _funczu()
GUICtrlSetData($rechenfeld, GUICtrlRead($rechenfeld) & ")")
EndFunc
Func _funcclear()
GUICtrlSetData($rechenfeld, "")
EndFunc
Func _delete() ;<--- löscht alles, soll bloß letztes Zeichen entfernen!!!
GUICtrlSetData($rechenfeld, StringTrimRight($auslesen, 1))
EndFunc