Newsgroup: it.comp.lang.visual-basic
Titolo: cercare un file ma non un altro

Salve a tutti.
Ho una directory in cui voglio cercare se esiste un file che si chiama
VerN.bin, oppure VerD.bin, oppure VerT.bin.
Se ne trova uno, MsgBox "Trovato VerN.bin" , oppure MsgBox "Trovato
VerD.bin" , ma se c'č VerZ.bin, MsgBox "Il file non č stato trovato"
Io ora uso un If "VerN.bin" And Not vbDirectory Then ... ElseIf "VerD.bin"
.... , ma c'č un modo migliore?
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

           
c'e' questo:
     If "VerD.bin" Like "Ver[N,D,T].bin" Then Print "si" Else Print "no"
hth
bye
r


Grazie. Ora lo provo.


> > If "VerD.bin" Like "Ver[N,D,T].bin" Then Print "si" Else Print "no"
E per fare ... Then Print [nome del file trovato]... come si fa?


 E per fare ... Then Print [nome del file trovato]... come si fa?
... Then Print strNomeDelFileTrovato
Ma che domanda č?
Ciao


Aspetta Zanna, non ti arrabbiare... forse non sono stato molto chiaro.
Come imposto strNomeDelFileTrovato? Quando lancio la ricerca io non so quale
file troverň....
Ho bisogno di verificare se esiste un file, che puň chiamarsi in uno dei tre
modi descritti, e se ne esiste uno ho bisogno di sapere qual'č.
Comunque grazie per qualunque aiuto.


La funzione Dir() restituisce una stringa che č il nome del file trovato.
Quindi basta assegnare a strNomeFileTrovato la funzione Dir():
strNomeFileTrovato=Dir(...)
If strNomeFileTrovato LIKE "Ver[N,D,T].bin" Then
    Print "Trovato: " & strNomeFileTrovato
Else
    Print "Non trovato :("
End If
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|
--
GIGAMAIL By X-Privat - 
http://www.x-privat.org/gigamail.php

 End If
grazie, dark. Quindi, se ho ben capito, tu metteresti:
strNomeFileTrovato=Dir("VerN.bin" Or "VerD.bin" Or "VerT.bin")
?


 strNomeFileTrovato=Dir("VerN.bin" Or "VerD.bin" Or "VerT.bin")
No... tu lo fai apposta.
Ammettilo, così non stiamo qui a perdere tempo
RTFM!
E che caaa...spita!
-- 
NeoDataType : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 RTFM!
E non chiedere cosa significa RTFM: te lo cerchi su internet, se non sei un
lamer (e se non lo sei e non sai che significa ti cerchi pure questo).
Ciao


 ?
/me prende birra e patatine...
**********************************
Volevo terminare qui il post, ma non ho avuto cuore :-)
OK, parliamo seriamente: Yronium, ce l'hai la guida, l'help in linea
l'MSDN o quel che è ? Hai provato a vedere cosa fa l'istruzione LIKE ?
O DIR, se è per questo ?
Bye, G.

 O DIR, se č per questo ?
Ce l'ho, ce l'ho, non ve la prendete (chiedo scusa anche a Zanna, te l'avevo
detto di non arrabbiarti : - ) )
Dunque, ora sono a casa, e vi posto il mio codice:
Private Function VerCode() As Integer
    Dim VerFile As String ' "Ver*.bin": N, D o T
    ' cerca il file di versione, e controlla anche l'esistenza di piů file
    ' precedenza di ricerca: prima N, poi T, poi D:
    ' se ci sono tre file, lancia la N
    ' se ce ne sono due e non c'č la N, lancia la T
    ' se ce n'č uno solo, lancia quello che trova
    ' se il file non c'č, lancia la D
    If WriteFileINI.FileExist(App.Path & "\" & "VerN.bin") Then
        VerFile = "VerN.bin"
    ElseIf WriteFileINI.FileExist(App.Path & "\" & "VerT.bin") Then
        VerFile = "VerT.bin"
    ElseIf WriteFileINI.FileExist(App.Path & "\" & "VerD.bin") Then
        VerFile = "VerD.bin"
    Else ' non trova nessuno dei tre file
        ' il file non esiste: crea una Demo
        VerFile = "VerD.bin"
        VerCode = 0
    End If
End Sub
' returns True if a pathname is an existing file
Public Function FileExist(FileName As String) As Boolean
On Error Resume Next
    ' leggi l'attributo e assicurati che non sia una directory
    ' read the attribute, and check it is not a directory
    FileExist = (GetAttr(FileName) And vbDirectory) = 0
    ' se avviene un errore la routine restituisce False
    ' on error, this function returns False
End Function
Volevo vedere se esisteva un modo migliore, ma riflettendo, anche sul codice
che mi avete gentilmente fornito (giuro che l'ho provato, e ho letto anche
la documentazione), credo che questa sia la strada migliore per le mie
esigenze.
Grazie davvero a tutti, non sono un lamer, non lo faccio apposta, non voglio
irritare nessuno, e non me la prendo se mi mandate a ramare.
PS per Zanna: Certo che so cosa vuol dire RTFM, anche se non amo gli
acronimi, ma ti confesso che quando ho letto la tua risposta ho pensato
ROTFL. Ciao, e senza rancore, sei sempre utilissimo. : - )
