000
21.07.2005, 11:58 Uhr
GuenniAtWork
|
Hi,
Ich hab mir nen Thread gebastelt, der zwei Daten (von Datum). Wenn eins Größer als das andere ist soll ein Dialog angezeigt werden.
Der Dialog erscheind für ca. 0,0001s und verschwindet wieder.
Hier der Code
C++: |
// Thread-Funktion //*** Erinnerungsprüfung UINT StartReminding(LPVOID pToDoStruct) { CRemindDlg pRemindDlg; //*** Datum und Zeit aus Struct seperieren CString szDate = ((TODOSTRUCT*) pToDoStruct)->szRemindTime.Left(((TODOSTRUCT*) pToDoStruct)->szRemindTime.Find(", ")); CString szTime = ((TODOSTRUCT*) pToDoStruct)->szRemindTime.Right(((TODOSTRUCT*) pToDoStruct)->szRemindTime.GetLength() - ((TODOSTRUCT*) pToDoStruct)->szRemindTime.ReverseFind(',') - 2); //*** Aktuelle Zeit mit Erinnerungs-Zeit vergleichen COleDateTime m_oleRemindTime = pRemindDlg.StringToDateTime(szDate, szTime); COleDateTime m_oleCurTime = COleDateTime::GetCurrentTime(); while (((TODOSTRUCT*) pToDoStruct)->bRemind) {
if (m_oleCurTime >= m_oleRemindTime) //Die Prüfung muss ich noch überarbeiten :) { ((TODOSTRUCT*) pToDoStruct)->bRemind = FALSE; pRemindDlg.ShowDlg((TODOSTRUCT*) pToDoStruct); //Dialog anzeigen } COleDateTime m_oleCurTime = COleDateTime::GetCurrentTime(); Sleep(15000); } return 0; } // ShowDialog-Funktion //*** Dialog anzeigen void CRemindDlg::ShowDlg(const TODOSTRUCT* pToDoStruct) { //*** Fenster erstellen Create(IDD_REMINDDLG); //*** Fenster anzeigen ShowWindow(SW_SHOW); //mit DoModal() gibs n' ASSERT //*** Daten aus Struct übernehmen SetTitle(pToDoStruct->szRemindTime); SetDlgItemText(IDC_ST_REMINDEJOB, pToDoStruct->szJob); }
|
Wär super wenn mir da jemand weiterhelfen könnte oder vieleicht ne andere Lösung hat. -- Gruß GuenniAtWork |