Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-05-2007, 15:18   #1
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
[Visual Basic] Istruzione "Dir"

Ciao a tutti, sto facendo un programma che legga mediante l'istruzione "Dir" tutti files Excel in una cartella e per alcuni di essi faccia una copia di backup. A volte si riscontra l'errore 5 ("Chiamata di routine o argomento non valido"). Ancora non ne capisco il motivo, ma il problema è un altro. Infatti ho notato che questo errore non blocca l'elaborazione, quindi l'ho gestito facendo un "Resume Next" in caso si manifesti. La cosa strana è quella che accade dopo, infatti a volte continua leggendo sempre lo stesso file, causando così un loop infinito.

Qualcuno può aiutarmi?

Potrebbe aiutarmi anche capire con quale ordine i fogli sono letti (data, nome, dimensione, ecc)

Grazie
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2007, 16:05   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2790
Posta il codice che da problemi così gli diamo un'occhiata
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2007, 21:44   #3
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Posta il codice che da problemi così gli diamo un'occhiata
Non mi rimane facile postare il codice perchè è formato da varie Function o Sub.
Ti riassumo le istruzioni quì sotto:

nomeFile = Dir("*.xls")

do while nomeFile <> ""
...
nomeFile = Dir()
loop


dopo una lunga serie di file in cui non ci sono problemi inizia a leggere sempre lo stesso. Da cosa può dipendere?
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 10:47   #4
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Sono riuscito ad isolare l'errore. L'istruzione che genera l'errore è la "Dir" all'interno del ciclo, l'errore generato è il 5 (Chiamata di routine o argomento non valido). Credo anche di aver capito perché quando succede il programma va in loop, infatti andando in errore entra nella routine di gestione degli errori dove, per esigenze di progetto, ho dovuto mettere un "resume next". Ovviamente l'applicazione esegue l'istruzione successiva tenendo in canna lo stesso nome file ed è per questo che inizia a leggere sempre lo stesso file.
Qualcuno di voi ha già avuto questo tipo di errore con l'istruzione "Dir"? Ho fatto anche una ricerca nella cartella ed il file c'è, quindi non è quello il problema, da cosa può dipendere?

Grazie a tutti
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 10:59   #5
simoneart
Member
 
L'Avatar di simoneart
 
Iscritto dal: Aug 2003
Messaggi: 72
hai provato a usare
Codice:
io.Directory.GetFiles()
al posto di dir?
__________________
Visual Basic e dintorni Blog sullo sviluppo web
simoneart è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:01   #6
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Quote:
Originariamente inviato da simoneart Guarda i messaggi
hai provato a usare
Codice:
io.Directory.GetFiles()
al posto di dir?
E' un'istruzione di Visual Basic6??
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:21   #7
simoneart
Member
 
L'Avatar di simoneart
 
Iscritto dal: Aug 2003
Messaggi: 72
scusami colpa mia :P
Come titolo avevo letto Visual Basic e per me è stato naturale pensare a .NET
__________________
Visual Basic e dintorni Blog sullo sviluppo web
simoneart è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:25   #8
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Quote:
Originariamente inviato da simoneart Guarda i messaggi
scusami colpa mia :P
Come titolo avevo letto Visual Basic e per me è stato naturale pensare a .NET
Dal codice, immaginavo fosse .NET. In effetti anche io avrei dovuto specificare che si trattava di VB6.

Riguardo l'istruzione Dir sai dirmi qualcosa? Considera che l'applicazione gira dalle ore 19 e che in serata viene fatto un backup del contenuto dell'HD, io temo che ci possa essere un conflitto sui files, che ne pensi? Su MSDN, non ho trovato nulla dell'errore 5 che possa riguardare l'istruzione Dir.
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:34   #9
simoneart
Member
 
L'Avatar di simoneart
 
Iscritto dal: Aug 2003
Messaggi: 72
No, mi dispiace non saprei come aiutarti, probabilmente più che un problema di programmazione, potrebbe essere un problema di logica dell'applicazione.

Mi spiego meglio, magari è più semplice trovare una soluzione trovando una via alternativa per eseguire quel loop
__________________
Visual Basic e dintorni Blog sullo sviluppo web
simoneart è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:38   #10
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Quote:
Originariamente inviato da simoneart Guarda i messaggi
No, mi dispiace non saprei come aiutarti, probabilmente più che un problema di programmazione, potrebbe essere un problema di logica dell'applicazione.

Mi spiego meglio, magari è più semplice trovare una soluzione trovando una via alternativa per eseguire quel loop
In VB6 l'unica istruzione che conosco per leggere i file di una cartella è "Dir". Avevo pensato di usare un "Resume" anziché un "Resume Next" per i primi 10 tentativi in modo di dargli la possibilità di leggere un file 10 volte nel caso non riuscisse a leggerlo. La cosa strana è che non va sempre in errore, ad esempio la passata sera è andato in errore solo una volta
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 12:56   #11
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2790
Il codice mi sembra giusto, mi sembra strano il comportamento che dici comunque se non si riesce a risolvere puoi sempre salvarti in una variabile il nome del file precedente e poi all'inizio del ciclo controlli se il file precedente è uguale a quello che stai leggendo e in tal caso esci dal do.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 13:11   #12
StefanoCsl
Senior Member
 
L'Avatar di StefanoCsl
 
Iscritto dal: Oct 2002
Messaggi: 5035
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Il codice mi sembra giusto, mi sembra strano il comportamento che dici comunque se non si riesce a risolvere puoi sempre salvarti in una variabile il nome del file precedente e poi all'inizio del ciclo controlli se il file precedente è uguale a quello che stai leggendo e in tal caso esci dal do.
Siamo giunti alla stessa soluzione, ora ho adottato questo sistema, ma è solo una "toppa", infatti esce dal "do...while" e quindi non va in loop, ma neanche legge gli altri file. Per questo avevo pensato di fargli leggere lo stesso file per 10 volte prima di uscire dal loop, era un modo per avere 10 possibilità di lettura. Sono convinto che si tratti di un problema di conflitto nella cartella ma non capisco con cosa.
__________________
Id PSN: StefanoCsl (PS4): Battlefield 4 | Killzone Shadow Fall | The Division (clan IHSV)
StefanoCsl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Il primo trilionario al mondo ha un nome...
Infineon apre il 2 luglio lo Smart Power...
Crimson Desert non si ferma: il gioco di...
Con iOS 27 l'iPhone si ripristina da sol...
Visa porta i pagamenti in ChatGPT: gli a...
OpenAI valuta un 'drastico' taglio dei p...
Il MacBook con display touch si far&agra...
Google promette di restituire più...
Quattro monitor 4K, doppia LAN 2.5G e Wi...
ROG Equalizer, il cavo 'salva-GPU': prim...
Falla critica CVSS 9.8 in Oracle PeopleS...
Microsoft accelera su Edge: aggiornament...
AMD ha corretto un bug da 10.000 dollari...
Vertiv: data center, la corsa dell’IA sp...
Siri non diventerà la tua fidanzata virt...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v