sigil Posted March 1, 2007 Share Posted March 1, 2007 I want to read some characters from an array and return an array with those characters. Here is the function: func getword($array, byref $index) while $array[$index]=$null $index=$index+1 wend if $array[$index]=$termstr then return $null else dim $word[1] $word[0]=0 while iswordchar($array[$index]) $word[0]=$word[0]+1 _arrayadd($word,$array[$index]) $index=$index+1 wend endif endfunc I'm passing it an array in the last line of this code block: $size=filegetsize($path) $handle=fileopen($path,0) $fullstring=fileread($handle,$size) fileclose($handle) $stringarray=stringsplit($fullstring,"") ;adds the terminal element $stringarray=_arrayadd($stringarray,$termstr) $place=1 $word=getword($stringarray,$place) But when I run, I get this message: while $array[$index]=$null while $array^ ERROR Error: Subscript used with non-Array variable. But I declared $stringarray as an array by using stringsplit(). I don't understand why the function isn't accepting it as an array. Link to comment Share on other sites More sharing options...
herewasplato Posted March 1, 2007 Share Posted March 1, 2007 Here is your code cut down to something that will show the issue and will run by itself:$fullstring = "stringstringstring" $stringarray = StringSplit($fullstring, "") Global $null = 1 Global $place = 1 Global $word = getword($stringarray, $place) Func getword($array, ByRef $index) While $array[$index] = $null $index = $index + 1 WEnd EndFuncI'm not sure if Global is the "proper" way to solve your problem, but it works. [size="1"][font="Arial"].[u].[/u][/font][/size] Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now