![]() |
Re: Nächstes Datum errechnen
Zitat:
|
Re: Nächstes Datum errechnen
Also das hilft mir jetzt weniger weiter. Ich habe jetzt mal 10 Einträge erstellt und mein Programm hat den richtigen erkannt.
|
Re: Nächstes Datum errechnen
Na dann ist ja alles in Butter.
|
Re: Nächstes Datum errechnen
Moin, Moin Larsi,
wäre es Dir möglich, deinen Code etwas zu formatieren, so wie du den hinknallst, blickt keiner durch. Vermute Du wohl auch nicht. Nix für ungut, wäre doch ein schöner Vorsatz für das neue Jahr, den Code vernünftig zu strukturieren. |
Re: Nächstes Datum errechnen
Außerdem hast Du immer noch nicht erklärt, was Du mit
Zitat:
|
Re: Nächstes Datum errechnen
Ich glaube sogar, so blöd es klingt, Larsis Code funktioniert bis auf den Startindex:
Delphi-Quellcode:
Was für eine Lösung, die ist reif für die Code-Library. :mrgreen:
var
i: Integer; g: integer; begin g := 1; // was das soll weiß nur Larsi, eine 0 könnte ich noch verstehen // er geht in einer Schleife alle Einträge durch ... for i := 0 to Listview1.Items.count - 1 do begin // ... prüft nach dem Konvertierungs-Gewurschtel von "Now" ob die Einträge in der Zukunft liegen ... if StrToDate(DateToStr(Now)) < StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) then begin // ... und dann, ob der Eintrag, der in der Schleife überprüft wird, // kleiner ist als der Index des Minimum-Eintrags (Index g) ... if StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) < StrToDate(Listview1.Items.Item[g].SubItems.Strings[0]) then // ... und setzt den neuen Min-Index falls der Listeneintrag kleiner ist g := i; end; end; ShowMessage(Inttostr(g)); end; Edit: Kommentare angepasst. |
Re: Nächstes Datum errechnen
Zitat:
zu spät... noch eine Variante für die Code Libary :mrgreen:
Delphi-Quellcode:
Vorraussetzung ist, daß dein Datum als Item steht und nicht als Subitem.
function NachstesDatum : TDate;
var MinDate: TDate; I: integer; begin MinDate:= Now; for I := 0 to ListView1.Items.Count - 1 do begin if StrToDate(Listview1.Items.Item[i].Caption) > Now then begin if MinDate = Now then begin MinDate:= StrToDate(Listview1.Items.Item[i].Caption); end else begin if (StrToDate(Listview1.Items.Item[i].Caption) < MinDate) then begin MinDate:= StrToDate(Listview1.Items.Item[i].Caption); end; end; end; Result:= MinDate; end; end; PS: wird kein Eintrag in der Zukunft gefunden kriegst du das "heutige Datum zurück. |
Re: Nächstes Datum errechnen
@Sharky:
Jetzt wo ich ernsthaft selber versucht habe trotz meiner fehlenden Delphi Kenntnisse auf die Lösung des Problems zu kommen und wirklich mit meinem Delphi Latein am Ende bin hilft mir so ein Beitrag wie "Nein" nicht weiter. Sharky, als Moderator sollte dir das klar sein, das du mir damit nicht hilfst. Und da die Lösung zumindest bei einem Beispiel funktioniert bin ich noch mehr überfordert wenn man mir nicht mal sagt warum der Code falsch ist. Und wie ich jetzt sehe stimmt mein Code sogar. Wem fehlen hier die Delphi Kenntnisse? @Alle: Ich habe mir sehr wohl ALLE eure Beiträge doppelt durchgelesen und zu verstehen. *kopfschüttel* :cry: |
Re: Nächstes Datum errechnen
Mit richtigen Geburtstagen würde das aber nicht funktionieren (es sei denn, es handelt sich um Säuglinge, die im aktuellen Jahr geboren wurden).
|
Re: Nächstes Datum errechnen
Warte mal bis übermorgen :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz