Entwickler-Ecke
WinForms - Bestimmen ob DateTimePicker Tag weiter oder zurück
Vegeto - Fr 24.01.14 10:53
Titel: Bestimmen ob DateTimePicker Tag weiter oder zurück
Hallo...
ich habe hier ein DateTimePicker, wie kann ich jz sehen oder bestimmen, dass wenn der DateTimePicker sein Datum verändert(ValueChanged), ob er ein tag höher oder ein Tag zurück gegangen ist?
Damit ist gemeint, wenn das DateTimePicker Value im moment auf 24.01.2014 ist, aber dieser auf 25.01.2014 oder 23.01.2014 (oder sogar 24.09.2013, 29.07.2014) verändert wird, das sind ja zustände entweder in die Zukuft(hoch) oder in die Vergangenheit(runter). Ob man das irgendwie auslesen kann also ob es eine Methode gibt die sagt Datetime isUp oder DateTime isDown????
Lg
Th69 - Fr 24.01.14 10:59
Hallo Vegeto,
merke dir doch einfach den aktuellen Wert (in einer eigenen Variablen) und vergleiche dann den geänderten Wert damit.
Vegeto - Fr 24.01.14 11:05
Habe auch an das gedacht ^^
doch ich dachte vielleicht gibt es einen noch einfacheren weg, wo man nur paar schaurauben drehen muss
Aber wenn es nichts anderes gibt, dann mache ich das so...
Danke zunächst :)
Tranx - Fr 24.01.14 11:12
Du könntest in der OnEnter-Ereignisroutine den aktuellen Wert in einer globalen TDateTime-Variablen speichern und dann in der OnChange-Routine abfragen ob der aktuelle Wert > oder < der globalen Variablen ist. Und am Ende dann die globale Variable mit dem neuen Wert speichern, falls Du jedesmal diese Abfrage haben möchtest. Und als Speichervariable für diese Abfrage könntest Du ja die property TAG der Komponente nehmen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51:
| unit Datetimpickertest;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;
type TForm1 = class(TForm) DateTimePicker1: TDateTimePicker; Edit1: TEdit; procedure DateTimePicker1Enter(Sender: TObject); procedure DateTimePicker1Change(Sender: TObject); private public end;
var Form1: TForm1; GlobalDatum : TDateTime;
implementation
{$R *.DFM}
procedure TForm1.DateTimePicker1Enter(Sender: TObject); begin GlobalDatum := (Sender as TDateTimePicker).Date; end;
procedure TForm1.DateTimePicker1Change(Sender: TObject); var t : TDateTime; o : TDateTimePicker; begin o := Sender as TDatetimePicker; t := o.Date; if (t>GlobalDatum) then o.Tag := 1 else if (t=GlobalDatum) then o.Tag := 0 else o.Tag := -1; GlobalDatum := t; Edit1.Text := 'Eintrag wurde wie geändert: ' + IntToStr(o.Tag); end;
end. |
Vegeto - Fr 24.01.14 11:24
Danke, versuche ich einzubauen...
TY
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!