Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Afficher un "chronometre" [ Archives / Formulaire ] (oluha)

mardi 18 janvier 2005 à 11:22:30 | Afficher un "chronometre"

oluha

Bonjour

Je souhaiterai afficher une sorte de chronomètre dans mon form, c'est à dire qu'il affiche le temps écoulé pour l'execution d'une étape de mon programme.
J'ai trouvé un composant qui affiche l'heure en directe (TRxClock), j'aimerai la même chose sauf qu'au lieu que ca soit l'heure, il m'affiche le temps passé.
Comment faire ?

Merci

mardi 18 janvier 2005 à 12:03:50 | Re : Afficher un "chronometre"

cupracing

Voici une solution pour faire un chronomètre.

Tu places un composant TTimer tu l'actives et tu met l'interval à 1000 pour chaque seconde.
Tu releves l'heure de depart grâce a la fonction Time que tu places dans une première variable. Puis chaque seconde grace au TTimer tu relèves la nouvelle heure, tu enlèves l'heure de départ à la nouvelle et tu écrit la différence d'heure dans un label. 

Voici un exemple ces plus explicite: 

Var  Tps1, Tps2: TTime;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    Tps2 := Time;
    Label1.caption := Timetostr(Tps2 - Tps1);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     Tps1 := Time;
end;

@+

... c'est un peu dur à expliquer ma soluce... peut être qu'il y a une autre solution ?? en tout cas celle ci fonctionne.



mardi 18 janvier 2005 à 13:27:53 | Re : Afficher un "chronometre"

jmp77

Membre Club
Salut Oluha et Cupracing,

Effectivement tu as des compos deja tout fait pour des chronos mais comme te l'a demontré cupracing autant le faire soit meme avec des compos standard.

Si tu veux etre encore plus precis tu as le TTime de Kenavo qui est bien plus precis que le ttimer standard de delphi :
http://www.delphifr.com/code.aspx?id=24090

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

mardi 18 janvier 2005 à 13:51:15 | Re : Afficher un "chronometre"

oluha

J'ai utilisé la méthode de Cupracing. Le chrono démarre bien quand j'appuie sur le bouton mais il s'arrête dès que le programme envoie des requêtes sql (c'est à dire au bout de 3sec).
Comment faire ? :-/


mardi 18 janvier 2005 à 14:10:14 | Re : Afficher un "chronometre"

jmp77

Membre Club
C'est juste l'affichage qui se coupe ou il n'incremente plus ?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

mardi 18 janvier 2005 à 14:45:25 | Re : Afficher un "chronometre"

oluha

Il n'incremente plus car à la fin du traitement le chrono reste à 3sec :(

mardi 18 janvier 2005 à 14:48:40 | Re : Afficher un "chronometre"

cupracing

c'est juste l'affichage qui bloque non ? car je vois pas pourquoi le Timer s'arrêterais. Si c'est juste l'affichage il faut alors rafraichir la Form (Refresh).


mardi 18 janvier 2005 à 14:52:42 | Re : Afficher un "chronometre"

jmp77

Membre Club
Est ce que par hasard quand tu lances tes requetes sql à la fin de celle ci tu ne quitterais pas automatiquement ton soft??

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

mardi 18 janvier 2005 à 15:11:42 | Re : Afficher un "chronometre"

oluha

Ben non :(

Voilà un bout de mon code quand on clique sur le bouton

     Tps1 := Time;
     Timer1.enabled := true;
     {hdebut := timetostr(time);}
     ///////////////////////////////
     // (1) Transfert des données //
     ///////////////////////////////
     application.Title := 'Transfert des données';
     Form1.Caption := 'Déduplication : transfert des données';
     form1.Update;
     PEtat.caption := 'Transfert';
     // on vérifie que la table de déduplication n'existe pas déjà sur SQL Server
     Query_move.close;
     Query_move.sql.clear;
     Query_move.sql.add('if exists (select 1 from sysobjects where  id = object_id(''dedup'+NomTable+''') and type = ''U'')');
     Query_Move.sql.Add('  drop table dedup'+NomTable);
     Query_Move.Prepare;
     Query_Move.ExecSQL;
     // on transfert la table Access vers SQL Server
     BMAccess.Execute;
     // on ajoute une colonne qui dit s'il s'agit d'un doublon avec le degré de certitude
     Query_Move.close;
     Query_move.sql.clear;
     Query_move.sql.add('alter table dedup'+NomTable+' add DOUBLON varchar(2) null');
     Query_Move.Prepare;
     Query_Move.ExecSQL;
     // on ajoute une colonne contenant l'identifiant le plus petit du ou des doublons
     Query_Move.close;
     Query_move.sql.clear;
     Query_move.sql.add('alter table dedup'+NomTable+' add NUM_DMIN int null');
     Query_Move.Prepare;
     Query_Move.ExecSQL;
     ////////////////////////////////////////////////////////////////////////////////////////////////////
     // (2) Détection des doublons suivant le type de déduplication : "Personnes/Foyers" OU "Sociétés" //
     ////////////////////////////////////////////////////////////////////////////////////////////////////
     application.Title := 'Détection des doublons';
     Form1.Caption := 'Déduplication : détection des doublons';
     form1.Update;
     PEtat.caption := 'Détection';
     if (RbDedupPers.Checked = true) then
     begin
         dedup_personnes();
     end
     else if (RbDedupFoyer.Checked = true) then
     begin
          dedup_personnes();
     end
     else if (RbDedupSoc.checked = true) then
     begin
         dedup_societes();
     end
     else
     begin
         messagedlg('Erreur dans le type de déduplication !',mtError,[mbOK],0);
     end;
   
      [...]

         //////////////////////////////////////////////////////////
    // (5) Création des nouveaux fichiers sans les doublons //
    //////////////////////////////////////////////////////////
    application.Title := 'Création des fichiers';
    Form1.Caption := 'Déduplication : créations des fichiers';
    form1.Update;
    PEtat.caption := 'Création fichiers';
    creation_fichiers();
    // le traitement est terminé
    Timer1.enabled := false;
    {hfin := timetostr(time);
    duree := timetostr(strtotime(hfin) - strtotime(hdebut));}
    application.Title := 'Déduplication terminée';
    Form1.Caption := 'Déduplication : traitement terminé';
    form1.Update;
    {PEtat.caption := 'Temps total : '+duree;}
    messagedlg('La déduplication est terminée !',mtInformation,[mbOK],0);


vendredi 21 janvier 2005 à 15:45:09 | Re : Afficher un "chronometre"

jmp77

Membre Club
Hello,

Essaye ces deux liens :
http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=389
et
http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=336

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.



Cette discussion est classé dans : affiche, afficher, temps, heure, chronometre


Répondre à ce message

Sujets en rapport avec ce message

affiche automatiquement des images dans xcel [ par winzclav ] Salut les ptits loups,Voici mon problème: je crée une base de donnée pour une entreprise, celle ci contient des thèmes contenant eux mêmes des perform Afficher un seul etat [ par azz73 ] Bonjourle probleme ce que je peut pas faire un etat qui affiche tout les categorie j'expliquea l'aide SQL ds delphi je peut executer la requette qui a afficher date et l'heure [ par aymen81 ] bonjour à tous ,j'ai realisé une interface en delphi7 et j'aime bien afficher la date et l'heure dans un petit coin de cette interface ,quelqu'un peut Rafraichissement TImage [ par CptPingu ] J'ai crée un petit programme qui résoud les Sudoku (je le posterais pas, il y en a déjà assez sur ce site).J'utilise un TImage pour afficher la grille afficher uniquement l'heure et la minute [ par kadje84 ] Bonjour,S'il vous plaît j'ai un problème de formatage avec mysql.En fait, j'ai une table avec un champ de type time, mais je ne voudrais qu'afficher l problème d'affichage de date [ par pierrecoulon ] bonjour,je développe sous delphi 7.je travaille avec une base de donnée access. en employant un DBGrill je ne parvient pas à afficher l'heure uniqueme Comment afficher l'heure dans un Tlabel? [ par Youyou0214 ] Je voudrais savoir comment on peut afficher l'heure dans un Tlabel.Merci**Youyou0214*** 2 question: convertisseur Euro et reveil. [ par Youyou0214 ] J'aurais deux questions vous poser la premire concerne un petit convertisseur francs Euro: on met une valeur dans un Tedit et on appuis sur un bouton Pb de Multi sélection dans un TDBlookupListBox [ par JoeyAstor ] G un TDBLookupListBox qui m'affiche donc un resultat d'un TADOQuery generé par une requete selectionnant 2 tables et j'affiche donc 3 champs dans mon calculer le temps [ par bouiboui ] Je cherche un moyen de calculer le temps d'exécution d'une procedure en delphi, existe-t-il une fonction permettant de le faire ?(Un Timer est dispo d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.