Newsgroup: it.comp.lang.visual-basic
Titolo: esistenza file

Ciao
dovrei sapere se un file completo di path esiste o no..ho provato a scrivere 
il seguente codice ma non funziona..
Function esistenza(filename) As Boolean
   esistenza = (Dir(filename) <> "")
End Function
Sub...
if esistenza(filename) then
    ...
end if
end sub 

Brucola ha scritto:

prova così
Private Function esistenza(file As String)as Boolean
esistenza = Dir(file, vbDirectory) <> "" 
End Function

> dovrei sapere se un file completo di path esiste o no...
Ti giro una mia funzione funzionante (scusa il gioco di parole). E non č
nemmeno mia, l'ho trovata da qualche parte, mi pare sul Balena...
' restituisce True se il pathname rappresenta un file esistente
Public Function FileExist(FileName As String) As Boolean
On Error Resume Next
    ' legge l'attributo e si assicura che non sia una directory
    FileExist = (GetAttr(FileName) And vbDirectory) = 0
    ' se avviene un errore la routine restituisce False
End Function
Spero ti sia utile. Ciao.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Ho scartabellato tra i vecchi thread e sono risalito alle tue prime comparse 
sul NG... decisamente non ti avrei riconosciuto se non avessi letto il nome.
Questa č quella che mi ero fatto io (sembra lunga ma sono tutti commenti):
Public Function path_esiste(Path As String) As EPathExistsResults
    '*** ==========================================
    '
    ' Controlla che il percorso passato esiste.
    '---------------------------------------------- 
    ' Parametri:
    '   path      : percorso da controllare
    '---------------------------------------------- 
    ' Ritorna:
    '   peNotFound (0)  : percorso non trovato.
    '   peFile (1)      : percorso č un file.
    '   peDirectory (2) : percorso č una directory.
    '---------------------------------------------- 
    ' Autore: Fabio
    '=============================================
    Dim attribs As VbFileAttribute
    On Error GoTo Exception:
    ' *** Inizializzazioni
    attribs = GetAttr(Path)
    ' *** ----------------------------------- 
    ' Se ha passato la GetAttr() ha
    '   trovato il percorso.
    ' --------------------------------------- 
    If ((attribs And vbDirectory) <> 0) Then
        ' *** ----------------------------------- 
        ' e' una directory.
        ' --------------------------------------- 
        path_esiste = peDirectory
    Else
        ' *** ----------------------------------- 
        ' e' un file.
        ' --------------------------------------- 
        path_esiste = peFile
    End If
    Exit Function
Exception:
    path_esiste = peNotFound
    On Error GoTo 0
End Function
Ciao

 il seguente codice ma non funziona..
Credo che questo sia il modo più pulito:
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/shlwapi/path/pathfileexists.asp
Nella categoria trovi anche un sacco di altre funzioni utili per gestire i path.


Forse sbaglio in qualcosa, a questo punto penso nel richiamare la funziona 
perchè mi restituisce sempre true..
praticamente io ho scritto:
risultato=fileexist(filename)
if risultato then
    'apertura
end if
cosa ci può essere che non va? 

 cosa ci può essere che non va?
forse filename esiste veramente? :)
Ciao 

 sul NG... decisamente non ti avrei riconosciuto se non avessi letto il
nome.
(...Boja! E' cosě lunga la memoria di Google?!...)


 (...Boja! E' così lunga la memoria di Google?!...)
spero di sì, perchè ormai mi affido a lui per mantenere i miei vecchi post, 
altrimenti dovrei comprare un disco solo per OE :)
Ciao 

 post, altrimenti dovrei comprare un disco solo per OE :)
la mia corrispondenza in mail e ng sta in un mdb. comunque google parecchio 
indietro ci va:
http://tinyurl.com/y7a34f
un deciso passo avanti lo fara' quando raggruppera' in base alla clausola 
NG_NOMORPHING :)
ciao, a. 

 
http://tinyurl.com/y7a34f
In realtà va ancora più indietro, ma pare avere qualche problema con le 
date.
Se faccio come hai fatto tu il mio primo post risale al 20 nov 1998.
Se ci aggiungo una parola chiave (ho provato con "API") arrivo al 9 nov 
1998...
Boh...
Ciao

 1998...
api? effetti collaterali del dll-hell :)
ciao, a.