Hola a todos. Lo primero dar la enhorabuena pro este foro.
Lo segundo (logicamente) poner mi duda. Llevo todo el día con ello y todavía no he dado con la respuesta correcta.
Quiero recorer el archivo fichero.txt que tiene la siguiente extructura;
campo1;campo2;campo3;campo4
campo1;campo2;campo3;campo4
....
campon;campon;campon;campon
Para ello utilizo arrays con la stringsplit separando por ";" De esta manera, cada fila del fichero, es separada por este caracter...
El programa funciona. Recorre todas las líneas del fichero y dentro de cada línea todos los campos del array. El problema es q al finalizar el fichero es como si encuntrar un campo en blanco y aparece el error;
"Array variable has incorrect number of subscripts or subscript dimension range exceeded"
este es el código;
$archivo = FileOpen("fichero.txt", 0)
If $archivo = -1 Then
MsgBox(0, "Error", "El archivo con las provincias no se puede abrir.")
Exit
EndIf
While 1
$line = FileReadLine($archivo)
$lineaentera=stringsplit ($line, ";")
If @error = -1 then Exit
For $i=1 to 4
MsgBox(0, "el fichero contiene", $lineaentera[$i]) ;aqui me saca cada campo q contiene el fichero
next
Wend
FileClose($archivo)
Por favor, ¿me podéis ayudar? Es que no veo el error por ningún lado (novato q es uno)
Muchas Graciass!!
Problema con stringsplit
Re: Problema con stringsplit
Bueno acabo de encontrar la respuesta. Al final como suele ocurrir era una estupidez...
Gracias a todos de todas formas
Un saludo,
$archivo = FileOpen("fichero.txt", 0)
; Revisa si el archivo está listo para abrir
If $archivo = -1 Then
MsgBox(0, "Error", "El archivo con las provincias no se puede abrir.")
Exit
EndIf
While 1
$line = FileReadLine($archivo)
If @error = -1 then Exit
$lineaentera=stringsplit ($line, ";") ; logicamente tengo que poner el stringsplit después de comprobar si hemos llegado al fin del fichero
For $i=1 to 4
MsgBox(0, "el fichero contiene", $lineaentera[$i])
next
Wend
FileClose($archivo)
Gracias a todos de todas formas
Un saludo,
$archivo = FileOpen("fichero.txt", 0)
; Revisa si el archivo está listo para abrir
If $archivo = -1 Then
MsgBox(0, "Error", "El archivo con las provincias no se puede abrir.")
Exit
EndIf
While 1
$line = FileReadLine($archivo)
If @error = -1 then Exit
$lineaentera=stringsplit ($line, ";") ; logicamente tengo que poner el stringsplit después de comprobar si hemos llegado al fin del fichero
For $i=1 to 4
MsgBox(0, "el fichero contiene", $lineaentera[$i])
next
Wend
FileClose($archivo)
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Problema con stringsplit
Enhorabuena!
Una sugerencia, en vez de Exit usa ExitLoop, de esa manera en vez de cerrar el programa abruptamente saldrá del bucle y ejecutará el FileClose.
Una sugerencia, en vez de Exit usa ExitLoop, de esa manera en vez de cerrar el programa abruptamente saldrá del bucle y ejecutará el FileClose.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: Problema con stringsplit
Disculpa sí, estaba puesto con ExitLoop, pero ya cambié tantas cosas q no sabía lo que hacía.
Gracias de todas formas!
Gracias de todas formas!