Le forum (ô combien francophone) des utilisateurs de Powerbuilder.






Bonjour à tous,
je voulais surveiller mon répertoire si un nouveau fichier qui se mets dans ce répertoire, et chaque fois je reçoit le fichier je l'efface pour attendre le fichier suivant, pour cela j'ai écrit le code ci-dessous :
of_start () do while of_isRunning () IF FileExists (as_file) THEN Yield() EXIT END IF Yield() This.SysSleep (al_sleep) LOOP
avec as_file l'adresse et nom du fichier et al_sleep le temps d'attente.
le problème de ce code c'est que lorsque je reçoit un fichier je l'efface... mais ne détecte pas les autres fichiers qui se mettent juste après le premier fichier.
@+
Dernière modification par mattdamon (17-04-2008 12:18:44)
Hors ligne














Bonjour , ça va être dur de t'aider sans le code des fonctions of_start, of_isRunning, SysSleep ...
Hors ligne











Bonjour ,
Pourquoi n'utilises-tu pas un timer pour scruter ton répertoire à intervalles réguliers?
De même, tu ne précises pas où est mis ton code (dans un userobject, une fenêtre...? Est-ce un événement, une fonction...?)
Hors ligne






En fait, j'ai mis ce code dans l'évènement OPEN() d'une fenêtre et je voulais qu'il surveille mon répertoire chaque al_sleep avec le temps de réponse que j'ai passé comme paramètre à la fonction of_checkdirectory(as_file, al_sleep).
al_sleep en fait c'est le timer pour scruter mon répertoire.
Dernière modification par mattdamon (17-04-2008 11:22:30)
Hors ligne






of_checkdirectory(as_file, al_sleep) c'est une fonction de mon userobject.
Hors ligne
A l'Open de ta fenêtre, tu n'as qu'à simplement appeler la méthode Timer(al_sleep).
Du coup l'évènement timer de la fenêtre sera lancé pour chaque interval de temps al_sleep et tu pourra aller y coder ton if FileExists(as_fichier) then...
Hors ligne














F1 a écrit:
Using a window object
This example causes the current time to be displayed in a StaticText control in a window. Calling Timer in the window's Open event script starts the timer. The script for the Timer event refreshes the displayed time.
In the window's Open event script, this code displays the time initially and starts the timer:Code: pb
st_time.Text = String(Now(), "hh:mm") Timer(60)
In the window's Timer event, which is triggered every minute, this code displays the current time in the StaticText st_time:Code: pb
st_time.Text = String(Now(), "hh:mm")
Hors ligne






merci les mecs ça marche bien avec l'event timer()
Hors ligne














mattdamon a écrit:
merci les mecs ça marche bien avec l'event timer()
=> n'oublie pas le [RESOLU]
Hors ligne






Hors ligne