Aktuelles Datum anzeigen



  • 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_oledtAuswertedatum

    Ein 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



  • Es wäre schön, wenn du mal ganz ohne deinen aktuellen Arbeitsstand im Kopf aufscheiben könntest, was du eigentlich willst.

    Danach schreib bitte mal auf, was momentan passiert.

    Sorry, ich habe den Faden verloren bzw. das Gefühl, das du was anderes willst als wir dir gerade versuchen zu helfen. 😞

    Meine Vermutung:
    Du hast einen FormView auf dem ein Control (dessen Typ mir leider immer noch unbekannt ist) ist. Dieses Control ist einer Wertvariable zugeordnet, die nicht initialisiert wird, deswegen steht das das komische Datum drin.
    Außerdem möchtest du noch das Anzeige-/Eingabeformat des Controls ändern.

    So, jetzt du: Wie schlecht habe ich geraten? 😉



  • @estartu_de
    das ist mein erstes VC++ Programm, hab in der Schule bis jetzt nur C gelernt
    Und nun wollt ich mich mal mit Datenbankzugriff beschäftigen, weil wir das nächstes Jahr haben. Bis jetzt haben wir nur mit DOS Boxen gearbeitet...
    Ich werde mir mal die Seite durchlesen hab ich grad gefudnen http://tutorial.schornboeck.net/inhalt.htm

    Ich werds jetzt mit dem akuellen Datum nochmal versuchen, vielleicht klappts jetzt ja.
    Danke



  • Oh, na das erklärt, warum du so leicht durcheinander kommst. 🙂

    Der Link hier für dich zu dem Tutorial mit dem ich bei VC++ eingestiegen bin, nachdem ich an einem Microsoftbuch gescheitert war: http://www.henkessoft.de/inhalt.htm

    Und bist du dir sicher, WIE ihr auf die Datenbank zugreifen wollt? Es gibt das schließlich drei Varianten mindestens. 🙂
    Wäre doch schade (aber nicht umsonst) wenn du die falsche lernst. 😉


Anmelden zum Antworten