Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 31.01.14 14:51 
Hallo,


ich habe ein DateTimePicker mit ShowUpDown = true...
Somit kann man mit den Pfeilbutton ein tag,monat, oder jahr entweder hoch oder runter klicken.
Doch jetzt wollte ich wissen gibt es vielleicht eine weitere eigenschaft oder funktion dass wenn ich zum Beispiel am 31.01.2014 beim Tag ein pfeil nach oben drücke so springt er automatisch auf 01.01.2014, doch ich möchte das er in einem endtag, also den 31.01.2014, auf 01.02.2014 springt.

Ich hoffe Ihr versteht mein anliegen und hoffe Ihr könnt mir helfen.

Lg
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Fr 31.01.14 15:58 
Ich habe es über eine Globalvariable gelöst:

ausblenden volle Höhe 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:
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls;

type
  TForm1 = class(TForm)
    DateTimePicker1: TDateTimePicker;
    procedure DateTimePicker1Enter(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  GlobalDate : TDateTime;
implementation

{$R *.DFM}

procedure TForm1.DateTimePicker1Enter(Sender: TObject);
begin
  GlobalDate := DatetimePicker1.Date;
end;

procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin

  if DateTimePicker1.Date-GlobalDate<-25 then 
     DateTimePicker1.Date := GlobalDate+1
  else if DatetimePicker1.Date-GlobalDate>25 then
     DatetimePicker1.Date := GlobalDate-1;

  GlobalDate := DateTimePicker1.Date;
end;

end.


Ein Problem ist dabei die Behandlung, wenn ich mit den +/- - Tasten Monat oder Jahr ändern will. Das geht nicht. Komischerweise geht er nicht zur OnKeypress Routine. Muss mal schauen, was man da machen kann, ist aber wohl eher eine Krücke. Interessanterweise ist das +/- bei Tagen in Ordnung. Dann läuft der Tag auch weiter, wenn ich + drücke. Nur bei Monat und Tag kommt Müll raus.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 31.01.14 16:00 
@Tranx : Es geht um Winforms nicht VCL