![]() |
Neusten Termin aus ListView
Hi,
ich programmiere im Moment eine Art Organizer. Natürlich werden auch Termine verwaltet. Ich möchte nun in mein Programm einbauen, dass der nächste Termin, quasi als Countdown, angezeigt wird. Ich muss also erst die ListView durchsuchen und dann immer den neusten Termin herausfinden. Ich habe mich da schonmal dran versucht, aber es hat noch kleinere Probleme gegeben. Wäre nett, wenn mir jemand helfen könnte (in Form von Code). Danke schonmal! Gruß Yheeky |
Was gab es den für Probleme? Was genau kannst du nicht?
|
Moin Yheeky,
in welcher Form speicherst Du denn den Zeitpunkt des Termines ab? |
Bin gerade auf etwas aufmerksam geworden...ich teste das mal...vielleicht liegt´s daran :lol:
Wenn das nicht klappt frage ich hier später nochmal. Gruß Yheeky |
Geht nicht :cry:
Also hier nochmal eine etwas genauere Erklärung: Ich habe beispielsweise 3 Daten in meiner Terminliste:
Code:
Dann weise ich bei Programmstart immer dem ersten Eintrag in der Liste den neusten Termin zu, damit man einen Referenztermin hat. Dann wollte ich überprüfen lassen, ob es einen Termin gibt, der näher liegt, als der Referenztermin, aber noch nicht vorbei ist (sprich, schon in der Vergangenheit liegt *g*). Das hat aber nicht so richtig geklappt. Manchmal hat er es richtig angezeigt, aber manchmal hat er einfach den 29.06.02 als neusten Termin angezeigt (hat den Referenztermin wohl nicht verändert), obwohl der 28.06 ja näher liegt.
Termin1 - Datum 29.06.02 - 15:00
Termin2 - Datum 30.06.02 - 14:00 Termin3 - Datum 28.06.02 - 16:00 @Christian Seehase: Was meinst du genau? Gruß Yheeky |
Moin Yheeky,
ich meinte, ob Du die Termine direkt aus den Items des ListViews ausliest, oder ob Du mit Objekten arbeitest, die diesen zugeordnet sind. |
Ich bin noch am verzweifeln...heute morgen habe mein Programm aufgerufen und was sehe ich da...es wird wieder falsch dargestellt. Ich kann´s mir nicht erklären. Vor Ratlosigkeit habe ich die ganze Procedure nochmal gelöscht und neu angefangen. Bisher habe ich folgendes:
Code:
Das funktioniert einwandfrei, wenn der Termin das heutige Datum hat, wird das als neuster Termin angezeigt (und die Procedure wird beendet). Aber nun möchte ich herausfinden, welcher Termin der neuste ist, wenn er nicht das heutige Datum besitzt. Wäre nett, wenn mir jemand helfen könnte.
var I : Integer;
NeustesDatum : String; ... for I := 0 to SmartListView1.Items.Count-1 do begin if (StrToDate(SmartListView1.Items[I].SubItems[1])) = Date then begin NeustesDatum := SmartListView1.Items[I].SubItems[1]; // Nach Zeit suchen Edit1.Text := NeustesDatum; Exit; end else ... Danke schonmal! Gruß Yheeky |
@Christian Seehase: Wie du oben im veränderten Posting siehst, lese ich die Daten direkt aus der ListView (SmartListView) aus...
|
Hi
Hab in einem alten Programm von mir folgenden Code gefunden:
Code:
Ist zwar nicht das wonach du eigenltich suchst, aber das müßte dir doch etwas weiterhelfen.
procedure TForm1.Terminkontrolle;
var i:integer; begin For i:=0 to ListView1.Items.Count-1 do If (StrtoDate(ListView1.Items.Item[i].Caption)<=Date+14)and(StrtoDate(ListView1.Items.Item[i].Caption)>=Date) then ListView1.Items.Item[i].ImageIndex:=0 else If StrtoDate(ListView1.Items.Item[i].Caption)<Date then ListView1.Items.Item[i].ImageIndex:=1 else ListView1.Items.Item[i].ImageIndex:=-1; end; Ansonsten schreib dir doch ne procedure, die das ListView nach dem Datum sortiert. Gruß |
Ein ListView-Sortier Algorithmus habe ich soeben in die Faq's geschrieben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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