Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Test de l'utilisation d'un fichier en VB6 [ Système / Fichier & Disque ] (benvp)

mercredi 2 juillet 2008 à 08:57:50 | Test de l'utilisation d'un fichier en VB6

benvp

Bonjour,

Dans mon application, je reçois des fichers toutes les 2 secondes, et je dois les analyser pour extraire le contenu intéressant et l'afficher à l'utilisateur. J'ai fait une boucle qui regarde périodiquement dans le dossier pour savoir si le fichier existe, et si il existe, je l'ouvre.

Le problème est que si j'ouvre le fichier quand il est en train d'être écrit, j'ai une erreur lors de l'analyse. Il faudrait donc que je sache si il est utilisé, et dans ce cas j'attends qu'il ne soit plus utilisé pour l'ouvrir.

Pourriez-vous m'aider svp ?

D'avance merci.

mercredi 2 juillet 2008 à 11:38:34 | Re : Test de l'utilisation d'un fichier en VB6

Renfield

Administrateur CodeS-SourceS
plutot qu'une boucle :

http://www.vbfrance.com/codes/SURVEILLER-MODIFS-REPERTOIRE_17157.aspx

mercredi 2 juillet 2008 à 11:40:23 | Re : Test de l'utilisation d'un fichier en VB6

Renfield

Administrateur CodeS-SourceS
"bricolage", certes...

je fais ainsi, dans un outil vte fait pour el boulot (même genre de process)

Private Sub ViewAFP(ByRef vsPath As String, ByRef vsFileName As String)
Dim hFile As Long
Static sOldFileName As String
Static nOldFileSize As Long
Static dOldFileTime As Date
    hFile = CreateFile(vsPath & vsFileName, GENERIC_WRITE, 0, ByVal 0&, OPEN_EXISTING, 0, 0)
    If hFile <> -1 Then
        CloseHandle hFile
        DoEvents

        If sOldFileName <> vsPath & vsFileName Or _
           nOldFileSize <> FileLen(vsPath & vsFileName) Or _
           dOldFileTime <> FileDateTime(vsPath & vsFileName) Then
            sOldFileName = vsPath & vsFileName
            nOldFileSize = FileLen(sOldFileName)
            dOldFileTime = FileDateTime(sOldFileName)
            
            On Local Error Resume Next
                Shell App.Path & "\NopViewer.exe """ & vsPath & vsFileName & ChrW$(34), vbNormalFocus
            On Local Error GoTo 0
        End If
    End If
End Sub

mercredi 2 juillet 2008 à 13:39:38 | Re : Test de l'utilisation d'un fichier en VB6

benvp

La fonction CreateFile ne fonctionne pas dans ce cas : le fichier n'est pas bloqué. Je vais plutôt m'orienter vers la surveillance de la taille du fichier : je connais la taille minimale qu'il doit avoir, je considère donc qu'il en train d'être écrit si sa taille est inférieure à la taille minimale, et je l'ouvre ensuite.

Je posterai pour donner le résultat.


mercredi 2 juillet 2008 à 14:06:59 | Re : Test de l'utilisation d'un fichier en VB6

Renfield

Administrateur CodeS-SourceS
ah, ok, si le fichier n'est pas bloqué, alors...


mercredi 2 juillet 2008 à 14:08:10 | Re : Test de l'utilisation d'un fichier en VB6

us_30

Membre Club
Bonjour,

A tout hasard, la fonction "RESET" a des chances de règler ton problème, puisqu'elle ferme en lecture ou en écriture tout les fichier...

Amicalement,
Us.

mercredi 2 juillet 2008 à 14:10:12 | Re : Test de l'utilisation d'un fichier en VB6

us_30

Membre Club
... si le fichier est ouvert avec OPEN...

Us.

mercredi 2 juillet 2008 à 14:10:48 | Re : Test de l'utilisation d'un fichier en VB6

Renfield

Administrateur CodeS-SourceS
euh, oui, mais non...
je veux dire, on va pas couper l'herbe sous le pied au programme externe qui est en train de produire notre fichier...

on attend juste que la génération soit finie ^^


mercredi 2 juillet 2008 à 14:11:22 | Re : Test de l'utilisation d'un fichier en VB6

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
a tout hasard, pas moyen de se fier au contenu, pour savoir si le fichier est complet ?

mercredi 2 juillet 2008 à 14:35:29 | Re : Test de l'utilisation d'un fichier en VB6

us_30

Membre Club

Ou d'agir sur les attributs du fichier... idée simple, mettre un attribut "Lecture Seule" après écriture... cela demande de pouvoir agir sur le programe externe...

Us.



1 2

Cette discussion est classé dans : fichier, vb6, test, utilisation, existe


Répondre à ce message

Sujets en rapport avec ce message

*** Recherche de fichier avec VB6 *** [ par Heny ] Salut tout le monde - je voudrai savoir comment lors du chargement d'un form on peut faire la recherche d'un fichier donnée Exp: Text1.txt dans le dos [VB6] Suite ! un champ au sein du fichier créé qui s'incrémente! [ par venmen ] Merci beaucoupr les amis et spécialement PhilocheMan pour l'astuce, j'aimerai bien completer cà par une autre partie qui dit que sur chaque fichier cr Créer un fichier XML en VB6 [ par freddy1787 ] Salut, Voila j'ai besoin de creer un fichier XML sur plusieur ligne. Ma premiere ligne Ma seconde ligne et en [VB6] Création de fichier texte dont le titre est automatiquement généré [ par venmen ] [VB6] Création de fichier texte dont le titre est automatiquement généréSalut, incorporé dans un programme, j'ai une petite partie qui me crée problèm [VB6][XML/XSL] XSL:message [ par memepaspeur2 ] Bonjour, J'utilise un programme VB6 pour transformer un fichier .XML en fichier .txt via une feuille XSL. Pour ça j'utilise la fonction "transformNode (VB6/VBS) Modifier la date de modification d'un fichier [ par asecher ] Bonjour,J'ai bien trouvé des codes en C++ pour modifier la propriété "DateModified" d'un fichier (équivalent de la commande touch en Unix), mais je ne Etat d'un fichier [ par scortex84 ] Bonsoir,je me demandais s'il existe un moyen de savoir si un fichier est utilisé par une application ou non, en .NETEn fait, je veux ecraser un fichie Pb d'envoi de fichier vers un serveur Ftp [ par La biode ] Bonjours, j'aimerai envoyer un fichier par exemple test.txt sur mon serveur ftp j'utilise ces lignes de code mais cela ne marche pas.nomfichier = "c:\ Ajouter fichier texte au projet VB6 [ par aurelien2723 ] Salut! Mon programme en VB6 utilise un fichier texte pour travailler, toujours le même. Afin que personne n'y est accés, j'aimerais savoir s'il est po


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.