Executer une procédure à interval régulier

Résolu
cs_irongege Messages postés 6 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 21 février 2007 - 8 févr. 2007 à 15:23
sylvunix Messages postés 93 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 4 mars 2009 - 9 févr. 2007 à 18:58
Bonjour à vous tous.

Je viens de me lancer dans la programmation, et apprenant seul chez moi ( enfin presque puisqu'il y a le site pour m'aider ), je viens de créer une application qui récupère un fichier au format opc que je transforme en ini pour y capter une information que j'envoies dans un TMemo.Etant donné que cette information change réguliérement, je ne sais pas comment faire pour récupérer ce fichier toutes les X secondes.

 D'avance je remercie les personnes, qui par leur connaissance, pourront m'aider..

5 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
8 févr. 2007 à 15:28
Salut,

regarde dans l'aide de Delphi sous TTimer

et si tu ne t'en sort pas tu peux toujours revenir ici (pas dans une nouvelle question) pour nous dire ce qui ne va pas

 
@+
Cirec

<hr size="2" />
3
cs_irongege Messages postés 6 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 21 février 2007
8 févr. 2007 à 19:18
Merci de l'aide, j'ai galèrer environ 3Hr pour refaire mon programme mais il marche. Je vais essayer d'alléger le code et je le ferais voir pour avoir vos avis.
0
sylvunix Messages postés 93 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 4 mars 2009
9 févr. 2007 à 14:27
Salut irongege,

Si j'ai bien compris ton application, tu relis à intervalle régulier un même fichier.

Je me posais deux petites questions  :

<li>Avant de procéder à la relecture de ce fichier, vérifies-tu que celui a bien était modifié (voir fonction FileAge) ?</li><li>Lorsque tu déclenches ton timer, vérifies-tu que ton dernier traitement est bien terminé ?</li>sylvunix
0
cs_irongege Messages postés 6 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 21 février 2007
9 févr. 2007 à 15:59
Salut sylvunix,

Et bien pour procéder, je commence par supprimer mon fichier .ini puis je vais chercher mon fichier opc et je continue la procédure. Ce n'est surement pas la meilleure façon d'écrire ce programme. Je ne récupère qu'une information dans ce fichier qui ne change que par une action faite sur un autre programme. Je n'ai pas les sources alors que dans ce fichier d'autres informations évolue en permanence mais je n'en ai pas besoin. En fait, il m'a fallu créer cette application car sur ce poste de travail, il y a 3 systemes de language informatique différents et aucuns fichiers sources disponibles.
Mais le principal est que cela marche ( peu importe le code du moment que ça ne bugge pas et on verra pour faire mieux quand l'expérience viendra ).

Encore merci et bravo pour tout ce que l'on peut trouver sur ce site
0

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

Posez votre question
sylvunix Messages postés 93 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 4 mars 2009
9 févr. 2007 à 18:58
Effectivement, si ton fichier opc change régulièrement et que ces changements ne te concernent pas systématiquement alors l'optimisation n'est peut-être pas utile.

Pour information, de mémoire, le code aurait ressemblé à quelque chose comme :

// Variable globale
var DernierAcces: LongInt;

procedure traitement;
begin

  // Y a-t-il une mise à jour du fichier ?
  if FileAge('fichier.ocp') <> DernierAcces then
  begin
    // Mémorise le dernier accès à ce fichier
    DernierAcces := FileAge('fichier.ocp');

    // Suite du traitement
    ...
  end;
end;

@+ 
0
Rejoignez-nous