begin process at 2012 02 11 11:56:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Formulaire

 > 

Afficher un "chronometre"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher un "chronometre"

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ée 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 Afficher mess dans memo par le StringGrid [ par shadow578 ] Hello Alors voilà mon probléme du jour: J'ai un stringGrid qui affiche des informations Et je voudrais mettre un memo en dessous. Quand par exemple 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 afficher le total d'entre deux dbedit [ par Luigi1205 ] Salut j'aimerai savoir si il est possible de réalise une addittion entre 2 dbedit et que le 3 dbedit affiche le resultat automatiquement mais sans av


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales