Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

incrementare nome file

Buongiorno!

 

Premessa: non sono un'esperta programmatrice in Labview. Provo a spiegarvi quello che vorrei fare: ho un codice che scrive un file (chiamiamolo pippo.trc) in una cartella (chiamiamola pluto.trc). Vorrei che tutte le volte che faccio girare il programma il nome del file cambiasse: diciamo, la prima volta salva pippo0.trc, la seconda pippo1.trc, etc, sempre nella stessa cartella, possibilmente in autonomia (senza che la sottoscritta debba cambiare il nome manualmente). E' possibile?

 

Grazie a tutti quelli che mi aiuteranno.

 

Giulia

0 Kudos
Messaggio 1 di 11
6.890Visualizzazioni

Ciao

il vi allegato esamina una cartella (in questo caso la cartella dati di default ma puoi cambiarla con una qualunque altra cartella) e restituisce il primo nome file libero (indice da 000 a 999).



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 2 di 11
6.886Visualizzazioni
Gentile Roberto,
ti posso chiedere la cortesia di caricare il .png o .jpg del programma? Non ho la tua stessa versione e non posso aggiornarla.
0 Kudos
Messaggio 3 di 11
6.879Visualizzazioni

Ciao,

ti allego la versione per LV8.0, se può esserti utile.

 

In ogni caso questa è l'immagine del codice:

AutoIncrementFileName.PNG

 

Potresti avere problemi con il Check if File of Folder Exists: non so in che versione è stato introdotto. In ogni caso basta usare un qualunque VI che reperisce informazioni sul file; fai attenzione però a cosa fa il vi: se apre il file (come per esempio il GetFileSize) occorre chiuderlo subito dopo, ma sarebbe meglio cercare una funzione che non lo apra visto che non è necessario.

 

Il caso FALSE del case più esterno si limita a passare in out l'errore ricevuto e una costante Not A Path.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 4 di 11
6.874Visualizzazioni

Grazie mille davvero, molto gentile.

 

Giulia

0 Kudos
Messaggio 5 di 11
6.869Visualizzazioni

Scusa ancora il disturbo.

 

La mia versione non ha il .vi che hai utilizzato nel programma e non mi e' chiaro come posso aggirare il problema: uso una funzione tipo Scan from File? Considera anche (ammetto che non so se e' utile) che il file che sto salvando e' un'estensione non apribile con il mio computer.

 

Grazie mille ancora per l'aiuto

0 Kudos
Messaggio 6 di 11
6.867Visualizzazioni

Quale vi ti manca? Dentro il while ci sono in successione: Format Into String, Build Path e Check if...

Quale versione di LV usi?

 

Perchè vorresti usare lo Scan FromFile? Non credo che tu debba leggere nulla dal file in questa fase, bisogna solamente verficare se il file esiste quindi se non hai il Chek if file exists la cosa che puoi fare è tentare una operazione sul file (verificare dimensione, attributi o qualcos'altro, al limite aprirlo ma comunque NON leggere o scrivere che potrebbe dare altri errori) e verificare se ti viene restituito un errore; continua incrementando l'indice fino a che ricevi l'errore di file not found -mi pare che sia il 7- (ricordati di richiudere il file precedente se è stato aperto).



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 7 di 11
6.865Visualizzazioni

Mi manca il Check if: quindi se io al posto di quel vi sostituisco Get File Size ed utilizzare l'errore in uscita mandandolo allo status collegato poi ad error out, corretto?

0 Kudos
Messaggio 8 di 11
6.861Visualizzazioni

Utilizzo la versione 8.0

0 Kudos
Messaggio 9 di 11
6.859Visualizzazioni

Va bene, era la prima cosa che avevo fatto anch'io ma poi mi sono accorto che il Get File Size apre il file, quindi occorre richiuderlo nel caso di nessun errore.

 

Ultimo suggerimento: se ricevi un erore che non è il file not fount dovresti segnalarlo al chiamante magari passando un not-a-path come nome file in uscita.

 

 

Edit: ma nella 8.0 non c'è il Check if nella palette advanced file functions? E allora quando ho salvato in versione 8.0 cosa ha messo nel mio vi? Smiley Sorpreso Boh: se lo riapro trovo la funzione, ma qui meno della 8.2 non ho installato, quindi non è significativo.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 10 di 11
6.858Visualizzazioni