Aktuelles Datum anzeigen
-
ich das eigentlich genau so gemacht wie es auf der seite http://www.se.fh-heilbronn.de/usefulstuff/VCPLUS6/kap15.htm mit Birthday beschrieben wird gemacht - keien Ahnung was ich falsch gemacht hab
-
Uaahhhh, schon wieder ADO-Geraffel
Läuft denn sobald man das nutzen will die Welt andersrum?
Okay, einen Versuch geb ich mir
Ich vermute mal, an der Stelle wird das Datum angezeigt, dann solltest du vorher das hier schreiben:m_dtVersuchsdatum = CTime::GetCurrentTime();
Wenn er da wegen des CTime meckert, kannst du noch COleDateTime versuchen.
-
wo muss ich das hinschreiben?
COleDateTime m_oledtVersuchsdatum;
ist bei mir so deklariert
-
habt ihr mein bes. nicht gesechn ????
da stet das doch so.MFG TaccoGo
-
Vor die Zeile, die du mir eben gezeigt hast:
m_dtVersuchsdatum = COleDateTime::GetCurrentTime();//<- das setzt m_dtVersuchsdatum auf "JETZT" ADO_VARIABLE_LENGTH_ENTRY2( 3, adDate, m_dtVersuchsdatum, sizeof(m_dtVersuchsdatum), lVersuchsdatumStatus, TRUE); //<- die hast du gezeigt
-
ne das geht leider nicht, ich hab noch mehr solche Einträge mit "ADO_VARIABLE_LENGTH_ENTRY2...."
dann kommt ne Fehlermeldung mit den Klammern
-
Das aktuelle Datum kannst du doch so auslesen :
CTime m_ntime = CTime::GetCurrentTime(); CString strDate; strDate = m_ntime.Format("%d.%m.%y"); AfxMessageBox(strDate);
oder eben :
. . . m_deinEditFeld = strDate; UpdateData(false);
Hoffe konnte dir helfen !
Gruß
:: NoName ::
-
hallo NoName
wo muss ich dass den hinschreiben?
Unter public oder ADO_VARIABLE_LENGTH_ENTRY2 hier rein?
danke
-
Naja, schreib es z.B. in die OnInitDialog. Oder wenn du die Uhr ständig aktualisiert haben möchtest, dann wäre ein Timer nicht schlecht !
Gruß
:: NoName ::
-
das hat funktioniert, bloß hab ich das anderst gemeint
Das aktuele Datum sollte in dem Eingabefeld in meinem Programm stehen, also z.B
Auswertedatum: Eingabefeld
, und nicht wenn ich das Programm starte,dass dann eine Box kommt mit dem aktuellen Datum
-
hi TaccoGo
wenn ich das so mache wie du es geschrieben hast ,kommt folgende Fehlermeldung
error C2661: 'Format' : Keine ueberladene Funktion akzeptiert 4 Parameter
-
Stgt: Zeigt mal Quelltext, meine Kristallkugel is ausgefallen!
-
Hallo,
ich habe den code gerade nochmal getested und das funktionrt wunder bar.
ist deine variable vom type CString mit der du Format aufust?(und zum textfeld zugeortnet?)
MFG TaccoGo
-
hallo
COleDateTime m_oledtAuswertedatum; m_oledtAuswertedatum = COleDateTime::GetCurrentTime(); m_oledtAuswertedatum.Format("%d.%d.%d",m_oledtAuswertedatum.GetDay(),m_oledtAuswertedatum.GetMonth(),m_oledtAuswertedatum.GetYear()); UpdateData(FALSE);
und dann kommt die Fehlermeldung
error C2661: 'Format' : Keine ueberladene Funktion akzeptiert 4 Parameter
-
Hast du eine MSDN? Der Format Befehl sieht bei COleDateTime anders aus als bei CString.
Ich kopier mal eben:
[msdn]
%a
Abbreviated weekday name%A
Full weekday name%b
Abbreviated month name%B
Full month name%c
Date and time representation appropriate for locale%d
Day of month as decimal number (01 – 31)%H
Hour in 24-hour format (00 – 23)%I
Hour in 12-hour format (01 – 12)%j
Day of year as decimal number (001 – 366)%m
Month as decimal number (01 – 12)%M
Minute as decimal number (00 – 59)%p
Current locale’s A.M./P.M. indicator for 12-hour clock%S
Second as decimal number (00 – 59)%U
Week of year as decimal number, with Sunday as first day of week (00 – 53)%w
Weekday as decimal number (0 – 6; Sunday is 0)%W
Week of year as decimal number, with Monday as first day of week (00 – 53)%x
Date representation for current locale%X
Time representation for current locale%y
Year without century, as decimal number (00 – 99)%Y
Year with century, as decimal number%z, %Z
Time-zone name or abbreviation; no characters if time zone is unknown%%
Percent sign
[/msdn]Du musst also etwa das hier schreiben:
CString strZiel = tmDeinDatum.Format("%d.%m.%Y");
Und DENK DARAN, die Variablennamen anzupassen!
-
ja in meinen Bes. habe ich das fornt von CString bentz er aber von COleDateTine.
das habe ich vorhin übersechen.
MFG TaccoGo
-
//Aktuelles Datum anzeigen lassen COleDateTime m_oledtAuswertedatum = COleDateTime::GetCurrentTime();
so sieht doch dann die erste Zeile aus, nicht wahr?
Ja mit den ganzen Variablennamen bin ich grad am kämpfen...mein Problem ist dass ich nicht so recht weiß für was strZiel steht
bei mir ist es doch m_oledtAuswertedatum
und was ist das tmDeinDatum ? Sorry wenn ich immer so oft fragen muss...
strZiel = tmDeinDatum.Format("%d.%m.%Y");
-
Okay, also nochmal ganz langsam...
Du hast ein Datum, ich hatte keine Lust den Namen rauszusuchen, weil das eigentlich einfach ist - also bitte, hier ist der Name deiner Datumsvariablen:
m_oledtAuswertedatum
Du musst also das tmDeinDatum aus meinem Beispiel durch m_oledtAuswertedatum ersetzen.strZiel ist der CString, wo das Datum dann als Zeichenkette drin stehen soll.
Du willst das doch die ganze Zeit irgendwie als String haben, also da ist er.mein Problem ist dass ich nicht so recht weiß für was strZiel steht
bei mir ist es doch m_oledtAuswertedatumEin Datum ist KEIN String. Du scheinst nicht nur mit den Namen der Variablen zu kämpfen sondern auch sehr mit den Typen...
Kleine Frage am Rande: Dein wievieltes Programm mit VC++ ist das denn?
Wenn du nur ein Buch durcharbeitest, solltest du dieses Kapitel mal nach hinten verschieben und vorher dich mit Dialogen und den ganzen Datentypen beschäftigen - das würde es dir etwas erleichtern.
Wenn sowas in dem Buch schon dran war, denk dir Aufgaben mit dem Stoff der durch ist aus - dir fehlt definitiv Übung.
-
Hallo Stgt,
es gibt 2 möglichkeiten
COleDateTime dateTest; dateTest = COleDateTime::GetCurrentTime(); m_deinstring.Format("%d.%d.%d",dateTest.GetDay(),dateTest.GetMonth(),dateTest.GetYear()); //m_deinstring ist der CString wo du das datum hin haben möchtest UpdateData(FALSE);
COleDateTime m_oledtAuswertedatum = COleDateTime::GetCurrentTime(); m_deinstring=m_oledtAuswertedatum.Format("%d.%m.%Y");//m_deinstring ist der CString wo du das datum hin
MFG TaccoGo
-
ich weiß auch nicht woran das liegt wenn ich das Programm starte, dass dann schon ein Datum drin steht, wie geschrieben 01.01.1970 01:00:00 oder so...
ADO_VARIABLE_LENGTH_ENTRY2( 3, adDate, m_dtVersuchsdatum, sizeof(m_dtVersuchsdatum), lVersuchsdatumStatus, TRUE)
das steht bei mir in der CCustomRs Klasse
und dass iim public
DATE m_dtVersuchsdatum; ULONG lVersuchsdatumStatus;
und das in meiner RefreshBoundData Funktion
// Ist das Feld OK? if (adFldOK == pRs->lVersuchsdatumStatus) // Wert kopieren m_oledtVersuchsdatum = pRs->m_dtVersuchsdatum; else // Andernfalls Wert auf 0 setzen m_oledtVersuchsdatum = 0L;
weiß echt nicht weiter, so ein mist..oder muss ich was in meiner Access Datenbank verändern