cs_cissou06
Messages postés124Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention16 mai 2007
-
29 juil. 2003 à 14:05
cs_cissou06
Messages postés124Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention16 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!
Ickik
Messages postés193Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 20102 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
cs_cissou06
Messages postés124Date d'inscriptionmercredi 2 juillet 2003StatutMembreDernière intervention16 mai 20071 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!!!!!!!
Ickik
Messages postés193Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 20102 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
Ickik
Messages postés193Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 20102 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)