System::Date nur Datum ausgeben.



  • Hallo,

    wenn man sich so an die Anfänge errinert, wie die Bücher einem immer den Rat gegeben haben, sich immer Fit zu halten in C++, dann war "als ob" wohl von 90% der Leser der erste Gedanke.
    Leider Gottes ist nun auch meien Zeit gekommen und ich habs einfach nicht mehr drauf. Die Sprache hat sich mit jedem quatsch wie .NET verknüpft und man findet sich da einfach nicht mehr zurecht.
    Wie auch immer, mein Problem ist folgendes.
    Ich habe mir ein Windows Forms Projekt erstellt (ganz nebenbei, ich bin unter Visual C++ 2008 Express am Arbeiten).
    Ich habe nen Button und ein Label (label3). Ich möchte nun auf Knopfdruck, NUR das Datum ausgegeben bekommen haben.
    Mit folgendem Code:

    #pragma endregion
    
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
    			 {				 
    				 label3->Text = System::DateTime::Today.ToString();
    			 }
    

    komm ich nur zu so einem Ergebnis:

    12.10.2008 00:00:00

    Weiß jemand auf anhieb, wie ich diese leere Uhrzeit da weg bekomme?

    Vielen Dank im voraus!





  • Ich hab mir ne Funktion geschrieben die das datum als String zurück gibt

    public: System::String ^GetDate(){
        DateTime ^dT = DateTime(DateTime::Now);
        if(dT->Minute<10)
            tsTime->Text = dT->Hour + ":" + "0" + dT->Minute;
        else
    	tsTime->Text = dT->Hour + ":" + dT->Minute;
        String ^sDay = dT->Day.ToString();
        String ^sMonth = dT->Month.ToString();
        String ^sDate;
        if(sDay->Length==1)
            sDate += "0" + sDay;
        else
            sDate += sDay;
        sDate += ".";
        if(sMonth->Length==1)
            sDate += "0" + sMonth;
        else
            sDate += sMonth;
        sDate += "." + dT->Year;
        return(sDate);
    }
    

    Es wird auch auf die Optik geachtet. Wenn zum beispiel das datum 3.5.2008 ist so wird auf 03.05.2008 geändert.



  • Warum schreibst Du nicht einfach:

    DateTime::Now::ToString("d");
    

    !?



  • Hätte dazu auch mal eine Frage habe erst vor kurzem damit angefangen und würde gerne wissen wie ich die Uhrzeit updaten kann also die geht ja nicht mit.
    Und ich benutze Visual Studio 2008.
    Über antworten würde ich mich freuen :D.



  • Stell mal die Frage so, das klar wird was Du möchtest.



  • Ok tut mir leid wenn die Frage nicht deutlich wurde.
    Also ich habe in der ToolStripStatusLabel die Zeit und das Datum:

    toolStripStatusLabel1->Text = System::DateTime::Today.ToString("d");
    toolStripStatusLabel2->Text = System::DateTime::Now.ToString("t");
    

    So aber wenn das Programm jetzt über eine Minute läuft steht immer noch die alte Uhrzeit da. Und ich möchte jetzt das sich die Zeit immer aktualisiert.
    Ich hoffe jetzt konnte ich es besser erklären ;).



  • Setz nen Timer rein, der alle 60 Sekunden (oder 30 Sekunden oder 20 Sekunden) die Zeit in der Statusleiste aktualisiert.



  • Ähm tut mir leid aber wie realisiert man das?



  • In dem man mit den Grundlagen der Sprache anfängt, sich danach ein wenig mit der Entwicklungsumgebung beschäftigt und sich dann das Framework ansieht, das man verwendet.



  • Also naja die Grundlagen von C++ haben wir ja in der Schule durchgenommen aber Objektorientierte Programmierung nicht wirklich und da fehlen noch ein paar Sachen. Aber da wir morgen mit der Oberflächenprogrammierung anfangen dachte ich mir die Anfänge schon einmal anzueignen.
    So aber hinbekommen habe ich es jetzt doch es war einfacher als zum Anfang gedacht.
    Trotzdem danke für die Hilfe.


Log in to reply