Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TDateTimePicker -> OnChange abbrechen (https://www.delphipraxis.net/151617-tdatetimepicker-onchange-abbrechen.html)

HolgerCW 25. Mai 2010 14:34

Re: TDateTimePicker -> OnChange abbrechen
 
Werde ich wohl nun benutzen müssen.

Da ich drei Datumsfelder gegeneinander sichern muss, muss ich dann ständig Min und Max anpassen. Arbeite da lieber mit if then.

Was ich nicht verstehe ist, dass wenn ich im onChange bei DatumFreigabe das Datum1 ändere oder umgekehrt klappt das. Nur wenn ich im onChange bei DatumFreigabe das DatumFreigabe selber ändern will klappt es nicht. Daher meine Frage am Anfang ob ich die Eingabe des users eventuell abbrechen kann oder muss ?

soulies 25. Mai 2010 14:45

Re: TDateTimePicker -> OnChange abbrechen
 
hoi,

was passiert wenn du zum testen datum_freigabe einen statischen Wert zuweisen willst.

Delphi-Quellcode:
procedure TForm1.DTP_Datum_FreigabeChange(Sender: TObject);
begin
  DTP_Datum_Freigabe.Date := StrToDate('01.01.2000');
//If DTP_Datum_Freigabe.Date < DTP_Datum_1.Date then DTP_Datum_Freigabe.Date := Trunc(DTP_Datum_1.Date);

end;
wenn das funzt liegt es doch eigentlich an der abfrage - nicht ?

cya

fatalerror 25. Mai 2010 14:47

Re: TDateTimePicker -> OnChange abbrechen
 
Alternative 2

versuche es mit dem Ereignis Userinput (parseInput = true)
Delphi-Quellcode:
procedure TForm1.DateTimePicker1UserInput(Sender: TObject;
  const UserString: String; var DateAndTime: TDateTime;
  var AllowChange: Boolean);
begin
if  DateAndTime < Date -1 then
  AllowChange:= False;

end;

dominikkv 25. Mai 2010 14:50

Re: TDateTimePicker -> OnChange abbrechen
 
Zitat:

Zitat von fatalerror
Alternative 2

versuche es mit dem Ereignis Userinput (parseInput = true)
Delphi-Quellcode:
procedure TForm1.DateTimePicker1UserInput(Sender: TObject;
  const UserString: String; var DateAndTime: TDateTime;
  var AllowChange: Boolean);
begin
if  DateAndTime < Date -1 then
  AllowChange:= False;

end;

laut Hilfe geht das aber nur, wenn der Benutzer das Datum EINGIBT, aber nicht über das Dropdown AUSWÄHLT.

fatalerror 25. Mai 2010 14:53

Re: TDateTimePicker -> OnChange abbrechen
 
Zitat:

Zitat von dominikkv
laut Hilfe geht das aber nur, wenn der Benutzer das Datum EINGIBT, aber nicht über das Dropdown AUSWÄHLT.

stimmt. Sorry

dominikkv 25. Mai 2010 15:12

Re: TDateTimePicker -> OnChange abbrechen
 
Hmm... es scheint so, dass nur das Dropdown Probleme macht... wenn du das Datum über die Eingabe änderst klappt das Überschreiben im OnChange, wenn du das Datum über das Dropdown änderst dann nicht. Außerdem interessant: über die Eingabe wird OnChange 1 mal aufgerufen, über das Dropdown jedoch 2 mal... :gruebel:

HolgerCW 25. Mai 2010 15:21

Re: TDateTimePicker -> OnChange abbrechen
 
Also keine Chance ?

Geht also nur mit MinDate und MaxDate ?

Das mit dem 2-mal aufrufen ist mir auch schon aufgefallen ???


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:05 Uhr.
Seite 2 von 2     12   

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