|
You last visited: Today at 17:56
Advertisement
Error: Subscript used with non-Array variable
Discussion on Error: Subscript used with non-Array variable within the AutoIt forum part of the Coders Den category.
09/16/2012, 18:13
|
#1
|
elite*gold: 0
Join Date: Mar 2010
Posts: 91
Received Thanks: 3
|
Error: Subscript used with non-Array variable
Ich bin gerade dabei ein Script zu machen, bei dem ich mehr Überblick über das Lets Play schauen bekomme. Nur jetzt häng ich an einer Fehlermeldung: Subscript used with non-Array variable. Der Fehler soll in Zeile 89 sein..
Ich hab zwar schon gegooglet, aber da hab ich keine konkrete antwort auf mein Problem bekommen..
In der Schleife in Zeile 88 Soll das Script überprüfen, ob ein Wert eingetragen ist und ob der noch aktiv ist, wenn es einen eintrag gibt, welcher noch aktiv ist, dann soll das in die Tabelle eingetragen werden.
Ich würde mich freuen, wenn sich jemand das mal anschauen könnte (und eventuell noch andere Verbesserungsvorschlage machen könnte, ich lerne ja noch )
Hier der Code:
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Gui = GUICreate("YT LP Watch", 300, 300, 500, 250)
$NewSerieLabel = GUICtrlCreateLabel("Neue Serie eintragen:", 10, 10, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewSerieInput = GUICtrlCreateInput("", 10, 30, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewLPerLabel = GUICtrlCreateLabel("LPer der Serie:", 130, 10, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewLPerInput = GUICtrlCreateInput("", 130, 30, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewSerieButton = GUICtrlCreateButton("Eintragen", 10, 55, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieLabel = GUICtrlCreateLabel("Serie als beendet eintragen (ID):", 10, 80, 170, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieInput = GUICtrlCreateInput("", 10, 100, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieButton = GUICtrlCreateButton("Abschließen", 10, 125, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieLabel = GUICtrlCreateLabel("Alte Serie austragen (ID):", 10, 150, 140, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieInput = GUICtrlCreateInput("", 10, 170, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieButton = GUICtrlCreateButton("Austragen", 10, 195, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$Weiter = GUICtrlCreateButton("Zu den Serien ->", 10, 260, 100, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
IniWrite(@scriptdir & "/IDs.ini","ID","0","")
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
Exit
Case $msg = $NewSerieButton
$New = GUICtrlRead($NewSerieInput)
$NewLPer = GUICtrlRead($NewLPerInput)
While 1
$FreeId = Random(1,800,1)
$EmptyCheck = IniRead(@scriptdir & "/IDs.ini","ID",$FreeId,"")
If $EmptyCheck == "" Then ExitLoop
Wend
IniWrite(@scriptdir & "/IDs.ini","ID",$FreeId,$New)
IniWrite(@scriptdir & "/IDs.ini","Active",$FreeId,"y")
IniWrite(@scriptdir & "/IDs.ini","Lper",$FreeId,$NewLper)
IniWrite(@scriptdir & "/IDs.ini","Folge Momentan",$FreeId,"0")
IniWrite(@scriptdir & "/IDs.ini","Folge Angesehen",$FreeId,"0")
Case $msg = $OutSerieButton
$Out = GUICtrlRead($OutSerieInput)
IniWrite(@scriptdir & "/IDs.ini","Active",$Out,"n")
Case $msg = $DeleteSerieButton
$Del = GUICtrlRead($DeleteSerieInput)
IniDelete(@scriptdir & "/IDs.ini","Active",$Del)
IniDelete(@scriptdir & "/IDs.ini","Lper",$Del)
IniDelete(@scriptdir & "/IDs.ini","ID",$Del)
IniDelete(@scriptdir & "/IDs.ini","Folge Momentan",$Del)
IniDelete(@scriptdir & "/IDs.ini","Folge Angesehen",$Del)
Case $msg = $Weiter
ExitLoop
EndSelect
WEnd
GUIDelete($Gui)
$Gui = GUICreate("YT LP Watch", 300, 300, 500, 250, -1, $WS_EX_ACCEPTFILES)
Dim $Item
$liste = GUICtrlCreateListView(" ID | Serie | Lets Player ", 10, 10, 280, 230)
$ID = 1
#cs
Zeile 88:
#ce
While 1
$Item[$ID] = IniRead(@scriptdir & "/IDs.ini","ID",$ID,"")
$Item[$ID] = IniRead(@scriptdir & "/IDs.ini","Active",$ID,"n")
$ID +=1
Wend
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
Exit
EndSelect
WEnd
|
|
|
09/16/2012, 20:35
|
#2
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,404
|
Code:
(92) : ==> Subscript used with non-Array variable.:
$Item[$ID] = IniRead(@scriptdir & "/IDs.ini","ID",$ID,"")
$Item^ ERROR
Irgendwie verstehe ich dein Skript nicht.
Der Fehler scheint bei dem Array zu liegen.
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Gui = GUICreate("YT LP Watch", 300, 300, 500, 250)
$NewSerieLabel = GUICtrlCreateLabel("Neue Serie eintragen:", 10, 10, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewSerieInput = GUICtrlCreateInput("", 10, 30, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewLPerLabel = GUICtrlCreateLabel("LPer der Serie:", 130, 10, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewLPerInput = GUICtrlCreateInput("", 130, 30, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$NewSerieButton = GUICtrlCreateButton("Eintragen", 10, 55, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieLabel = GUICtrlCreateLabel("Serie als beendet eintragen (ID):", 10, 80, 170, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieInput = GUICtrlCreateInput("", 10, 100, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$OutSerieButton = GUICtrlCreateButton("Abschließen", 10, 125, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieLabel = GUICtrlCreateLabel("Alte Serie austragen (ID):", 10, 150, 140, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieInput = GUICtrlCreateInput("", 10, 170, 110, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$DeleteSerieButton = GUICtrlCreateButton("Austragen", 10, 195, 70, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
$Weiter = GUICtrlCreateButton("Zu den Serien ->", 10, 260, 100, 20)
guictrlsetfont(-1,8,800,0,"Comic Sans MS")
IniWrite(@scriptdir & "/IDs.ini","ID","0","")
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
Exit
Case $msg = $NewSerieButton
$New = GUICtrlRead($NewSerieInput)
$NewLPer = GUICtrlRead($NewLPerInput)
While 1
$FreeId = Random(1,800,1)
$EmptyCheck = IniRead(@scriptdir & "/IDs.ini","ID",$FreeId,"")
If $EmptyCheck == "" Then ExitLoop
Wend
IniWrite(@scriptdir & "/IDs.ini","ID",$FreeId,$New)
IniWrite(@scriptdir & "/IDs.ini","Active",$FreeId,"y")
IniWrite(@scriptdir & "/IDs.ini","Lper",$FreeId,$NewLper)
IniWrite(@scriptdir & "/IDs.ini","Folge Momentan",$FreeId,"0")
IniWrite(@scriptdir & "/IDs.ini","Folge Angesehen",$FreeId,"0")
Case $msg = $OutSerieButton
$Out = GUICtrlRead($OutSerieInput)
IniWrite(@scriptdir & "/IDs.ini","Active",$Out,"n")
Case $msg = $DeleteSerieButton
$Del = GUICtrlRead($DeleteSerieInput)
IniDelete(@scriptdir & "/IDs.ini","Active",$Del)
IniDelete(@scriptdir & "/IDs.ini","Lper",$Del)
IniDelete(@scriptdir & "/IDs.ini","ID",$Del)
IniDelete(@scriptdir & "/IDs.ini","Folge Momentan",$Del)
IniDelete(@scriptdir & "/IDs.ini","Folge Angesehen",$Del)
Case $msg = $Weiter
ExitLoop
EndSelect
WEnd
GUIDelete($Gui)
$Gui = GUICreate("YT LP Watch", 300, 300, 500, 250, -1, $WS_EX_ACCEPTFILES)
Dim $Item ;<---- Array ohne Elemente definiert?? WTF?
;Dim [Const] $array[subscript 1]...[subscript n] [ = initializer ]
$liste = GUICtrlCreateListView(" ID | Serie | Lets Player ", 10, 10, 280, 230)
$ID = 1
#cs
Zeile 88:
#ce
For $i = 0 To UBound($Item)-1 ;Bei Arrays benutzt man normalerweise FOR - Schleifen ;)
$Item[$ID] = IniRead(@scriptdir & "/IDs.ini","ID",$ID,"")
$Item[$ID] = IniRead(@scriptdir & "/IDs.ini","Active",$ID,"n")
Next
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
Exit
EndSelect
WEnd
MfG
€dit:
PS:
|
|
|
|
Similar Threads
|
subscript used with non-array variable
06/09/2013 - AutoIt - 6 Replies
Hey Leute, ich bin vor kurzem auf AutoIT gestoßen und interessiere mich für die ImageSearch Funktion, also habe ich mir ein kleines Script gebastelt. Das Script soll nach einem bestimmten Bild suchen und wenn dieses Bild nicht gefunden wurde die F1 Taste drücken (F1 generiert in einem Spiel für welches ich das Script nutzen will ein neues Bild). Das Script soll dann solange F1 drücken, bis ein bestimmtes Bild gefunden wurde, und dann eine MsgBox anzeigen.
Da es mein erstes kleines mini...
|
[HELP] _FTP_ListToArrayEx Subscript used with non Array variable
02/29/2012 - AutoIt - 2 Replies
Ich habe das problem das bei meinem Script der Fehler : "Subscript used with non Array variable" auftaucht. Der Fehler ist angeblich auf Linie 25 aber _FTP_ListToArrayEx müsste eigentlich ein Array zurückgeben sogar bei einem Fehler und ich bin mir sicher das die Connection Stimmt.
Ich hoffe ihr könnt mir Helfen
Ja ich weis ich könnte das auch kürzer machen aber für`n Momment is es so okey also bitte unterlasst diesbezügliche Kommentare
Script:
#include-once
|
Problem error: Subscript used whit non-Array variable "
08/26/2010 - Last Chaos - 1 Replies
hey leute,
seitdem mein laptop ein windows update gemacht hat funktioniert der ultra bot nicht.
es dann kommt immer die fehlermeldung " error: Subscript used whit non-Array variable "
vor diesem update ging der bot noch.
|
beliebiege variable aus array
04/21/2010 - AutoIt - 3 Replies
hallo zusammen.
ich arbeite zur zeit an einem kleinen programm und dafür ist es nötig, dass autoit vergleicht, ob eine bestimmte variable innerhalb eines array vorhanden ist.
das array enthält zum bsp variabeln mit den werten: 1, 2 und 3.
jetzt soll überprüft werden, ob die variable a im array ist (a=1, z.B.).
das array hab ich natürlich schon erstellt (1dimensional), nur der abgleich ist knifflig. ich habs mit
if $a= $array_items Then
$score= $score+1
EndIf
|
All times are GMT +2. The time now is 17:56.
|
|