Même avec ce que tu m'as ditr cela ne fonctionne pas mais par contre en faisant un thread, c'est passé alors je vais gardé cette solution. Merci pour tout.
interval est juste une proprieté du controle Timer (qui plus est au format integer et non pas time).
Elle indique juste au controle la période de déclenchement.
Elle ne reflete en aucun cas la durée restante avant déclenchement.
Il n'est pas possible, à ma connaissance de connaitre ce paramètre.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Dans les propriétés de ton Timer, tu met 10000 pour interval.
Ensuite tu fais un doubleclick sur ton timer, il va t'ouvrir la procedure TonTimer_Tick qui est l'évènement généré toutes les 10 secondes.
C'est dans cette procédure que tu met ton code à executer toutes les 10 secondes.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Ecoute pour faire au plus simple voilà ce que j'ai coder. Ca sera plus simple peut être pour toi car à l'heure actuelle, j'ai beau attendre 10 sec, 20 sec, ... Rien de plus si un fichier se rajoute dans mon répertoire Tempo.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Visible = False
Search()
End Sub
Private Sub Search()
' Variables locales
Dim strTempo As String
Dim strExe As String
Dim Proc As New Process
strExe = Ini.ReadString("Executer", "Exe")
'Pour chaque fichier présent dans le chemin du fichier .ini à la clé Tempo
For Each strTempo In IO.Directory.GetFiles(Ini.ReadString("Temporaire", "Temp", "*.*"))
' Execution du fichier
Proc.StartInfo.FileName = strTempo
Proc.Start()
'Copie du fichier dans le second répertoire et suppression dans le premier
Première chose, bein que le code soit en commentaire, je suppose que ce n'est que temporaire.
A partir du moment ou tu fait un .File.Move, inutile de faire derrière un .File.Delete, le fichier source n'existe plus puisqu'il a été déplacé.
Ensuite, je ne sais pas à quoi correspond Ini.ReadString exactement, mais dans la ligne ci-dessous il n'y aurait pas un problème de paranthèses par hasard ?
--> For Each strTempo In IO.Directory.GetFiles(Ini.ReadString("Temporaire", "Temp", "*.*"))
c'est pas plutot
--> For Each strTempo In IO.Directory.GetFiles(Ini.ReadString("Temporaire", "Temp"), "*.*")
Autre point, tu as bien mis Timer1.interval = 10000, soit dans le code, soit directement dans les propriétés du controle.
Dans le code (form_load par exemple) tu met bien Timer1.Start quelque part.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
ini.redString est une des procédure d'une classe pour lire un fichier ini et qui retourne un string.
Pour le pb de parenthèse je sais pas je vais tester.
Voila tout le code de toute ma form :
Imports System.IO
'________________________________________________________________________
' Prévoir de mettre le fichier dans le répertoire de démarrage du poste
'________________________________________________________________________
' Notes :
' Pb avec le timer (actions non répétées).
Public Class frmMain
Inherits System.Windows.Forms.Form
Private time As Single
Dim Ini As New INIReader("C:\SM vs Citrix.ini")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Alors c'est vrai qu'il fait une erreur à ce niveau et que je l'avais laissé en commentaire (que je t'ai enlevé) car si tu regarde le premier bout de code que je t'ai envoyé, il y a les '. Mais pour le timer je sais pas ???
La ligne de l'évènement du timer n'est pas complete, il manque l'abonnement au Handle de l'évènement
Ce qui veut dire que le timer ne saura pas quelle procédure appeler lors du déclenchement
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Tout le reste me semble correct.
Sauf qu'il manque l'icone pour la zone de notification et le problème du Proc.Start/IO.File.Move.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #