AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DateTimePicker Benutzereingabe korrigieren

Ein Thema von Nico B. · begonnen am 6. Jun 2017 · letzter Beitrag vom 6. Jun 2017
 
Nico B.

Registriert seit: 16. Okt 2006
Ort: Riesa
67 Beiträge
 
Delphi XE7 Enterprise
 
#1

DateTimePicker Benutzereingabe korrigieren

  Alt 6. Jun 2017, 10:42
Hallo zusammen,

ich habe ein Problem mit dem TDateTimePicker.
Ich möchte, dass meine Benutzer ein Start-Datum (inklusive Uhrzeit) und ein Ende-Datum (inklusive Uhrzeit) eingeben.
Dazu habe ich 4 TDateTimePicker-Komponenten genutzt.
DTPStartDatum.Kind:=dtkDate
DTPStartZeit.Kind :=dtkTime
und
DTPEndeDatum.Kind:=dtkDate
DTPEndeZeit.Kine :=dtkTime

Nun möchte ich verhindern, dass ein Benutzer eine Start-DateTime eingibt, die nach der Ende-DateTime liegt, bzw. dass er eine Ende-DateTime eingibt, die vor der Start-DateTime liegt.

Zuerst habe ich versucht, dass mit MaxDate und MinDate zu lösen, aber damit kann ich nur das Datum einschränken.
Also habe ich nun versucht es im OnChange-Event der Komponenten zu lösen.
Im OnChange baue ich jeweils den beiden zusammengehörigen Komponenten die DateTime-Werte zusammen und vergleiche sie anschließend.
Wird bspw. ein zu großer Wert für die Start-DateTime eingegeben, dann möchte ich den Wert bei den Komponenten auf die Ende-DateTime setzen.
Aber obwohl der Vergleich noch funktioniert, wird mir in der Komponente nicht der geänderte Wert angezeigt. Woran kann das liegen, bzw. gibt es einen besseren Weg?

Hier der Code des OnChange-Events für die Start-DateTime:
Delphi-Quellcode:
procedure TMain.DTPStartDatumChange(Sender: TObject);
var
  EndeDatum : TDateTime;
  StartDatum: TDateTime;
begin
  EndeDatum :=DateOf(DTPEndeDatum.Date) +TimeOf(DTPEndeZeit.Time);
  StartDatum:=DateOf(DTPStartDatum.Date)+TimeOf(DTPStartZeit.Time);
  if StartDatum>EndeDatum
    then
      begin
        DTPStartDatum.Date:=DateOf(EndeDatum);
        DTPStartZeit.Time :=TimeOf(EndeDatum);
      end;
end;
Nico Bäger
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 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