URGENT: pb avec un timer

cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 29 juil. 2003 à 14:05
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 30 juil. 2003 à 16:04
Salut!

Mon interface VB cree des fichiers et je dois detecter l'apparition de chacun d'eux.
Au debut j'ai fait pour un seul en utilisant un timer avec le code suivant (intervalle=100):

Private Sub Timer1_Timer(Index As Integer)
Dim bIsExistFile As Boolean
bIsExistFile (Dir(path_file& name_file) "")
'Si bIsExistFile est TRUE, le fichier n'existe pas.

'Désactiver le Timer si le fichier apparait:
If Not bIsExistFile Then
Me.Timer1.Interval = 0
MsgBox " Apparition du fichier!!!"
End If

End Sub
Ce code marchait tres bien mais le pb c'est que je vais avoir plusieurs fichiers dont le nbre est variable: comment faire? plusieurs timers?
Si qq'un peut m'aider c'est cool, merci d'avance!

6 réponses

Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
29 juil. 2003 à 14:49
bonjour,
j'aurais une petite idee: tu ajoutes un index a tes fichiers en gardant le meme nom (exemple : fichier1, fichier2 ,etc..).
Tu creer un tableau 1 dimension pour donner l'etat du fichier.
tab_etat (1 to X) contenant que des 1 (ou des 0).

dans le timer

for i = 1 to X

if tab_etat(i)=0 and (Dir(path_file& name_file & i) = "") = false then

'si l'etat de la case i du tableau = 0 et que le fichier existe
'alors l'etat de la case i du tableau est a 1 pour indiquer qu'il existe deja
'ça evite qu'il affiche toujours la message box

tab_etat(i)=1
MsgBox " Apparition du fichier!!!"
endif

end for

c'est une solution
a savoir si elle te plait!!!

A+
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
29 juil. 2003 à 17:46
Ca a l'air de correspondre a ce que je veux faire, mais peut-on passer des parametres d'entree ( path_file et name_file) au timer (si g bien compris le code que tu m'as propose doit etre mis dans "Private Sub Timer1_Timer()" or il me semble qu'on ne peut pas mettre de parametres d'entree a un truc pareil)?
Merci bcp en tout cas!!!!!!!
0
Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
30 juil. 2003 à 09:10
bonjour,
alors declare le parametre en variable globale comme le tableau par exemple. Il est claire que le declarer dans la procedure le reinitialiserai toujours.
Les variables globales ne sont pas obligees d'etre declarees en parametre d'une procedure.

Dim tableau (1 to X) as integer

private sub timer1_timer ()
code....
end sub

le tableau sera utilisable dans la procedure ET dans la feuille de ton projet

A+
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
30 juil. 2003 à 09:48
Et comment est-ce que je pourrais passer a la fonction du timer les variables path_file et name_file?
0

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

Posez votre question
Ickik Messages postés 193 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 10 mars 2010 2
30 juil. 2003 à 10:24
En les declarant variable globale comme pour le tableau
dim path_name, file_name as string

ou si tu connais deja le repertoire, que les fichiers viennent tous du meme repertoire et que les nom de fichiers sont identiques mis a part l'index
tu les ecris directement a la place de path_name et file_name
exemple:
(Dir("C:\mes_fichier" & "\fichier" & i)

A+
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
30 juil. 2003 à 16:04
Je ne m'en sors pas comme ca car il faudrait que j'ai un timer pour chaque fichier...Je continue a reflechir....
Merci de ton aide en tout cas!
0
Rejoignez-nous