Página 1 de 1

¿Cuál es el error en esta operación? [Ayuda] [Sencillo]

Publicado: 27 Oct 2015, 00:35
por Rhazz
Muy buenas gente, tengo un problema con una operación y no sé muy bien a qué se debe, así que paso por aquí a pedir ayuda con este detalle!
Quiero leer un archivo con muchas líneas y pasar todo su contenido a otro archivo, pero colocando tres líneas unidas del primer archivo en cada línea del segundo archivo.
Es decir, si el primer archivo tiene 300 líneas, el segundo archivo tendrá 100.

Código: Seleccionar todo

#include <File.au3>
Local $sArchivo1
$sArchivo1 = "archivo1.txt"
Local $sArchivo2
$sArchivo2 = "archivo2.txt"
Local $sTresLineasEnUna
FileOpen($sArchivo1,0)
FileOpen($sArchivo2,2)
For $i In ( _FileCountLines($sArchivo1) / 3 )
	For $a = ( ( $i - 1 ) * 3 ) + 1 ) To ( $i * 3 )
	$sTresLineasEnUna = $sTresLineasEnUna & FileReadLine($sArchivo1, $a)
	Next
FileWriteLine($sArchivo2, $sTresLineasEnUna)
Next
FileClose($sArchivo2)
FileClose($sArchivo1)
El error que muestra AutoIt es:
error: syntax error
For $a = ( ( $i - 1 ) * 3 ) + 1 )
Solo faltaba un paréntesis, pero ahora tengo otro error:

Código: Seleccionar todo

Variable must be of type "Object".:
For $i In ( _FileCountLines($sArchivo1) / 3 )

Re: ¿Cuál es el error en esta operación? [Ayuda] [Sencillo]

Publicado: 27 Oct 2015, 12:45
por BasicOs
Hola,
Debe ser una expresión que resulta en un objeto o una matriz/array, y no un solo número, si no usa solo el for next normal y pones el número de elemento en el for....
Echa un ojo a la ayuda para ejemplos
Salu22:)

Re: ¿Cuál es el error en esta operación? [Ayuda] [Sencillo]

Publicado: 30 Oct 2015, 18:23
por Rhazz
BasicOs escribió:Hola,
Debe ser una expresión que resulta en un objeto o una matriz/array, y no un solo número, si no usa solo el for next normal y pones el número de elemento en el for....
Echa un ojo a la ayuda para ejemplos
Salu22:)
Hola, seguí leyendo el archivo de ayuda y probando hasta conseguirlo: utilicé "For <variable> = <start> To <stop>"
Gracias