Oppure

Loading
18/09/20 21:17
Froyd1973
Ciao.
Ho sviluppato un piccolo programma, che va a controllare una serie di cartelle, per vedere se contengono file oppure no.
Il programma funziona correttamente in locale.
Esempio:
Percorso Locale : c:\scambi_tes\mistral\elaborati\un
Se esiste uno o piu file, il programma informa l'utente, altrimenti no.
Ora avrei necessità che questo programma, funzionasse sul pc del lavoro, che accede ad una risorsa \10.0.0.134\scambi_tes
Ho provato a mappare l'unità di rete come Z:\ ,nel file .ini di configurazione che ho previsto e dal quale il programma legge, ho impostato il percorso z:\scambi_tes\mistral\elaborati\un, ma quando viene eseguito, non fa assolutamente nulla, rimane inerte, ne da errori, ne restituisce il messaggio a video che esiste un file.
Secondo voi perchè succede questo?
P.S. Io non sono amministratore della rete, tuttavia quando accedo manualmente alla cartella scambi_tes, posso leggere/scrivere/eliminare il contenuto di quest'ultima.

19/09/20 9:59
Carlo
Postato originariamente da Froyd1973:

Percorso Locale : c:\scambi_tes\mistral\elaborati\un

\10.0.0.134\scambi_tes

z:\scambi_tes\mistral\elaborati\un, ma quando viene eseguito, non fa assolutamente nulla, rimane inerte, ne da errori


se il percoorso locale è: c:\scambi_tes\mistral\elaborati\un
il percorso di rete diventa: \10.0.0.134\C\scambi_tes\mistral\elaborati\un (ci va anche la lettera dell'HDD, senza i due punti)

se mappi il drive Z, per VB6 il percorso va risolto nel senso che la Z è solo una semplificazione visiva, è come una variabile che contiene il percorso: \nomecomputer\letteradrive\nomecartella
Per il nomecomputer è valido sia il nome che l'indirizzo IP

Per gli errori, se hai usato FileListBox, l'errore deve essere segnalato:
se metti "z:\scambi_tes\mistral\elaborati\un" restituisce: periferica non disponibile
se metti "\10.0.0.134\scambi_tes" restituisce: Impossibile trovare il percorso

Controlla se hai "On Error GoTo" attivato.
Ultima modifica effettuata da Carlo 19/09/20 10:41
in programmazione tutto è permesso
19/09/20 18:01
Froyd1973
Grazie Carlo per la tua risposta.

Allora il percorso locale è quello del mio pc di casa, non quello del lavoro che ha quella cartella residente su un server dove
ignoro che lettera possa avere quell'hard disk...

Io se mappo la cartella sul mio client sul lavoro come Z:\, da prompt dei comandi ci accedo tranquillamente ovvero

-> cmd
-> z:\
-> z:\>
-> cd scambi_tes
-> z:\scambi_tes> etc etc..

Da quel che ho capito il problema potrebbe appunto essere la mancanza della lettera dell'unità HDD...solo che non saprei
che lettera metterci....parlando della cartella remota..forse potrei provare a scrivere il percorso nel mio file ini cosi :
\10.0.0.134\Z\scambi_tes\mistral\elaborati\

Non uso un filelistbox, ma una Listbox, per avvertire se in una determinata cartella trova dei file.
Il controllo avviene tramite l'istruzione Dir ..

If Dir(PERCORSO + "UN\";) <> "" Then

List1.AddItem "La cartella UN contiene files"

End If

Ultima modifica effettuata da Froyd1973 19/09/20 18:08
19/09/20 18:13
nessuno
Esattamente cosa contiene la variabile PERCORSO nei due casi?

Controlla se termina con \ in tutti i casi

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
19/09/20 18:47
Froyd1973
contiene il percorso che io indico nel mio file .ini che nel caso del mio drive locale del pc di casa è :
c:\scambi_tes\mistral\elaborati\ (e qui funziona correttamente)

nel percorso z:\ della mia postazione client del lavoro conteneva :

\10.0.0.134\scambi_tes\mistral\elaborati\

o

z:\scambi_tes\mistral\elaborati\

ma secondo me l'errore è che non è presente la lettera dell'hard disk come ha spiegato Carlo, solo che io non so quale è
la lettera dell'hard disk del server dove mi collego per accedere alla cartella condivisa scambi_tes

Per trovare la lettera dell'hd remoto, potrei farle passare tutte, escludendo la A.
Ultima modifica effettuata da Froyd1973 19/09/20 19:21
19/09/20 20:28
Carlo
se nel tuo Form metti un DriveListBox, e lo allunghi un po' per fare in modo che leggerai anche percorsi lunghi.
Dopo aver avviato il programma da VB6, cliccando la freccetta del DriveListBox, dovrai vedere tutti gli HDD, compreso quello virtuale mappato con la lettera z: tra parentesi quadre troverai la giusta sintassi per raggiungere quel percorso di rete.


List1.AddItem PERCORSO + "UN\" ' per verificare che percorso stai passando

If Dir(PERCORSO + "UN\") <> "" Then
        
        List1.AddItem "La cartella UN contiene files"

End If 


controlla che la variabile PERCORSO finisca per "\" e che la stringa contenuta sia uguale a quanto letto tra parentesi quadre su DriveListBox.

Se tutto funziona poi risolvi il percorso da codice.
Ultima modifica effettuata da Carlo 19/09/20 20:33
in programmazione tutto è permesso
19/09/20 20:38
Froyd1973
Grazie, Carlo.

Ci proverò...poi ti farò sapere..

19/09/20 20:51
Carlo
Postato originariamente da Froyd1973:

Grazie, Carlo.

Ci proverò...poi ti farò sapere..



Non so in quale sistema operativo stai usando VB6, ma se è un S.O. successivo a WinXP, potresti non vedere le unità di rete mappate mentre sei nell'ambiente VB6, forse devi compilare il programma e fare il test con l'exe.
in programmazione tutto è permesso