hallo,
und zwar habe ich ein problem mit einem programm...dort gibt es viele controls, welche wenn sie verändert werden mit einem input, in eine ini datei gespeichert werden und auch wieder ausgelesen werden sollen. Das funktioniert ganz gut so lange jedes control eine andere nummer hat oder namen (also wenn man die variable von einem control zb ausgeben lässt, kommt ja eine nummer raus)...
ABER: manche controls haben keine nummer bzw die nummer 0...bisauf die controls mit der nummer 0 haben alle anderen verschiedene wie sie es auch haben sollen, aber wieso haben manche die nummer 0? Ich habe bei ihnen nichts anders gemacht.
Hier ein teil von meinem code ich hoffe er reicht:
[autoit]GUIStartGroup()
$checkbox_re01_a01_cb01 = GUICtrlCreateradio(" "&"49,6", 420, 130, 100, 20)
$LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb01 , GUICtrlRead(-1,1)), "~", " "))
$lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
GUICtrlSetFont(-1, 8.5, 250, "", $font)
$checkbox_re01_a01_cb02 = GUICtrlCreateradio(" "&"12,4", 420, 150, 100, 20)
$LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb02 , GUICtrlRead(-1,1)), "~", " "))
$lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
GUICtrlSetFont(-1, 8.5, 250, "", $font)
$checkbox_re01_a01_cb03 = GUICtrlCreateradio(" "&"36,8", 420, 170, 100, 20)
$LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb03 , GUICtrlRead(-1,1)), "~", " "))
$lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
GUICtrlSetFont(-1, 8.5, 250, "", $font)
$checkbox_re01_a01_cb04 = GUICtrlCreateradio(" "&"18,6", 420, 190, 100, 20)
$LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb04 , GUICtrlRead(-1,1)), "~", " "))
$lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
GUICtrlSetFont(-1, 8.5, 250, "", $font)
$checkbox_re01_a01_cb05 = GUICtrlCreateradio(" "&"22,4", 420, 210, 100, 20)
$LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))
GUICtrlSetData(-1, StringReplace(iniread(@ScriptDir & "\saves.ini", "Labels", $checkbox_re01_a01_cb05 , GUICtrlRead(-1,1)), "~", " "))
$lastctrlpos = ControlGetPos( "Seite 1", "" , $LastCtrlID)
GUICtrlSetpos(-1, iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_x" , $lastctrlpos[0]), iniread(@ScriptDir & "\saves.ini", "Pos", $LastCtrlID & "_y" , $lastctrlpos[1]))
GUICtrlSetFont(-1, 8.5, 250, "", $font)
if $msg = $button_ja_change Then
$read_change = GUICtrlRead($input_change)
GUICtrlSetData($maus_real, $read_change)
$new_string = StringReplace($read_change, " ", "~")
IniWrite(@ScriptDir & "\saves.ini", "Labels", $maus_real ,$new_string)
GUISetState(@SW_hide, $gui_change)
EndIf
im oberen teil sind einige controls
um unteren teil wird das aus dem input in die ini datei geschrieben unter der nummer es controls
(wie gesagt, bei vielen geht es auch, aber bei manchen leider nicht
)
vielen dank für die hilfe
edit: oder wäre eine andere möglichkeit evtl möglich es in eine ini datei zu speichern und wieder auslesen zu lassen für jedes control?
ÜBRIGENS: komischerweise geht es aber wenn er die position speichern will obwohl es das gleiche ist..hier der code:
[autoit]if $msg = $button_ja_change Then
$read_change = GUICtrlRead($input_change)
GUICtrlSetData($maus_real, $read_change)
$new_string = StringReplace($read_change, " ", "~")
IniWrite(@ScriptDir & "\saves.ini", "Labels", $maus_real ,$new_string)
GUISetState(@SW_hide, $gui_change)
EndIf
If $msg = $button_coord Then
GUICtrlSetPos($maus_real, guictrlread($input_x), guictrlread($input_y))
IniWrite(@ScriptDir & "\saves.ini", "Pos", $maus_real & "_x" ,guictrlread($input_x, 1))
IniWrite(@ScriptDir & "\saves.ini", "Pos", $maus_real & "_y" ,guictrlread($input_y, 1))
endif