![]() |
Re: Nächstes Datum errechnen
Dir fehlen immer noch jegliche Delphi- bzw. Programmier-Grundlagen, Larsi. Aber so ziemlich komplett.
Nimm dir eine Variable, die den Minimum-Wert repräsentiert und initialisiere diese mit dem Startwert deiner Liste. Gehe alle Werte in einer Schleife durch, vergleiche sie und weise der Variablen immer den aktuell geprüften Wert zu, sofern dieser kleiner ist, als der Variablenwert. Fertigen Code bekommst du von mir definitiv keinen. Gruß Edit: Oh, da war einer schneller. |
Re: Nächstes Datum errechnen
Ist das so richtig: :oops: ?
Delphi-Quellcode:
var
i: Integer; g: integer; k: integer; begin for i := 0 to Listview1.Items.count - 1 do begin if StrToDate(DateToStr(Now)) < StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) then begin g := i; if k < Listview1.items.count - g then k := Listview1.items.count - g; end; |
Re: Nächstes Datum errechnen
Hast du Deddys Beitrag gelesen?
Gehe den Source doch einmal selbst genau durch und frage dich, was du da machst bzw. was du da kopiert hast. Was macht das hier denn:
Delphi-Quellcode:
Wofür nutzt du überhaupt "g"?
StrToDate(DateToStr(Now))
|
Re: Nächstes Datum errechnen
Zitat:
|
Re: Nächstes Datum errechnen
Um ehrlich zu sein, glaube ich dir das. Dann wirst du ja umso besser wissen, wieso du das gemacht hast. Ich weiß es nämlich nicht, denn das, worauf ich dich hingewiesen hab und was du wieder vollkommen ignoriert hast, ist etwas unsinnig. Das würdest du aber sofort merken, wenn du nachvollziehen würdest, was du da gemacht hast.
Wie gesagt, gehe das einmal Schritt für Schritt durch, wenn du das nicht auf den ersten Blick siehst. Verwende auch sinnvolle Variablennamen, das gehört zum ordentlichen Programmierstil und erspart dir viele Fehler. Gerade der letzte Vergleich: Wenn k kleiner ist als das zu vergleichende Datum, dann weißt du k einen neuen Wert zu. Willst du das? Ich denke nicht. |
Re: Nächstes Datum errechnen
Wie sucht man denn das Minimum? Wenn Du diese Frage beantworten kannst, hast Du doch schon die Lösung.
|
Re: Nächstes Datum errechnen
Oder wenn er die Beiträge hier lesen würde. Die Komplettlösung wurde in Schriftform bereits genannt, aber das interessiert ihn wohl nicht, da kein Code enthalten war. :(
|
Re: Nächstes Datum errechnen
Hai Larsi,
noch ein Tipp von mir. Halte Daten immer in einer Variable/Liste die dem Typ am besten entspricht. Ein Datum gehört also in eine Variable/Liste vom Typ TDate! Zum Anzeigen wandelst Du diese in Strings um; aber nie zum arbeiten/berechnen :!: |
Re: Nächstes Datum errechnen
Ist der Ansatz besser?
Delphi-Quellcode:
Also in einem kleinem Test von mir klappts aber vielleicht ist das auch nur Zufall.
var
i: Integer; g: integer; begin g := 1; for i := 0 to Listview1.Items.count - 1 do begin if StrToDate(DateToStr(Now)) < StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) then begin if StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) < StrToDate(Listview1.Items.Item[g].SubItems.Strings[0]) then g := i; end; end; ShowMessage(Inttostr(g)); end; |
Re: Nächstes Datum errechnen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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