Странно, вроде все ок, но на другом компьетере выдает ошибку: Error: Subscript used with non-Array variable Line 4561
Вот код:
Подскажите что не так?
Вот код:
Код:
#include <GUIConstants.au3>
#Include <GuiComboBox.au3>
#Include <GuiListBox.au3>
#Include <File.au3>
#Include <Array.au3>
$Dir = @ScriptDir & '\Setting.ini'
$FileList=_FileListToArray(@ScriptDir & '\settings')
$read = IniReadSectionNames($Dir)
$Form1_1_1 = GUICreate("Avtobot", 376, 322, 370, 266)
GUISetIcon("C:\Users\Lexa\Desktop\heroic_autobots.ico")
GUISetBkColor(0xB9D1EA)
$Label1 = GUICtrlCreateLabel("SID", 16, 128, 35, 24)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Input1 = GUICtrlCreateInput("", 16, 56, 169, 21)
$Label2 = GUICtrlCreateLabel("Name", 16, 32, 50, 24)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Input2 = GUICtrlCreateInput("", 16, 152, 169, 21)
$Label3 = GUICtrlCreateLabel("ID", 16, 80, 23, 24)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Input3 = GUICtrlCreateInput("", 16, 104, 169, 21)
$Label4 = GUICtrlCreateLabel("Server", 16, 176, 56, 24)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Input4 = GUICtrlCreateInput("", 16, 200, 169, 21)
$Button1 = GUICtrlCreateButton("Save", 16, 280, 73, 25)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Button2 = GUICtrlCreateButton("Delete", 208, 280, 73, 25)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$List1 = GUICtrlCreateList("", 208, 104, 153, 162)
If @error <> 1 Then
For $i = 1 To $read[0]
_GUICtrlListBox_AddString($List1, $read[$i])
Next
EndIf
$Button3 = GUICtrlCreateButton("Clear", 112, 280, 73, 25)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Button4 = GUICtrlCreateButton("Edit", 289, 280, 73, 25)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label5 = GUICtrlCreateLabel(" Load Settings", 224, 0, 122, 26)
GUICtrlSetFont(-1, 12, 800, 0, "Constantia")
$Combo1 = GUICtrlCreateCombo("None", 208, 56, 153, 25)
For $K=1 To $FileList[0]
_GUICtrlComboBox_AddString($Combo1,$FileList[$k])
Next
GUICtrlSetFont(-1, 8, 800, 0, "Palatino Linotype")
$Combo2 = GUICtrlCreateCombo("None", 16, 248, 169, 25)
GUICtrlSetData(-1, "1-1|1-2|1-3|1-4|1-5|1-6|1-7|1-8|2-1|2-2|2-3|2-4|2-5|2-6|2-7|2-8|3-1|3-2|3-3|3-4|3-5|3-6|3-7|3-8|4-1|4-2|4-3|4-5")
GUICtrlSetFont(-1, 8, 800, 0, "Palatino Linotype")
$Label6 = GUICtrlCreateLabel("Account", 72, 0, 67, 23)
GUICtrlSetFont(-1, 12, 800, 0, "Constantia")
$Label7 = GUICtrlCreateLabel("Map", 16, 224, 32, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
GUISetState(@SW_SHOW)
While 1
$read = IniReadSectionNames($Dir)
If @error <> 1 Then
For $i=1 To $read[0]
$FindStr = _GUICtrlListBox_FindString($List1,$read[$i])
$FindText = _GUICtrlListBox_GetText($List1,$FindStr) ; $findText = 0 здесь
If Number($FindText) = Number($read[$i]) Then
Else
_GUICtrlListBox_AddString($List1, $read[$i])
EndIf
Next
EndIf
_GUICtrlComboBox_LimitText($Combo1,0)
_GUICtrlComboBox_LimitText($Combo2,0)
$name = GUICtrlRead($Input1)
$sid = GUICtrlRead($Input2)
$id = GUICtrlRead($Input3)
$serv = GUICtrlRead($Input4)
$map = GUICtrlRead($Combo2)
$Setting = ControlGetText('Avtobot','','[CLASS:Edit; INSTANCE:5]')
$Findname = _GUICtrlListBox_FindString($List1,$name)
$FindTextname = _GUICtrlListBox_GetText($List1,$Findname)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$CtrlRead = GUICtrlRead($Input1)
$CtrlReadId = GUICtrlRead($Input3)
$CtrlReadSid = GUICtrlRead($Input2)
$CtrlReadServ = GUICtrlRead($Input4)
$StringLen = StringLen($CtrlReadId)
$seaTxt = ControlGetText("Avtobot", "Account", '[CLASS:Edit; INSTANCE:6]')
$seaTxtset = ControlGetText ("Avtobot", "Account", '[CLASS:Edit; INSTANCE:5]')
If $CtrlRead = '' Then
MsgBox(0,'ERROR','Error!' & @LF & 'Enter an account name!' & $CtrlRead)
$err = 1
Else
$err = 0
EndIf
If StringIsDigit($CtrlReadId) = 1 And StringLen($CtrlReadId) = 8 Then
IniWrite( $Dir,$name, "ID",$id)
$ide = 0
Else
MsgBox(0,'ERROR!','Error!' & @LF & 'Enter an correct ID!')
$ide = 1
EndIf
If StringIsAlNum($CtrlReadSid) = 1 And StringLen($CtrlReadSid) = 32 Then
IniWrite( $Dir,$name, "SID",$sid)
$side = 0
Else
MsgBox(0,'ERROR!','Error!' & @LF & 'Enter correct SID!')
$side = 1
EndIf
If StringLen($CtrlReadServ) = 0 Or StringLen($CtrlReadServ) > 5 Then
MsgBox(0,'ERROR!','Error!' & @LF & 'Enter correct Server!')
$serve = 1
Else
IniWrite( $Dir,$name, "SERVER",$serv)
$serve = 0
EndIf
If $seaTxt = 'None' Then
MsgBox(0,'ERROR!','Error!' & @LF & 'Enter an correct Map!')
$mape = 1
Else
IniWrite( $Dir,$name, "MAP",_GUICtrlComboBox_GetCurSel($Combo2))
$mape = 0
EndIf
IniWrite($Dir,$name,'SETTING',$Setting)
If $name = $FindTextname And $err = 0 And $ide = 0 And $side = 0 And $mape = 0 And $serve = 0 Then
For $ed=1 To $read[0]
$regedit = StringRegExp($read[$ed],$name,0)
If $regedit = 1 Then $edit = 1
Next
If $edit = 1 Then
MsgBox(0,'OK!','Account Edit!')
EndIf
If $Findname = -1 And $err = 0 And $ide = 0 And $side = 0 And $mape = 0 And $serve = 0 Then
For $r=1 To $read[0]
$regsave = StringRegExp( $read[$r],$name,0)
Next
If $regsave = 0 Then
MsgBox(0,'OK!','Account Save!')
EndIf
EndIf
EndIf
Case $Button2
$Marker = _GUICtrlListBox_GetAnchorIndex($List1)
$StrText = _GUICtrlListBox_GetText($List1,$Marker)
If $Marker <> -1 Then
_GUICtrlListBox_DeleteString($List1, $Marker)
IniDelete($Dir,$StrText)
Else
MsgBox(0,'ERROR!','Error!' & @LF & 'The account for removal isn"t chosen!')
EndIf
Case $Button3
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:1]','')
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:3]','')
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:2]','')
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:4]','')
_GUICtrlComboBox_SetCurSel($Combo2,'0')
_GUICtrlComboBox_SetCurSel($Combo1,'0')
Case $Button4
$Nameindex = _GUICtrlListBox_GetAnchorIndex($List1)
$NameIni = _GUICtrlListBox_GetText($List1, $Nameindex)
If $Nameindex <> -1 Then
$IniSid = IniRead($Dir,$NameIni,'SID','')
$IniId = IniRead($Dir,$NameIni,'ID','')
$IniServer = IniRead($Dir,$NameIni,'SERVER','')
$IniMap = IniRead($Dir,$NameIni,'MAP','')
$IniSetting = IniRead($Dir,$NameIni,'SETTING','')
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:1]',$NameIni)
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:3]',$IniId)
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:2]',$IniSid)
ControlSetText('Avtobot','','[CLASS:Edit; INSTANCE:4]',$IniServer)
_GUICtrlComboBox_SetCurSel($Combo2,$IniMap)
_GUICtrlComboBox_SetCurSel($Combo1,$IniSetting + 1)
Else
MsgBox(0,'ERROR!','The account for removal isn"t chosen!')
EndIf
EndSwitch
$edit = 0
WEnd
Подскажите что не так?