comparaison de date sous visual c++ - Programmation
Marsh Posté le 15-09-2001 à 12:26:04
si tu veux comparer a la seconde pret tu compare deux valeur time_t tout simplement.
ps: fait gaffe si tu fait des conversions gmt / local
Marsh Posté le 15-09-2001 à 12:46:37
si tu veux mais enfin va va bloker un peu ton programme si tu compare toutes les secondes.
le mieux serait de faire une thread
Marsh Posté le 15-09-2001 à 13:37:36
bon voilà ce que j'ai fait pour ceux qui en aurait besoin :
void CDelayDlg::SetDelay(COleDateTime dDate, UINT nCar)
{
Date = dDate;
Car = 60*nCar; // nCar * 60 secondes
}
BOOL CDelayDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
// Set the timer
SetTimer(1,1000,NULL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDelayDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CurrentDate = COleDateTime::GetCurrentTime();
if(IsCompteARebours)
{
Car--;
CString tmp;
tmp.Format("Arrêt dans : %d min %.2d sec",Car/60,Car%60);
SetWindowText(tmp);
if(Car <= 0)
CDialog::OnOK();
}
else
{
CString tmp;
tmp.Format("Arrêt le : %.2d/%.2d/%d à %.2d:%.2d:%2d",
Date.GetDay(), Date.GetMonth(), Date.GetYear(),
Date.GetHour(),Date.GetMinute(),Date.GetSecon
d());
SetWindowText(tmp);
if(CurrentDate >= Date)
CDialog::OnOK();
}
CDialog::OnTimer(nIDEvent);
}
Marsh Posté le 15-09-2001 à 13:38:18
et c'est koi la methode avec les threads? ca m'interresse..
Marsh Posté le 15-09-2001 à 11:55:14
je suis en train d'ecrire un programme qui pourra s'eteindre à une heure donnée .. je recupere dans une variable la date et l'heure de l'arret de windows souhaité par l'utilisateur, mais je sais pas comment il faut s'y prendre pour la comparer avec l'horloge systeme et ce toutes les secondes.
si qq'un pouvez m'apporter une reponse ca serait cool
merci d'avance