in data 05-12-2011 05:52 AM
Ciao,
vi scrivo sottoporvi 2 problemi:
1.è possibile, una volta bloccato il run del .vi, farlo ripartire dall'ultima itarezione? Vi chiedo questo perché salvando i dati in un .txt con l'inserimento dell'intestazione solo al primo ciclo, ogni volta che c'è uno stop imprevisto viene riscritta l'intestazione e questo potrebbe portarmi problemi copiando i dati in excel.
2. Come si può implementare il salvataggio automatico mediante creazione di un nuovo file al variare del giorno di acquisizione ?
(il nome del file dovrà essere la data stessa di acquisizione)
Grazie
Francesco
05-12-2011 09:02 AM - modificato 05-12-2011 09:05 AM
Potresti provare qualcosa del genere:
Se il file non esiste entri nel case visualizzato: lo crei e scrivi l'intestazione. Se non esiste si esegue l'altro caso che si limita a far passare il refnum e l'errore (non c'è bisogni di scrivere l'intestazione perchè c'è già).
Col formato che ho usato io il file si chiama "YYYYMMDD.TXT"; tu puoi accomodare il nome come più si adatta alle tue esigenze però attenzione a non usare caratteri proibiti (tipo la barra nella data '/').
In effetti il vi si dovrebbe arricchire per gestire il caso di errore diverso da 7.
in data 05-12-2011 10:53 AM
Ciao,
avendo la versione 7.1 qualche .vi è diverso.
-Come si chiama il .vi subito dopo il build path?
-Il blocco all'interno dell'if è un write.txt file?
Grazie
Francesco
in data 05-12-2011 04:07 PM
-Come si chiama il .vi subito dopo il build path?
GetFileSize.Qualunque vi che abbia accesso al file va bene: serve solo per ricevere l'errore di file not found. Il GetFileSize nella versione 8.2 apre il file se lo trova, quindi è comodo da usare.
-Il blocco all'interno dell'if è un write.txt file?
No è OpenFile: in questo modo in qualsiasi caso dal case si esce con il refnum al file aperto su cui scrivere.
in data 05-13-2011 04:56 AM
Ciao,
ok, credo non c siano problemi con questi due blocchi. Sto provando ma non funziona alla perfezione, potresti allegarmi anche l'immagine del "case false"? (così verifico di non aver fatto errori)
Grazie
Francesco
05-13-2011 09:40 AM - modificato 05-13-2011 09:42 AM
Il case false ha semplicemente due fili che portano il cluster di errore e il file refnum dall'ingresso all'uscita. Se non c'è errore ti trovi col file già aperto (identificato dal refnum) e puoi passare a scriverci dentro i dati.
Come ti dicevo, in questo caso dovresti aggiungere un controllo, perchè potrebbe verificarsi un errore di I/O sul file diverso dal 7.