cs_oluha
Messages postés71Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 5 février 2009
-
18 janv. 2005 à 11:22
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
21 janv. 2005 à 15:45
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 ?
cupracing
Messages postés27Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention24 février 20051 18 janv. 2005 à 12:03
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.
cs_oluha
Messages postés71Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 5 février 2009 18 janv. 2005 à 13:51
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 ? :-/
cupracing
Messages postés27Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention24 février 20051 18 janv. 2005 à 14:48
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).
cs_oluha
Messages postés71Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 5 février 2009 18 janv. 2005 à 15:11
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);