Datum mit führender Null



  • Hallo C++ Freaks,

    Ich benutze DecodeDate um ein Datum in dessen Einzelteile zu zerlegen.
    Leider reduziert diese Funkion auch die vornullen von Date (zb von 02.09.2006 nach 2.9.2006) und das ist nicht so gut.
    Wie kann ich das verhindern bzw wie kann ich die nullen wieder an meine Word Variable dranhängen ?

    Danke
    TheGeek



  • Hallo

    TDateTime speichert die Datumswerte als einzelne (short) ints, also fallen natürlich auch führende Nullen weg.
    Wenn du diese bei der Ausgabe wieder haben willst, must du mit TDateTime::FormatString arbeiten, dort gibt es auch Platzhalter mit führenden Nullen.

    bis bald
    akari



  • Danke für die schnelle Antwort akari.

    Für alle anderen, so könnte eine Lösung aussehen:

    // für z.B den Tag mit führender Null
    Datum().FormatString("dd");
    

    Grüße
    TheGeek



  • Hi

    Ich habe einen Word wert den ich mit IntToStr in einen Str konvertiere.
    Leider fehlt bei diesem Wert die führende Null. Ich hab in der Hilfe gelesen das man mit Format das richtige format erzeugen kann. Leider bin ich an der Format Funkion etwas gescheitert, wie gehts denn nun genau?

    Word DatumTag = 1;
    IntToStr(DatumTag).Format(???);
    // oder doch lieber printf nehmen ?
    

    Grüße
    TheGeek



  • Hi,
    Is die führende 0 immer da?
    dann schreib doch einfach:

    Word DatumTag = 1;
    "0" + IntToStr(DatumTag);
    

    mfg, Micha!



  • Jo,

    habs jetzt so zum laufen bekommen:

    Word DatumTag = 1;
    AnsiString NullDatumTag = "";
    if (IntToStr(DatumTag).Length() == 1) NullDatumTag = "0";
    ShowMessage(NullDatumTag + IntToStr(DatumTag));
    

    Mich würde aber immernoch interessieren wie das mit dem Format geht.

    Beste Grüße
    TheGeek



  • AnsiString Text = "1";
    ShowMessage(FormatFloat("00", StrToInt(Text)));
    


  • Ja wunderbar, das habe ich gesucht !!

    Vielen Dank
    TheGeek


Anmelden zum Antworten