Habe lange nicht mehr mit AutoIt programmiert, das ist was hängen geblieben ist
Aber hier mal eine Version mit Live-Rechnung:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
$spCfg = @ScriptDir & "\Config.cfg"
$nX = FileReadLine($spCfg, 1)
$nY = FileReadLine($spCfg, 2)
$nRadio = FileReadLine($spCfg, 3)
$hGUI = GUICreate("Prozentrechner", 220, 70)
GUISetFont(-1, 10, 400, 0, "Lucida Console")
GUISetBkColor(0xE6E6E6)
$cPerc = GUICtrlCreateInput("0", 18.33, 17.5, 50, 20)
GUICtrlSetTip(-1, "Auszurechnender Prozentwert (in %)")
$cUpDown = GUICtrlCreateUpdown(-1)
$c100 = GUICtrlCreateInput("0", 81.66, 17.5, 120, 20, 0x2000)
GUICtrlSetTip(-1, "100% entsprechen dem eingegebenem Wert")
$cVal = GUICtrlCreateLabel("0", 25, 50, 110, 15, 0x01)
GUICtrlSetFont(-1, -1, -1, 4)
GUICtrlSetTip(-1, "Erechneter numerischer Wert")
$cCopy = GUICtrlCreateCheckbox("Autokopie", 145, 47)
GUICtrlSetTip(-1, "Aktiviert das automatische Hinzufügen des Ergebnisses in die Zwischenablage")
If $nRadio = $GUI_CHECKED Then GUICtrlSetState(-1, $GUI_CHECKED)
If $nRadio = $GUI_UNCHECKED Then GUICtrlSetState(-1, $GUI_UNCHECKED)
GUICtrlCreateGroup("", 5, 0, 210, 45)
[/autoit] [autoit][/autoit] [autoit]If Not $nX = "" And Not $nY = "" Then WinMove("Prozentrechner", "", $nX, $nY)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]AdlibRegister("_Calculate", 50)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
AdlibUnRegister("_Calculate")
$aPos = WinGetPos("Prozentrechner")
$bCopy = GUICtrlRead($cCopy)
FileDelete($spCfg)
FileWriteLine($spCfg, $aPos[0])
FileWriteLine($spCfg, $aPos[1])
FileWriteLine($spCfg, $bCopy)
Exit
EndSwitch
WEnd
Func _Calculate()
$bCopy = GUICtrlRead($cCopy)
$nPerc = GUICtrlRead($cPerc)
$n100 = GUICtrlread($c100)
$nVal = ($n100 / 100) * $nPerc
GUICtrlSetData($cVal, $nVal)
If $bCopy = $GUI_CHECKED Then ClipPut($nVal)
EndFunc