Announcement

Collapse
No announcement yet.

Problem bei vergleich zweier Datume....

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem bei vergleich zweier Datume....

    HI!!

    ich habe zwei Eingabefelder in denen der Benutzer ein von- und ein bisdatum eingeben muß

    erst wenn er das Bisdatum eingegeben hat überprüfe ich mittels nachfolgenden Code ob das vondatum kleiner dem Bisdatum ist:

    <pre>
    if length(datumbis.text)<> 0 then
    begin
    try
    dummy_date:= strtodate(datumbis.text); // ist das ein Datum?
    except
    showmessage('Das ist kein gültiges Datum!');
    datumbis.setfocus;
    exit;
    end;
    if (ve_datumbis.text) <= (ve_datumvon.text) then
    begin
    MessageDlg ('Gültig bis- Datum muß nach Gültig ab-Datum liegen'
    ,mtinformation, [mbok],0);
    ve_datumbis.setfocus;
    end;
    end;
    </pre>

    Leider sagt er mir wenn ich folgendes eingebe das die eingabe nicht korrekt ist ('Gültig bis- Datum muß nach Gültig ab-Datum liegen')
    <pre>
    vondatum : 20.06.01
    bisdatum : 20.03.02
    </pre>

    wenn ich aber

    30.12.05 als bisdatum eingebe ist das für in größer als das vondatum

    WER KANN MIR DAS ERKLÄREN??

    BINE :O)

  • #2
    Hallo, <br>

    das liegt daran, dass du ein Stringvergleich machst und dann ist !20.06.01' > '20.03.02'.<br>
    Also besser vorher in DateTime umwandeln und dann die DateTimes vergleichen.

    Gruss
    Harr

    Comment


    • #3
      <b>DANKEEEEE!!</b> ich probier das mal :

      Comment


      • #4
        Nein bei ihm ist
        <pre>
        20.06.01
        20.06.02
        </pre>
        wieder ungültig :

        Comment


        • #5
          außer das ich < mit > verwechselt hab geht das :O)

          <b>*freuuuuuu*</b&gt

          Comment


          • #6
            Bine, ich nehme für solche Eingaben immer TDateTimePicker. Dann habe ich immer ein gültiges Datum.

            mfg Klaus-Pete

            Comment


            • #7
              Was mir gerade aufgefallen ist:
              Du kannst das Datum nicht in einen String packen und vergleichen,denn '01.12.2001' ist kleiner als '02.01.2001'.
              Du müsstest vorher das Datum konvertieren, wenn du es als Text vergleichen willst:
              tmpString:= FormatDateTime('yyyymmdd',Date);
              Jetzt wird der String in der Form '20011201' und '20010102' geliefert und ist damit als String vergleichbar.

              mfg Klaus-Pete

              Comment


              • #8
                Hallo Harry, kann es sein, daß wir uns von der Uni Potsdam kennen. Falls du an der Voltaire-Schule bist, denke ich - ja.

                mfg Klaus-Peter

                Entschuldige Bine, daß ich deine Frage etwas mißbrauche

                Comment


                • #9
                  @Klaus-Peter Fitzner - neneeeeeee da hatte ich meine probleme ich muß dem benutzer auch die möglichkeit KEINER eingabe geben..

                  Comment


                  • #10
                    Hallo Klaus-Peter,<br>
                    kennen werden wir uns nicht, denn in Potsdam war ich nie.<br>
                    Gruß<br>
                    Harr

                    Comment

                    Working...
                    X