Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Neusten Termin aus ListView (https://www.delphipraxis.net/277-neusten-termin-aus-listview.html)

Yheeky 28. Jun 2002 15:20

Danke erstmal, aber das Problem ist, dass ich sowohl nach Datum, als auch nach der Uhrzeit sortieren müsste. Mit der Variante im FAQ ist nur eines von beiden möglich, wie ich soeben getestet habe. Ich müsste es also mit einer einfachen Abfrage machen, mit welcher ich ja auch schon begonnen habe.

@Tpercon: Was hast du mit deiner Terminkontrolle eigentlich genau kontrolliert?

Gruß Yheeky

Daniel B 28. Jun 2002 15:22

Oder du verteilst Datum und Uhrzeit auf 2 Spalten. Könnte man dadurch sogar einfach editieren.

Yheeky 28. Jun 2002 15:26

Sind 2 Spalten...

Tpercon 28. Jun 2002 17:29

Ich habe mir damals an Hand von Symbolen anzeigen lassen, mit wem man innerhalb der nächsten 14 Tage einen Termin hat...

Dass Sortieren ist doch kein Problem, du mußt doch die Uhrzeit nur noch ins Spiel bringen, wenn das Datum gleich ist.
Falls du noch Code brauchst, sag bescheid.
Komme aber frühestens erst morgen früh dazu.

Gruß

Yheeky 28. Jun 2002 22:46

Also ich habe meine letzte Procedure überarbeitet und nun kam ich zu folgender:

Code:
public
FirstTimeDate, FirstTimeTime : Boolean;
Datum, Zeit : Integer;
Datum1, Datum2, Zeit1, Zeit2 : TDateTime;

.
.
.

procedure TForm1.SucheNeustenTermin;
var I : Integer;
begin
for I := 0 to SmartListView1.Items.Count-1 do
    begin
    Datum1 := EncodeDate(StrToInt(Copy(SmartListView1.Items[I].SubItems[1],7,4)),StrToInt(Copy(SmartListView1.Items[I].SubItems[1],4,2)),StrToInt(Copy(SmartListView1.Items[I].SubItems[1],0,2)));
    Datum2 := EncodeDate(StrToInt(Copy(DateToStr(Date),7,4)),StrToInt(Copy(DateToStr(Date),4,2)),StrToInt(Copy(DateToStr(Date),0,2)));
    Datum := Trunc(Datum1) - Trunc(Datum2);

    if Datum = 0 then
       if SmartListView1.Items.Count = 1 then
       StatusBar2.Caption := SmartListView1.Items[I].SubItems[1] + ' / ' + SmartListView1.Items[I].SubItems[2];

    if Datum > 0 then
        begin
        if FirstTimeDate = True then
        begin
        Datum1 := EncodeDate(StrToInt(Copy(SmartListView1.Items[0].SubItems[1],7,4)),StrToInt(Copy(SmartListView1.Items[0].SubItems[1],4,2)),StrToInt(Copy(SmartListView1.Items[0].SubItems[1],0,2)));
        Datum2 := EncodeDate(StrToInt(Copy(DateToStr(Date),7,4)),StrToInt(Copy(DateToStr(Date),4,2)),StrToInt(Copy(DateToStr(Date),0,2)));
        Datum := Trunc(Datum1) - Trunc(Datum2);
        NeustesDatum := IntToStr(Datum);
        end;

        Datum1 := EncodeDate(StrToInt(Copy(SmartListView1.Items[I].SubItems[1],7,4)),StrToInt(Copy(SmartListView1.Items[I].SubItems[1],4,2)),StrToInt(Copy(SmartListView1.Items[I].SubItems[1],0,2)));
        Datum2 := EncodeDate(StrToInt(Copy(DateToStr(Date),7,4)),StrToInt(Copy(DateToStr(Date),4,2)),StrToInt(Copy(DateToStr(Date),0,2)));
        Datum := Trunc(Datum1) - Trunc(Datum2);

        if SmartListView1.Items.Count = 1 then
        StatusBar2.Caption := SmartListView1.Items[I].SubItems[1] + ' / ' + SmartListView1.Items[I].SubItems[2];

        if Datum < StrToInt(NeustesDatum) then
           begin
           StatusBar2.Caption := SmartListView1.Items[I].SubItems[1] + ' / ' + SmartListView1.Items[I].SubItems[2];
           NeustesDatum := IntToStr(Datum);
           FirstTimeDate := False;
           end;

        end;

    end;

end;
Hier muss ich jetzt noch die zum nächsten Termin zugehörige Uhrzeit auslesen. Könnte mir dazu jemand Tipps geben? Wie könnte ich das machen?
Die EncodeTime Funktion funktionierte komischerweise nicht so, wie ich mir das vorgestellt habe, obwohl ich sie wie die Funktion EncodeDate angewendet habe. Als Ergebnis bekomme ich immer 0.

Gruß Yheeky


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz