Hi, man kann die Initialisierung in einer Schleife zusammenfassen
Spoiler anzeigen
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Dim $Input[10]
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Form1", 322, 210, 255, 230)
$Label = GUICtrlCreateLabel("© by Technoboy", 120, 184, 84, 17)
GUISetState(@SW_SHOW)
For $i = 0 To 9 ;hotkeys und inputs initialisieren, ini auslesen
HotKeySet("{NUMPAD" & $i & "}", "Sendtext") ;hotkey setzen auf function "sendtext"
$Input[$i] = GUICtrlCreateInput("Input" & $i, 16 + (150 * ($i > 4)), 16 + Mod($i, 5) * 32, 137, 21) ;input an position setzen
$ini = IniRead(@ScriptDir & "\test.ini", "section", $i, "") ;inidatei lesen und ...
GUICtrlSetData($Input[$i], $ini) ;...wert in input schreiben
Next
Run("notepad.exe") ;editor starten
[/autoit] [autoit][/autoit] [autoit]Do ;solange warten bis...
Until GUIGetMsg() = $GUI_EVENT_CLOSE ;...programmfenster geschlossen wird
For $i = 0 To 9 ;alle aktuellen inputwerte in die ini schreiben
IniWrite(@ScriptDir & "\test.ini", "section", $i, GUICtrlRead($Input[$i]))
Next
Exit ;ende
Func Sendtext() ;hotkey wurde gedrückt
if not WinExists("[CLASS:Notepad]") then Run("notepad.exe") ;editor starten falls zwischendurch beendet
winactivate("[CLASS:Notepad]") ;editorfenster aktivieren
WinWaitActive("[CLASS:Notepad]") ;solange warten bis editorfenster aktiv
$zahl = StringTrimRight(StringTrimLeft(@HotKeyPressed, 7), 1) ;hotkey ermitteln
Send(GUICtrlRead($Input[$zahl])) ;input an editor senden
EndFunc ;==>Sendtext
Generell ist es nicht vorteilhaft, 200-300 Zeilen Code zu nutzen, der in 5 Zeilen erledigt wäre. Sollte später einmal eine Änderung gemacht werden, bedeutet das den GAU. Auch die Wartung ist alles andere als einfach, Bugs in 30 Bildschirmseiten mit völlig überflüssigem Geschreibsel zu suchen dauert immer sehr lange!
Jemand, der den Code nicht kennt und das Script nur in kleinen Teilen erweitern/verbessern möchte, wird abgeschreckt....bzw hat viel Arbeit vor sich^^, vor allem, da das allerwichtigste im Script, nämlich die KOMMENTARE völlig fehlen!