Tage errechenen aus der Datenbank und TimePicker



  • Hi,

    ich habe folgendes Problem,

    ich will aus ner DB das Datum auslesen und Tage errechnen mit einem Datum von einem
    TimePicker.

    folgender Code:

    // Zum letzten Datensaz gehen und Die werte auslesen
    Table1->Last();
            vday = Form1->Table1->FieldValues["Datum"] ;  // Letztes Datum aus der DB
            vZs = Form1->Table1->FieldValues["Zaehlerstand"];
    // Datensatz anhängen
    Table1->Append();
            Table1->FieldValues["Datum"] = Form1->DateTimePicker1->Date; // Neues Datum
            Table1->FieldValues["Zaehlerstand"] = StrToFloat(Form1->Edit1->Text);
    tg = StrToFloat(Form1->DateTimePicker1->Date) - vday;
            Table1->FieldValues["Tage"] = tg;
    vbr = vZs - StrToFloat(Form1->Edit1->Text);
            Table1->FieldValues["Verbrauch_d"] = (vbr/tg);
            Table1->FieldValues["Verbrauch_a"] = ((vbr/tg)*365);
    // Datensatz in die DB schreiben
    Form1->Table1->Post();
    }
    

    Das Problem ist welche Format muss ich den Inhalt des DateTimePicker1 umwandeln um dann die Tage ausrechnen zu können?

    Danke für die Hilfe 😕

    Noli



  • DateTimePicker1->Date liefert einen Werte vom Typ TDate (bzw. DateTimePicker1->DateTime hat Type TDateTime), wenn vday auch vom Typ TDate oder TDateTime ist kannst du einfach DateTimePicker1->Date - vday rechnen, z.B.:

    TDateTime vday = Form1->Table1->FieldByName("Datum")->AsDateTime ;  
    int tg = Form1->DateTimePicker1->Date - vday;
    


  • Danke für die Hilfe,

    habe es jetzt.
    Die letzten Daten werden ausgelesen, angezeigt und dann mit den neuen Daten berechnet und Als neuer Datensatz in die DB geschrieben.

    🙂


Anmelden zum Antworten