#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Crypt.au3>

Global Const $inifile = "ExcelStarterConfig.ini"
Global Const $key = "Passwort" ; hier ein sicheres Passwort zur Verschlüsselung hinterlegen, NICHT bei diesem belassen!!!

#Region ### START Koda GUI section ### Form=Interface.kxf
$Form = GUICreate("Benutzerdaten ablegen", 300, 169, 192, 124)

GUICtrlCreateLabel("Legen Sie hier die Benutzerdaten für den Excel-Starter fest.", 8, 8, 283, 17)

GUICtrlCreateLabel("Benutzername:", 8, 40, 75, 17)

$user = GUICtrlCreateInput("", 88, 37, 200, 21)
GUICtrlSetData(-1, _Decrypt(IniRead($inifile, "admin", "user", "")))

GUICtrlCreateLabel("Passwort:", 8, 72, 50, 17)

$pass = GUICtrlCreateInput("", 88, 69, 200, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
GUICtrlSetData(-1, _Decrypt(IniRead($inifile, "admin", "pass", "")))

$Save = GUICtrlCreateButton("Speichern und schließen", 8, 104, 275, 25)
$Exit = GUICtrlCreateButton("Änderungen verwerfen und schließen", 8, 136, 275, 25)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE, $Exit
			Exit
		Case $Save
			_SaveSettings(GUICtrlRead($user), GUICtrlRead($pass))
			Exit
	EndSwitch
WEnd

Func _Encrypt($string)
	If $string <> "" Then
		Return _Crypt_EncryptData($string, "Pass", $CALG_RC4)
	Else
		Return ""
	EndIf
EndFunc

Func _Decrypt($string)
	If $string <> "" Then
		Return BinaryToString(_Crypt_DecryptData($string, "Pass", $CALG_RC4))
	Else
		Return ""
	EndIf
EndFunc

Func _SaveSettings($username, $password)
	If $username = "" Then
		MsgBox(16, "Fehler", "Leerer Benutzername")
	ElseIf $password = "" Then
		MsgBox(16, "Fehler", "Leeres Passwort")
	Else
		IniWrite($inifile, "admin", "user", _Encrypt($username))
		IniWrite($inifile, "admin", "pass", _Encrypt($password))
	EndIf
EndFunc