Zitat von
delphineuling88:
ich will überprüfen ob edit dem hh:mm:ss format enspricht wenn das nicht so ist soll er ne nachricht zeigen ...[/delphi]
Also erst reagieren, wenn die Eingabe abgschlossen ist und sich letztenendes als falsch herausstellt ? Und den User zwingen, wieder von vorne anzufangen und dann andere Fehler zu machen ? Nene. Frage Murphy.
So was ist doch in Delphi narrensicher im OnKeyPress zu regeln.
Delphi-Quellcode:
// Edit muß leer/richtig vorbesetzt sein, z.B. OI-Einstellung nicht auf Edit1
procedure TForm1.Edit1KeyPress(Sender: TObject;
var Key: Char);
begin
if key <> #8
then begin
if length (Edit1.Text) < 8
then begin
// ACHTUNG : hier ist Tastendruck noch nicht verarbeitet für Text, obwohl
// Taste selber bereits verfügbar ! Deshalb "[2,5]" und "< 8" !!
if length (Edit1.Text)
in [2,5]
then begin
if not (key
in['
:'])
then
key := #0;
end
else begin
if not (key
in ['
0'..'
9'])
then
key := #0;
end;
end
else
key := #0;
end;
end;
Allerdings wäre damit auch als Zeiteingabe '99.99.99' möglich. Also muß das erste Zeichen noch auf 0..2 eingegrenzt werden, das 4. auf 0..5 usw.