begin process at 2012 02 14 13:36:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Système

 > 

Fichier & Disque

 > 

Test de l'utilisation d'un fichier en VB6


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Test de l'utilisation d'un fichier en VB6

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ée dans : fichier, vb6, test, utilisation, existe


Répondre à ce message

Sujets en rapport avec ce message

Opimisation, Convertion VB6 en VB.NET [ par nawakator ] Bonjour, Je viens enfin de me décider à convertir toutes mes principales applications VB6 en VB.NET. J'ai enfin fini un premier projet, mais quel n'e *** 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 Comment créer un log qd utilisation de la base [ par freeman151248 ] Bonjour, Je voudrais pouvoir creer un fichier log pour savoir qui s'est connecté à une base de donnée. La base est interfacée avec une application V créer un fichier txt sous vb6 portant comme nom la valeur d'une variable de type alphabétique renseignée sous vb6 [ par Ackby ] Bonjour, voici mon problème : sous vb6, je mets un text dans une textbox (sans menu déroulant , c'est un texte libre qui correspond au nom de celui q creer nouveau fichier + nom du fichier ? [ par Tyrell2 ] bonjour, à un moment du programme je souhaite créer un nouveau fichier txt (je sais faire) je m'assure d'abord que le fichier existe ou pas sur le HD Utilisation d'ocx avec VB6 [ par benjaminVerney ] Bonjour, Je suis débutant sur VB6 et j'aurai aimé savoir comment utiliser un ocx: Je travail avec une camera Flir et le SDK qui vas avec. J'ai donc u Existe t-il un éditeur de tables de chaines pour fichier ressources? [ par freeman151248 ] Bonjour, Je suis en train de faire une application multi-langue en utilisant un fichier *.res. Or je voudrais copier/coller plusieurs chaine de texte Fichier text,vb6 [ par noussaDardouri ] Salut, je veux écrire un programme vb6 qui permet d' afficher le texte sélectionner dans un fichier texte indiquer . Mais ,je trouve un problème dan Vérifier si une mise a jour existe [ par petiflamand ] Bonjour , J' ai fait un programme de commande de materiel que je vais partager avec les technicien de ma boite , ce programme travaille avec vb6 et ac


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales