Newsgroup: it.comp.lang.visual-basic
Titolo: FileName

Buongiorno a tutti.
Esiste un modo per prelevare dal CommonDialog solo il nome del file senza
prelevare drive,path,e pattern?
la proprietà filename mi preleva tutto e a me serve solo il nome sel file.
Es.
CommonDialog.ShowOpen
seleziono il file da drive "c:\"
dalla path "Casa\"
nome del file "Casa"
pattern ".txt"
con la proprietà filename se la assegno ad una vairabile a as string
a= CommonDialog.filename
risultato:
a= "c:\Casa\Casa.txt"
a me invece interessa solo il nome del file, cioè Casa, come devo fare?
Con la speranza che sia stato chiaro, vi saluto.
                                    SPINA

 wrote in message
news:8aY47.121926$cd.6...@news1.tin.it...

con un for a ritroso sulla stringa trovata localizzi il backslash, quindi
prendi solo la sottostringa dalla posizione ottenuta + 1 alla fine della
stringa stessa.
Gli strumenti di cui hai bisogno sono: FOR, MID, RIGHT tutti documentati
con... F1.
Ciao,
Moreno (@work)


Inserisci in un modulo:
Function NomeFile(strFile As String) As String
   If strFile = "" Then
      NomeFile = ""
      Exit Function
   End If
   NomeFile = StrReverse(strFile)
   If InStr(NomeFile, "\") Then
      NomeFile = Left$(NomeFile, InStr(NomeFile, "\") - 1)
   End If
   If InStr(NomeFile, "/") Then
      NomeFile = Left$(NomeFile, InStr(NomeFile, "/") - 1)
   End If
   If InStr(NomeFile, ".") Then
      NomeFile = Mid$(NomeFile, InStr(NomeFile, ".") + 1)
   End If
   NomeFile = StrReverse(NomeFile)
End Function
E poi:
a = Nomefile(a)
L'ho scritto in fretta e furia, quindi non è ottimizzato,
ma può essere una buona base di partenza (funziona anche con
i percorsi di rete del tipo \\pippo\pluto.txt o con quelli
unix del tipo /pippo/pluto.txt).

cosě in fretta e furia:
    a$ = "c:\documenti\casa.txt"
    Do Until InStr(a$, "\") = 0
        a$ = Right$(a$, Len(a$) - InStr(a$, "\"))
    Loop
    If InStr(a$, ".") > 0 Then
        a$ = Left$(a$, InStr(a$, ".") - 1)
    End If
NB: ho implementato anche un controllo di errori....
scusa se non č *professionale* ma io sono un programmatore modesto (in rif.
a prec thread)...:-))))))))))
ciao

Meglio il metodo dello Split... più veloce da implementare e meno
incasinato... IMHO
CiaoZ
SebaMix

    NomeFile = StrReverse(strFile)
StrReverse    ECCO !!!!



ECCO cosa?

 ha scritto nel messaggio
news:9j1mfk$172ha$1...@news02.it.net...

quello che non sapevo... mi evita una parte del codice che ho
postato.....vedi ?

scusa...io non sono un programmatorone....(citazione presa in prestito da
treuominieunagamba quando giacomo è al pronto soccorso ....-)))))
non è meglio una funzione tipo Instr che un loop sulla stringa ?

 postato.....vedi ?
Non dirlo a me! con il VB4 mi ero scritto le varie StrReverse,
Replace, ecc...
L'unica cosa che non funziona è l'InStrRev:
? InStr("pippo", "o")
 5
? InStrRev("pippo", "o")
 5

  5
OOOPPPSS! Piccolo errore... Funziona...
? InStrrev("pippero", "p")
 4
? InStr("pippero", "p")
 1

non č meglio una funzione tipo Instr che un loop sulla stringa ?
Assosutamente sě... anzi, ancor meglio come ha detto SebaMix.... scusa... ho risposto di getto dopo
9 ore di VB ininterrotte... :-P
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

Ma non c'č la proprietą FileTitle che riporta solo il nome?
Ho premuto F1, ho cercato commondialog, proprietą...
Ho visto FileTitle; ho cliccato ed ho letto:
###
FileTitle
Restituisce il nome (ma non il percorso) del file da aprire o salvare.
Osservazioni:
Quando l'utente seleziona un file e sceglie OK nella finestra di dialogo
File, la proprietą FileTitle assume un valore utilizzabile per
l'apertura o il salvataggio del file selezionato.
Nota   Se č impostato il flag cdlOFNNoValidate, la proprietą FileTitle
non restituirą alcun valore.
Tipo di dati:
String
###
Mah...
-> GbC


fai :
a=dir(a)

 ha scritto nel messaggio
news:9j1od0$173ef$1...@news02.it.net...


bum

 non restituirà alcun valore.


Billy piange se sa che lui ha speso milioni di dollari per farla e
nessuno la usa...
-> GbC
http://www.chiappori.net
http://www.gbcweb.com