;Coded by UEZ
#include <WindowsConstants.au3>

#include <StructureConstants.au3>
#include <GUIConstantsEx.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test", 237, 143)
$Checkbox1 = GUICtrlCreateCheckbox("Convert X", 8, 8, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Convert Y", 8, 40, 97, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Convert Z", 8, 72, 97, 17)
$Input1 = GUICtrlCreateInput("", 105, 8, 121, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input2 = GUICtrlCreateInput("", 105, 40, 121, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input3 = GUICtrlCreateInput("", 105, 72, 121, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("Load", 8, 104, 75, 25, 0)
$Button2 = GUICtrlCreateButton("Save", 153, 104, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Button1
			Load()
			
		Case $Button2
			Save()
			
		Case $Checkbox1
			If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then
				GUICtrlSetState($Input1, $GUI_ENABLE)
			Else
				GUICtrlSetState($Input1, $GUI_DISABLE)
			EndIf
			
		Case $Checkbox2
			If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) Then
				GUICtrlSetState($Input2, $GUI_ENABLE)
			Else
				GUICtrlSetState($Input2, $GUI_DISABLE)
			EndIf
			
		Case $Checkbox3
			If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) Then
				GUICtrlSetState($Input3, $GUI_ENABLE)
			Else
				GUICtrlSetState($Input3, $GUI_DISABLE)
			EndIf		
	EndSwitch
WEnd


Func Save()
	Local $ini, $save_file, $filename, $dummy_array
	Local $filename_suffix = ".ini"
	Local $save_path = @ScriptDir
	$filename = ""
	$filename = FileSaveDialog("Save Project Request Form", $save_path, "Ini Files (*" & $filename_suffix & ")|All Files(*.*)", 16)
	If $filename <> "" Then
		$dummy_array = StringSplit($filename, ".")
		If UBound($dummy_array) > 0 Then
			$filename = $dummy_array[1] & $filename_suffix
		Else
			$filename = $filename_suffix
		EndIf
		If Not @error Then
			$ini = "[Input Section]" & @CRLF & _
					"Convert X=" & GUICtrlRead($Input1) & @CRLF & _
					"Convert Y=" & GUICtrlRead($Input2) & @CRLF & _
					"Convert Z=" & GUICtrlRead($Input3) & @CRLF & @CRLF & _
					"[Checkbox Section]" & @CRLF & _
					"Checkbox1=" & GUICtrlRead($Checkbox1) & @CRLF & _
					"Checkbox2=" & GUICtrlRead($Checkbox2) & @CRLF & _
					"Checkbox3=" & GUICtrlRead($Checkbox3) & @CRLF
			FileOpen($filename, 2)
			FileWrite($filename, $ini)
			FileClose($filename)
		EndIf
	EndIf
EndFunc   ;==>Save

Func Load()
	Local $filename, $dummy_array, $line
	Local $filename_suffix = ".ini"
	Local $load_path = @ScriptDir
	$filename = ""
	$filename = FileOpenDialog("Load Project Request Form", $load_path, "Ini Files (*" & $filename_suffix & ")|All Files(*.*)", 1)
	If $filename <> "" Then
		$filename = FileOpen($filename, 0)
		If Not @error Then
			While 1
				$line = FileReadLine($filename)
				If @error = -1 Then ExitLoop
				If StringInStr($line, "Convert X=") Then GUICtrlSetData($Input1, StringMid($line, StringInStr($line, "=") + 1))
				If StringInStr($line, "Convert Y=") Then GUICtrlSetData($Input2, StringMid($line, StringInStr($line, "=") + 1))
				If StringInStr($line, "Convert Z=") Then GUICtrlSetData($Input3, StringMid($line, StringInStr($line, "=") + 1))
				If StringInStr($line, "Checkbox1=") = True And StringMid($line, StringInStr($line, "=") + 1) = 1 Then 
					GUICtrlSetState($Checkbox1, $GUI_CHECKED) 
					GUICtrlSetState($Input1, $GUI_ENABLE)
				EndIf
				If StringInStr($line, "Checkbox1=") = True And StringMid($line, StringInStr($line, "=") + 1) = 4 Then 
					GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
					GUICtrlSetState($Input1, $GUI_DISABLE)
				EndIf
				If StringInStr($line, "Checkbox2=") = True And StringMid($line, StringInStr($line, "=") + 1) = 1 Then 
					GUICtrlSetState($Checkbox2, $GUI_CHECKED)
					GUICtrlSetState($Input2, $GUI_ENABLE)
				EndIf
				If StringInStr($line, "Checkbox2=") = True And StringMid($line, StringInStr($line, "=") + 1) = 4 Then 
					GUICtrlSetState($Checkbox2, $GUI_UNCHECKED)
					GUICtrlSetState($Input2, $GUI_DISABLE)
				EndIf
				If StringInStr($line, "Checkbox3=") = True And StringMid($line, StringInStr($line, "=") + 1) = 1 Then 
					GUICtrlSetState($Checkbox3, $GUI_CHECKED)
					GUICtrlSetState($Input3, $GUI_ENABLE)
				EndIf
				If StringInStr($line, "Checkbox3=") = True And StringMid($line, StringInStr($line, "=") + 1) = 4 Then 
					GUICtrlSetState($Checkbox3, $GUI_UNCHECKED)
					GUICtrlSetState($Input3, $GUI_DISABLE)
				EndIf
			WEnd
			FileClose($filename)
		EndIf
	EndIf
EndFunc   ;==>Load
	
