Fileexists() + lecture

saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005 - 5 déc. 2004 à 17:20
cs_lapoisse Messages postés 7 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 17 septembre 2005 - 11 avril 2005 à 10:51
Voila en fait, j'aimerais savoir deja comment marche la fonction fileexists()?
Et j'aimerais aussi savoir :
-si après avoir utulisé la fonction fileexist() > la réponse est true > par ex if fileexist(...) then
form1.show
else
form1.hide > bien sure c'est a mettre dans le load.
He bien est-il possible de lire dans le fichier (si il existe) les propriétés a affiché dans la fentre(form1)?
Comme avec visual basic > quand il loade les propriété des fihciers .frm avec test de l'existance du ficher .frm

Voila conaitriez vous un bout de code > ou pourriez vous me donnez une source qui correspondrais a la description car moi jen trouve pas.
MErci

10 réponses

TheEwook Messages postés 155 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 mai 2005
5 déc. 2004 à 18:53
Salut,

En faite tu veux pouvoir vérifier l'existence d'un fichier et de pouvoir le lire ?

@++

________________
TheEwook
http://www.codes-studio.com
0
saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005
5 déc. 2004 à 19:13
Oui c'est tout a fait ca.
Et "le lire" dans le sens pouvoir récupérer des configurations permettant l'affichage d'objet.(par ex si on a ca dans le fichier "arciage" > he bien le age coresponderai au bouton dela fenetre activée ou pas)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
5 déc. 2004 à 20:13
Je ne vois pas ou est le prob, en utilisant fileexists(), si ça renvoie true tu peux le lire sinon tu fais autre chose.

Cordialement, CanisLupus
0
saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005
5 déc. 2004 à 20:56
Le problème c'est que je ne sais ni la fontion fileexsist ni la fonction de lecture et dinterprétation.
Pourtant jai herché dans les codes sources mais ce que jy est trouvé ne me suffisait pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005
5 déc. 2004 à 21:03
J'ai bien trouvé ceci pour le fileexists mais je ne vois pas comment l'utiliser alors si qq pourrait me donner un exemple :

Option Explicit

' Publié par 69VobD3 (DivX-Paradise.net)

Public Const gstrQUOTE$ = """"
Public Const gstrSEP_DIR$ = ""

Public Function FileExists(ByVal strPathName As String) As Boolean
Dim intFileNum As Integer
On Error Resume Next
strPathName = strUnQuoteString(strPathName)
If Right$(strPathName, 1) = gstrSEP_DIR Then
strPathName = Left$(strPathName, Len(strPathName) - 1)
End If
intFileNum = FreeFile
Open strPathName For Input As intFileNum FileExists (Err.number 0)
Close intFileNum
Err.Clear
End Function

Public Function strUnQuoteString(ByVal strQuotedString As String)
strQuotedString = Trim$(strQuotedString)
If Mid$(strQuotedString, 1, 1) = gstrQUOTE Then
If Right$(strQuotedString, 1) = gstrQUOTE Then
strQuotedString = Mid$(strQuotedString, 2, _
Len(strQuotedString) - 2)
End If
End If
strUnQuoteString = strQuotedString
End Function

Et pour la lecture je n'ai rien trouvé comme source qui puisse lire un fichier et interprété ce qu'il y a dans le fichier.

SvP aidez-moi
0
TheEwook Messages postés 155 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 mai 2005
5 déc. 2004 à 21:41
Salut,

Voilà comment utiliser la fonction FileExist :

Public Function FileExist(Fichier As String) As Boolean
    Dim a As Long
    
    On Error Resume Next
    
    a = FileLen(Fichier)
    
    TesterPresenceFichier = Not (Err.Number > 0)
    
    On Error GoTo 0
End Function


Pour l'utiliser il te suffit de mettre dans un module la fonction ci-dessus.
et dans la source de ta form tu l'appel de cette facon:

If FileExist(Chemin_du_fichier.txt) Then
....
Else
...
End IF

et pour le lecture d'un fichier

OFile = App.Path & "\FichierText.txt"
Open OFile For Input As 1 'ouvre le fichier
Do While Not EOF(1)     'End Of File (numero du fichier)
    Input #1, TextFile 'met le contenu du fichier dans TextFile
Loop
Close #1 'ferme le fichier


Voilà

@++

________________
TheEwook
http://www.codes-studio.com
0
saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005
5 déc. 2004 à 22:40
Pour ta source sur fileexist jai essayé mais ca n'a pas marché.
Regarde ce que j'ai mis :

Private Sub Form_Load()
If FileExist("C:\Documents and Settings\visual\Bureau\salut.txt") Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub

Le truc c que comme le fichier salut.txt existe, le bouton devrait être activé mais il ne l'est pas.
M^m si je supprime le fichier salut.txt le bouton reste désactivé.
Pour ta deuxième source jai pas encore essayé.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 déc. 2004 à 01:35
c'est normal puisque le répertoire "Documents and Settings" a un attrubut spécial (&H2000), donc il est pas reconnu par les fonctions classiques.

Private Type FILETIME
    dwLowDate    As Long
    dwHighDate   As Long
End Type

Private Type WIN32_FIND_DATA
    dwFileAttributes    As Long
    ftCreationTime      As FILETIME
    ftLastAccessTime    As FILETIME
    ftLastWriteTime     As FILETIME
    nFileSizeHigh       As Long
    nFileSizeLow        As Long
    dwReserved0         As Long
    dwReserved1         As Long
    cFileName           As String * 260
    cAlternate          As String * 14
End Type

Private Declare Function FindFirstFile Lib "kernel32" _
                Alias "FindFirstFileA" _
               (ByVal lpFileName As String, _
                lpFindFileData As WIN32_FIND_DATA) As Long

Private Declare Function FindClose Lib "kernel32" _
               (ByVal hfile As Long) As Long

Private Function FileExist(ByVal nom) As Boolean
    Dim FindData As WIN32_FIND_DATA
    Dim hfind    As Long
    hfind = FindFirstFile(nom, FindData)
    If hfind <> -1 Then FileExist = True
    FindClose hfind
End Function


Private Sub Form_Load()
Command1.Enabled = FileExist("C:\Documents and Settings\visual\Bureau\salut.txt")
End Sub

Daniel
0
saveourssouls Messages postés 46 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 18 mars 2005
6 déc. 2004 à 15:52
En fait qq a pu me préciser pq ca ne marchait pas avec la première source que javais eue donc maintenant pour le file exist c bon.

MAintenant qu'il sait que le fichuier existe y aurait il moyen quil lise le contenu et quil interprétèt ce qu'il y a dedans.
Come un genre de keyfile.
0
cs_lapoisse Messages postés 7 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 17 septembre 2005
11 avril 2005 à 10:51
ça , ça marche :

Public Function FileIsPresent(Fichier As String) As Boolean
Dim a As Long
On Error Resume Next 'on passe à l'instruction suivante en cas d'erreur
a = FileLen(Fichier) 'génère une erreur en cas d'absence de fichier
FileIsPresent = Not (Err.Number > 0) 'si erreur alors le numero d'err est sup à 0 et donc le fichier pas present
On Error GoTo 0 'Fin de la gestion des erreurs
End Function

Voili voilà
0
Rejoignez-nous