AGB  ·  Datenschutz  ·  Impressum  







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

NumbersOnly bei TDateTimePicker

Ein Thema von JanTera · begonnen am 23. Jan 2019 · letzter Beitrag vom 25. Jan 2019
Antwort Antwort
Seite 1 von 2  1 2      
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
950 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 11:32
und es einfach in KeyDown abfangen?

Delphi-Quellcode:
procedure TicTrainerF.cbLegRatioKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
  if (pos(keyChar,'0123456789')<=0) then
  begin
    keyChar:=#0;
    exit;
  end;
end;
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 12:16
Oder einfach diese Spezifische Exception selbst abfangen (behandeln)?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.481 Beiträge
 
Delphi 12 Athens
 
#3

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 12:25
Oder einfach...den User nicht das Datum manuell eingeben lassen. Aus Erfahrung erleichert das das Handling. Den DateTimePicker.Date sinnvoll vorzubelegen ist natürlich Voraussetzung.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.602 Beiträge
 
Delphi 7 Professional
 
#4

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 12:27
Im Ereignis OnUserInput den Eingabestring prüfen und die Änderung nur erlauben, wenn ein gültiges Datum vorliegt.

PS.:

Mir gelingt es nicht bei meiner Delphiversion beim TDateTimePicker was anderes als Ziffern einzugeben. Buchstaben, Sonderzeichen ... werden nicht angenommen und führen zu keinerlei Reaktion seitens der Komponente.

Daher bitte Quelltext und kompilierte Version hier anhängen, so dass man das prüfen kann, eventuell liegt ein Fehler vor, der nur die von Dir genutzte Delphiversion betrifft.
  Mit Zitat antworten Zitat
JanTera

Registriert seit: 3. Dez 2018
18 Beiträge
 
#5

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 12:32
Danke an Delphi.Narium für die erste hilfreiche Antwort.

Ich kann leider die Kompilierte Version nicht einfach so anhängen, da sie 1. viel zu gross ist und 2. nicht open-source ist.

Ich nehme an, du kannst nur Ziffern eingeben, da du die Eigenschaft ParseInput nicht auf true hast. Leider muss in meinem Fall ParseInput an sein.

Das mit onUserInput werde ich versuchen.

Danke!

PS: Ich benutze delphi XE8
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
268 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 12:38
Danke an Delphi.Narium für die erste hilfreiche Antwort.
Hilfreich waren auch die anderen Antworten - übrigens auch wenn Du nicht den ganzen Source hier reinstellen kannst dann wärees geschickt gewesen ein Miniprogramm zu erstellen bei genau dieser Fehler vorkommt. Du wirst wohl nicht von den anderen ier Anwesenden erwarten das die das alle bei sich nachstellen, oder ?

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
JanTera

Registriert seit: 3. Dez 2018
18 Beiträge
 
#7

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 13:12
@h.bothur
Sie waren eben nicht besonders hilfreich. Aber ich habe auch nicht gut erklärt was mein Problem ist, also ist es eher meine Schuld

Ich erwarte auf jeden Fall nicht, dass das jeder hier bei sich nachstellt. Auch wenn es nicht lange dauern würde (man muss nur ein TDateTimePicker auf eine Form ziehen und ParseInput aktivieren).
  Mit Zitat antworten Zitat
Moombas
(Gast)

n/a Beiträge
 
#8

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 13:33
@h.bothur
Sie waren eben nicht besonders hilfreich. Aber ich habe auch nicht gut erklärt was mein Problem ist, also ist es eher meine Schuld

Ich erwarte auf jeden Fall nicht, dass das jeder hier bei sich nachstellt. Auch wenn es nicht lange dauern würde (man muss nur ein TDateTimePicker auf eine Form ziehen und ParseInput aktivieren).
Jeder der dir helfen möchte, wird es ggf. bei sich eben kurz nachstellen. Das ist zur Fehlerfindung auch ggf. notwendig. Aktuell sieht es so aus, das der Fehler bei dir woanders herrührt oder der Fehler nur in der Delphi Version die du nutzt vorhanden ist.
Um das zu prüfen, müsstest du eben genau das machen was du beschrieben hast:

Eine Form erstellen, TDateTimePicker rauf schieben, Programm starten und versuchen Buchstaben etc. einzugeben. Ergebnis zur weiteren Fehlersuche nutzen. Ein schnelleres Ergebnis kannst du nicht haben.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.602 Beiträge
 
Delphi 7 Professional
 
#9

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 13:43
Wenn man ParseInput auf True stellt, wird das Ereignis onUserInput aufgerufen. Mir scheint in diesem Zusammenhang zwingend, dieses Ereignis auch auszuwerten und die Eingabe auf Gültigkeit zu prüfen. Man sagt durch ParseInput = True quasi: "Lieber DateTimePicker, kümmere Dich nicht um die Eingabe, das mach' ich selber."

Allerdings bekomme ich auch hier (ohne das Ereignis OnUserInput zu verarbeiten) beim Verlassen des TDateTimePickers, ohne gültige Eingabe, eine sinnvolle Fehlermeldung.

Es könnte sein, dass die Attribute Format und Kind (eventuell auch noch weitere) da irgendwie mit hineinspielen.
  Mit Zitat antworten Zitat
JanTera

Registriert seit: 3. Dez 2018
18 Beiträge
 
#10

AW: NumbersOnly bei TDateTimePicker

  Alt 23. Jan 2019, 13:54
ja.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:08 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