AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

Ein Thema von hoika · begonnen am 9. Jul 2008 · letzter Beitrag vom 10. Jul 2008
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

  Alt 9. Jul 2008, 12:31
Hallo #,

ich habe hier ein ärgerliches Problem.

Das Ändern eines DateTimePickers per Tastatur
erfolgt manchmal zu spät.

Testen:
- Monat auf 6 umstellen (nicht 06) per Tastatur
- OK klicken mit Maus -> OnOK
- Datum wird korrekt angezeigt

- Monat auf 6 umstellen (nicht 06) per Tastatur
- Enter drücken -> OnKeyDown des Forms -> OnOK
- Datum steht immer noch auf dem Monat 07

Das Aktualisieren auf 06 erfolgt erst nach dem OnOK,
denn drücke ich jetzt noch mal Enter -> 06

Wie kann ich den Fehler umgehen ?


Danke

Heiko
Angehängte Dateien
Dateityp: zip dtp_test_118.zip (7,0 KB, 2x aufgerufen)
Heiko
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#2

Re: DateTimePicker OnKeyDown Datum nicht aktualisiert

  Alt 9. Jul 2008, 12:48
Also bei mir funktioniert beides.
Welche Delphi-Version hast du? (Habe D7)

Und warum benutzt die nicht die Events vom DatePicker?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

  Alt 9. Jul 2008, 15:06
Hallo,

D6.

Hast du das genauso gemacht wie ich es geschrieben habe ?

Also einmal nach links zum Monat,
dann 6 eintippern, dann Enter.

Also wirklich nur die 6 eingeben
und dann SOFORT Enter drücken.
Nicht erst zum Jahr gehen.

Das OnChange wird erst dann aufgerufen,
wenn man entweder OnOK oder aus dem "Monat"-Editor rausgeht,
z.B. wenn man zum Jahr weitergeht.


Heiko
Heiko
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#4

Re: D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

  Alt 10. Jul 2008, 09:25
Hi Hoika,

achso, du meintest mit "Tastatur umstellen" eine Zahl eingeben - ich habe das Datum mit den Cursortasten geändert, und da hat es geklappt.
Stimmt - wenn ich direkt eine Zahl eingebe, geht es auch bei mir nicht.

Eine Lösung wäre evt. das:

Delphi-Quellcode:
procedure TForm1.OnOK;
begin
  Form1.SetFocus;
  ShowMessage(DateToStr(Int(DateTimePicker1.Date)));
  DateTimePicker1.SetFocus;
end;
Grüße,
ben
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: D6: DateTimePicker OnKeyDown Datum nicht aktualisiert

  Alt 10. Jul 2008, 09:49
Hallo,

deine Lösung klappt leider auch nicht.

(Das ProcessMessages und Sleep war auch ein Test)


Delphi-Quellcode:
procedure TForm1.OnOK;
begin
  Self.SetFocus;
  Application.ProcessMessages;
  Sleep(200);

  DateTimePicker1.SetFocus;
  DateTimePicker1.Refresh;

  ShowMessage(DateToStr(Int(DateTimePicker1.Date)));
end;
Die einzige, unbefriedigende Lösung ist,
das KeyPreview rauszunehmen und nur den OK-Knopf zu erlauben ;(



Heik
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22: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