Percorsi assoluti...

venerdì 28 settembre 2007 - 07.26

starbreeze Profilo | Newbie

Ciao a tutti!
Ho un problema abbastanza grossino e spero che qualcuno possa darmi qualche dritta...
In un'applicazione che sto sviluppando, ho necessità di salvarmi una stringa contenente un percorso selezionato dall'utente...fin qui tutto bene, ho usato la FolderBrowserDialog e ho visto che ha la proprietà SelectedPath che appunto contiene la suddetta stringa.
Il mio problema consiste nel fatto che non posso ad esempio salvare "C:\MyFolder", perchè ogni utente che utilizzerà quest'applicazione potrebbe avere una mappatura diversa delle unità, quindi io dovrei potermi salvare il percorso senza utilizzare la lettera di unità, ma facendo riferimento al "nome" che ha per tutti gli utenti...
Cioè se per esempio ho:

Unità C="Pippo"
Unità D="Paperino"
Unità E="Pluto"

Quando l'Utente A mi selezionerà ad esempio la cartella MyFolder che c'è su Paperino, la stringa che voglio io dev'essere "Paperino\MyFolder" e non "D:\MyFolder"...ehm...Non so se mi sono spiegata ^_^''''
Io ho provato a cercare ma non ho trovato nulla che potesse aiutarmi...Spero che qualcuno di voi sappia dirmi qualcosa
Grazie anticipatamente

Teech Profilo | Expert

Quanto da te descritto implica che tutte le cartelle siano condivise e a livello sistemistico non è un bene...
Un consiglio di facile implementazione potrebbe essere di controllare che la stringa che vai a salvare inizi con \\ così indica un percorso assoluto... Se non inizia con \\ rifiuti e gestisci la situazione a tuo piacimento.. In questo modo, selezionando dal controllo di dialogo puoi cercare solo percorsi di rete e quindi risorse disponibili e non percorsi assoluti che potrebbero non esistere...
Altro discorso se devi identificare l'utente o la macchina... Devi usare una classe per leggere i dati del PC o dell'utente (mi pare esista ma non ricordo a memoria il nome) puoi gestire i dati recuperati anche in diversi campi della tua applicazione.

Ciao!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Xnetus Profilo | Junior Member

>Quando l'Utente A mi selezionerà ad esempio la cartella MyFolder
>che c'è su Paperino, la stringa che voglio io dev'essere "Paperino\MyFolder"
>e non "D:\MyFolder"...ehm...Non so se mi sono spiegata ^_^''''
>Io ho provato a cercare ma non ho trovato nulla che potesse aiutarmi...Spero
>che qualcuno di voi sappia dirmi qualcosa
>Grazie anticipatamente

Prava questo codice:

Dir = "\\" & Environment.UserDomainName & "\MyFolder"



http://blogs.dotnethell.it/Xnetus/

starbreeze Profilo | Newbie

Come prima cosa, grazie per la risposta ad entrambi ^_^
Venerdì ho avuto liberi 5 minuti in cui ho provato la soluzione di usare l'Environment.UserDomainName, però così ottengo il nome del dominio di rete, che non è ciò che serve a me...
Solo che non so come si possa prendere il nome delle unità sulla rete...

SSUPERPIPPO Profilo | Guru

Guardati bene tutte le proprietà dell'oggetto Environment... penso ci sia tutto quello che ti serve...

Environment.UserName <== Determina l'utente che ha avviato il thread corrente.

Ciao

Alessandro


http://blogs.dotnethell.it/alebadalin
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5