Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DateTimePicker dauernd auf checked = true (https://www.delphipraxis.net/72937-datetimepicker-dauernd-auf-checked-%3D-true.html)

uht 9. Jul 2006 15:42


DateTimePicker dauernd auf checked = true
 
Hallo zusammen,

ich habe ein Problem mit dem TDateTimePicker.

Ich habe ein Formular mit mehreren DateTimePickern. Wenn ich dieses Formular nun per Button speichern will und den Status von checked abfrage, bekomme ich jedesmal ein true zurück obwohl die DatTimePicker standardmäßig auf false gesetzt sind und auch beim reseten des Formulars der Status auf checked = false gesetzt wird.
Wenn ich mir die DatTimePicker vor dem Speichern anschaue ist der Haken nicht gesetzt.

Wenn ich jedoch den Haken im DateTimePicker setzte und wieder wegmache und dann speichere bekomme ich wie gewünscht ein false geliefert.

Hat jemand schon ähnliche Probleme gehabt bzw. eine Lösung dafür.

Vielen Dank schonmal

thomasdrewermann 19. Jul 2006 00:21

Re: DateTimePicker dauernd auf checked = true
 
Hi,

Ich habe gerade mal versucht dein Problem nach zu vollziehen. Du hast dann sicher auch die Eigenschaft ShowCheckbox auf true gesetzt. Das habe ich auch getan und dann den DateTimePicker auf checked=False. Dann wird er bei mir auch grau unterlegt angezeigt. Eine Abfrage ermittelt auch False. Wenn ich den Haken setzte wird er aktiv und Abfrage gibt true zurück.

Wann taucht das Problem genau auf, und was setzt dein "Form-Reset", wie fragst du das Formular beim Speichern ab?

Gruß
Thomas

uht 31. Jul 2006 09:34

Re: DateTimePicker dauernd auf checked = true
 
Hi Thomas,

danke, dass du dir mal Gedanken darüber gemacht hast.
Ich meld mich erst jetzt, da ich die letzten Tage einiges um die Ohren hatte.

ShowCheckbox habe ich auf true gesetzt, und die DateTimePicker auf meinem Formular resete ich folgendermaßen:
Delphi-Quellcode:
DTPFenster.Date:= Date();
DTPFenster.Checked:= false;
Die Abfrage geschieht dann für jeden DTP so:
Delphi-Quellcode:
    if DTPFenster.Checked = true
    then fenster_datum:= timecontrolAuswertung.Datum_umwandeln(DateToStr(DTPFenster.Date))
    else fenster_datum:= '0000-00-00';
Die Funktion Datum_umwandeln wandelt nur das Datumsformat TT.MM.JJJJ in JJJJ-MM-TT um, damit ich es in meiner mysql-Datenbank speichern kann.

Falls du noch mehr Infos oder Quelltext brauchst, sag bitte bescheid.

uht 19. Feb 2008 20:38

Re: DateTimePicker dauernd auf checked = true
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hatte dieses Problem für eine Weile links liegen lassen, aber jetzt interessiert mich doch noch die Ursache.
Dazu habe ich ein kleines Testprogramm erstellt.

Ich habe 2 Forms.
Mit Button1 auf Form 1 rufe ich Form2 auf und aktualisiere das Datum des DateTimePickers auf Form2 mit folgendem Code:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.DateTimePicker1.Date:= Date();
Form2.DateTimePicker1.Checked:= false;
Form2.ShowModal;
end;
Den Status checked setze ich auf false.
Nachdem "Form2.ShowModal" ausgeführt wurde ist der Status des DateTimePickers jedoch wieder true.

Führe ich den Code
Code:
Form2.DateTimePicker1.Date:= Date();
Form2.DateTimePicker1.Checked:= false;
im OnShow Ereignis des Form2 aus bleibt der Status checked=false erhalten.

Wird das Datum des DateTimePickers während dem "Form2.ShowModal" nochmals aktualisiert, oder warum ändert sich der Status automatisch???

Für alle die es nicht nachvollziehen können, habe ich die EXE und den Quellcode beigefügt.

uht 25. Feb 2008 19:23

Re: DateTimePicker dauernd auf checked = true
 
*push*

hat keiner eine Erklärung dafür?

edosoft 6. Mai 2008 20:46

Re: DateTimePicker dauernd auf checked = true
 
hallo uht,

ich habe das problem auch.
wenn ich die eigenschaft "checked" im objektinspektor auf false stelle gibtne abfrage natürlich auch false zurück. wenn ich jetzt aber zur laufzeit das checkbox-ding anhäkle und wieder abhäkle bleibt die eigenschaft checked auf true.

hast du inzwischen schon ne lösung gefunden?

gruß domi


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz