Aggiungi testo alla funzione Salva file di testoCiao a tutti,
Sto usando questa funzione come parte del ciclo 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)) ;
);
Fondamentalmente quello che voglio fare è aprire la posizione se il file esiste, in caso contrario voglio creare un file di testo e ripetere il ciclo. Inoltre, voglio continuare ad aggiungere allo stesso errore. txt senza sostituirlo ogni volta.
Qualcuno sa come farlo? Apprezzo molto il vostro aiuto.
Grazie.
Re: Aggiungi testo alla funzione Salva file di testoLa logica del tuo codice è lì.Sembra che tu non stia cercando la sintassi o le definizioni nell'indice degli script.
If( File Exists(location)
manca una virgola e/o un completamento
If( File Exists(location),
O
If( File Exists(location) == 1,
Non capisco la logica della riga successiva
csvlist[N Items(FilesIndex)]= Open(location),
nel modo in cui è scritto, il puntatore a ogni tabella di dati verrebbe scritto uno sopra l'altro, a meno che da qualche parte nel codice FilesIndex non venga aggiunto tra le tabelle di dati di apertura.Suggerisco un metodo più semplice e sicuro
dt = Open(location);
insert into(csvlist,dt),
non è necessario "continua", il codice continuerà automaticamente
La tua funzione "Salva file di testo" è sintatticamente corretta, se vuoi che ciascuna esecuzione scriva sull'esecuzione precedente della riga.Dai un'occhiata all'indice degli script per vedere come evitare di farlo se vuoi aggiungere qualcosa al file invece di scriverci sopra.
Suggerirei anche che, se si desidera che le righe di errore vengano aggiunte al codice, si aggiunga "\!n" a ciascuna riga, per forzare ogni elenco su una nuova riga.
Re: Aggiungi testo alla funzione Salva file di testoContinue() è un po' come break. Itera immediatamente e salta tutto ciò che lo supera. Ad esempio
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 />
In questo script, se non trova il file, lo aggiungerà al file o (in realtà fa entrambe le cose) concatenerà l'errore alla stringa errortxt. Una volta premuto Continue(), inizierà immediatamente il ciclo for. Saltare Print("Fare altre cose"). Controlla l'indice degli script in Aiuto >> Indice degli script, contiene documentazione ed esempi davvero validi sulle funzioni e su come funzionano.
Spero che questo abbia aiutato.
Re: Aggiungi testo alla funzione Salva file di testoL'indice di scripting è un ottimo posto per cercare le funzioni JSL.
Scripting Index showing mode("append")Scripting Index showing mode("append")Indice di script che mostra la modalità ("append")
Probabilmente non vorrai usare continue() in questo modo. Continue() e Break() sono istruzioni in JSL che saltano alla fine del ciclo contenitore e continuano il ciclo o lo interrompono. Forse vuoi
for(i=1,i<10,i+=1,
if( condition,
doSomethingIfTrue();
doMoreThingsIfTrue();
, // else
doSomethingIfFalse();
continue();
); // end of if statement
codeThatIsSkippedByContinue();
); // end of for loop