division info editor, compile using AutoIt and use.
PHP Code:
Dim $file, $divisions[0xFF][0xFF]
$gui = GUICreate('Divisioninfo Editor', 400, 220)
$divisionList = GUICtrlCreateList('', 10, 10, 180, 150)
$serverList = GUICtrlCreateList('', 200, 10, 190, 150)
$addDivision = GUICtrlCreateButton('Add Division', 10, 160, 90, 20)
$delDivision = GUICtrlCreateButton('Del Division', 100, 160, 90, 20)
$addServer = GUICtrlCreateButton('Add Server', 200, 160, 95, 20)
$delServer = GUICtrlCreateButton('Del Server', 295, 160, 95, 20)
$open = GUICtrlCreateButton('Open Divisioninfo', 10, 185, 180, 25)
$save = GUICtrlCreateButton('Save Divisioninfo', 200, 185, 190, 25)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $open
$file = FileSaveDialog('Divisioninfo.txt', Default, 'Divisioninfo (DIVISIONINFO.TXT)', 1, 'DIVISIONINFO.TXT', $gui)
If $file<>'' Then
$fileHwnd = FileOpen($file, 16)
$locale = FileRead($fileHwnd, 1)
$numberOfDivisions = Int(FileRead($fileHwnd, 1))
For $division=1 To $numberOfDivisions
$lengthOfDivisionName = Int(FileRead($fileHwnd, 4))
$divisionName = BinaryToString(FileRead($fileHwnd, $lengthOfDivisionName))
GUICtrlSetData($divisionList, $divisionName)
$divisions[$division][0] = $divisionName
FileRead($fileHwnd, 1)
$numberOfServers = Int(FileRead($fileHwnd, 1))
For $server=1 To $numberOfServers
$lengthOfServerAdress = Int(FileRead($fileHwnd, 4))
$serverAdress = BinaryToString(FileRead($fileHwnd, $lengthOfServerAdress))
$divisions[$division][$server] = $serverAdress
FileRead($fileHwnd, 1)
Next
Next
FileClose($fileHwnd)
EndIf
Case $divisionList
GUICtrlSetData($serverList, '')
$div = 0
For $div=1 To 0xFE
If $divisions[$div][0] = GUICtrlRead($divisionList) Then ExitLoop
Next
If $div <> 0 Then
For $serv=1 To 0xFE
If $divisions[$div][$serv] <> '' Then GUICtrlSetData($serverList, $divisions[$div][$serv])
Next
EndIf
Case $addServer
If $file='' Then
MsgBox(0, 'Error', 'Open the Divisioninfo first!')
ElseIf GUICtrlRead($divisionList) = '' Then
MsgBox(0, 'Error', 'Select a Division First')
Else
$newAdress = InputBox('Server', 'Enter the Serveradress here', '')
If $newAdress<>'' Then
For $div=1 To 0xFF
If $div = 0xFF Then ExitLoop
If $divisions[$div][0] = GUICtrlRead($divisionList) Then ExitLoop
Next
If $div <> 0xFF Then
For $serv=1 To 0xFF
If $serv = 0xFF Then ExitLoop
If $divisions[$div][$serv] = '' Then ExitLoop
Next
EndIf
If $serv <> 0xFF Then
$divisions[$div][$serv] = $newAdress
GUICtrlSetData($serverList, $newAdress)
EndIf
EndIf
EndIf
Case $addDivision
If $file='' Then
MsgBox(0, 'Error', 'Open the Divisioninfo first!')
Else
$newDivision = InputBox('Division', 'Enter the Divisionname here', '')
If $newDivision<>'' Then
For $div=1 To 0xFE
If $divisions[$div][0] = '' Then
$divisions[$div][0] = $newDivision
GUICtrlSetData($divisionList, $newDivision)
GUICtrlSetData($serverList, '')
ExitLoop
EndIf
Next
EndIf
EndIf
Case $delDivision
If $file='' Then
MsgBox(0, 'Error', 'Open the Divisioninfo first!')
ElseIf GUICtrlRead($divisionList) = '' Then
MsgBox(0, 'Error', 'Select a Division First')
Else
For $div=1 To 0xFE
If $divisions[$div][0] = GUICtrlRead($divisionList) Then
For $i=0 To 0xFE
$divisions[$div][$i] = ''
Next
EndIf
Next
EndIf
GUICtrlSetData($divisionList, '')
GUICtrlSetData($serverList, '')
For $i=1 To 0xFE
If $divisions[$i][0] <> '' Then GUICtrlSetData($divisionList, $divisions[$i][0])
Next
Case $delServer
If $file='' Then
MsgBox(0, 'Error', 'Open the Divisioninfo first!')
ElseIf GUICtrlRead($divisionList) = '' Then
MsgBox(0, 'Error', 'Select a Division First')
ElseIf GUICtrlRead($serverList) = '' Then
MsgBox(0, 'Error', 'Select a Server Fist!')
Else
For $div=1 To 0xFF
If $div = 0xFF Then ExitLoop
If $divisions[$div][0] = GUICtrlRead($divisionList) Then ExitLoop
Next
If $div <> 0xFF Then
For $serv=1 To 0xFF
If $serv = 0xFF Then ExitLoop
If $divisions[$div][$serv] = GUICtrlRead($serverList) Then
$divisions[$div][$serv] = ''
EndIf
Next
EndIf
EndIf
GUICtrlSetData($serverList, '')
For $i=1 To 0xFE
If $divisions[$div][$i] <> '' Then GUICtrlSetData($serverList, $divisions[$div][$i])
Next
Case $save
If $file='' Then
MsgBox(0, 'Error', 'Open the Divisioninfo first!')
Else
FileMove($file, StringTrimRight($file, 16)&'BACKUP_DIVISIONINFO.TXT',8)
$newFile = FileOpen($file, 18)
FileWrite($newFile, $locale)
$divNr = 0
For $i=1 To 0xFE
If $divisions[$i][0]<>'' Then $divNr+=1
Next
FileWrite($newFile, BinaryMid(Binary($divNr), 1, 1))
For $i=1 To 0xFE
If $divisions[$i][0]<>'' Then
FileWrite($newFile, Binary(StringLen($divisions[$i][0])))
FileWrite($newFile, StringToBinary($divisions[$i][0]))
FileWrite($newFile, BinaryMid(Binary(0), 1, 1))
$servNr = 0
For $h=1 To 0xFE
If $divisions[$i][$h]<>'' Then $servNr+=1
Next
FileWrite($newFile, BinaryMid(Binary($servNr), 1, 1))
For $h=1 To 0xFE
If $divisions[$i][$h]<>'' Then
FileWrite($newFile, Binary(StringLen($divisions[$i][$h])))
FileWrite($newFile, StringToBinary($divisions[$i][$h]))
FileWrite($newFile, BinaryMid(Binary(0), 1, 1))
EndIf
Next
EndIf
Next
FileClose($newFile)
MsgBox(0,'Info', 'The Divisioninfo has been saved!')
EndIf
EndSwitch
WEnd