Agregar texto a la función Guardar archivo de textoHola a todos,
Estoy usando esta función como parte del bucle FOR.
If( File Exists(location)
csvlist[N Items(FilesIndex)]= Open(location),
//else below
continue() & // I am not sure this & function works.
Save Text File( path || "\" || "error.txt", "
\!"File doesnt exist\!";
" ||char(location)) ;
);
Básicamente, lo que quiero hacer es abrir la ubicación si el archivo existe; si no, quiero crear un archivo de texto e iterar el bucle. Además, quiero seguir añadiendo al mismo error. txt sin reemplazarlo cada vez.
Alguien sabe cómo hacer esto? Realmente aprecio tu ayuda.
Gracias.
Re: Agregar texto a la función Guardar archivo de textoLa lógica de su código está ahí.Simplemente no parece estar buscando la sintaxis o las definiciones en el índice de secuencias de comandos.
If( File Exists(location)
te falta una coma y/o un completado
If( File Exists(location),
o
If( File Exists(location) == 1,
No entiendo la lógica de la siguiente línea.
csvlist[N Items(FilesIndex)]= Open(location),
De la forma en que está escrito, el puntero a cada tabla de datos se escribiría uno encima del otro, a menos que en algún lugar de su código se agregue FilesIndex entre las tablas de datos abiertas.Sugiero un método más fácil y seguro.
dt = Open(location);
insert into(csvlist,dt),
no hay necesidad de "continuar", el código continuará automáticamente
Su función "Guardar archivo de texto" está bien sintácticamente, si desea que cada ejecución escriba sobre la ejecución anterior de la línea.Eche un vistazo al Índice de secuencias de comandos para ver cómo evitar hacer eso si desea agregar al archivo en lugar de escribir encima de él.
También sugeriría que si desea que las líneas de error se agreguen al código, agregue "\!n" a cada línea, para forzar cada listado a una nueva línea.
Re: Agregar texto a la función Guardar archivo de textoContinue() es algo así como romper. Inmediatamente itera y omite todo lo que pasa. Por ejemplo
for(i=1, i<=50, i++,
errortxt = ""
If( File Exists( location ),
csvlist[N Items( FilesIndex )] = Open( location )
, //else
//could just concat one text file and save after the for loop
errortxt ||= "File doesnt exist" || Char( location ) ) || "\!n" //just a newline to make it more readable
//or if you just want to append to the file
Save Text File( path || "\" || "error.txt",
"File doesnt exist" || Char( location ) ) || "\!n",
mode("append")
);
Continue();
);
print("Doing other stuff")
);<BR />//if using the errortxt method<BR />Save Text File( path || "\" || "error.txt", errortxt);<BR />
En este script, si no encuentra el archivo, lo agregará al archivo o (realmente hace ambas cosas) concatenará el error a la cadena errortxt. Una vez que presiona Continuar (), inmediatamente comenzará el bucle for. Saltarse la impresión ("Haciendo otras cosas"). Consulte el índice de secuencias de comandos en Ayuda>>Índice de secuencias de comandos, tiene muy buena documentación y ejemplos sobre las funciones y cómo funcionan.
Espero que esto haya ayudado.
Re: Agregar texto a la función Guardar archivo de textoEl índice de secuencias de comandos es un excelente lugar para buscar funciones JSL.
Scripting Index showing mode("append")Scripting Index showing mode("append")Índice de secuencias de comandos que muestra el modo ("agregar")
Probablemente no quieras usar continue() así. Continue() y Break() son declaraciones en JSL que saltan al final del ciclo contenedor y continúan el ciclo o salen del ciclo. Posiblemente quieras
for(i=1,i<10,i+=1,
if( condition,
doSomethingIfTrue();
doMoreThingsIfTrue();
, // else
doSomethingIfFalse();
continue();
); // end of if statement
codeThatIsSkippedByContinue();
); // end of for loop