AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit TMaskEdit Feld und Datum

Offene Frage von "pauletta82"
Ein Thema von stonimahoni · begonnen am 8. Mär 2006 · letzter Beitrag vom 5. Sep 2008
Antwort Antwort
Seite 2 von 2     12   
pauletta82

Registriert seit: 14. Nov 2007
21 Beiträge
 
#11

Re: Problem mit TMaskEdit Feld und Datum

  Alt 28. Jul 2008, 14:24
hallo,

leider ist der date-time-picker aber nicht von meinen anwendern gewünscht, da dort u.a. immer zwangsläufig ein datum eingestellt sein muss, es muss aber auch die möglichkeit bestehen, dass dieses datumsfeld leer ist bzw. wieder geleert werden kann,
zudem sollte das datum nur anhand von 6 zahlen eingegeben werden (ttmmjj), die "lästige" eingabe des punktes sollte entfallen,
von daher wäre das mask-edit schon optimal, da kann man dann auch das datum wieder löschen und durch die unterstriche anstelle des leer-zeichens ist optisch auch gut erkennbar...
nur zu dumm dass das löschen nicht funktioniert...

ach ja übrigens: da das problem ja auch auf einer ansonsten leeren form auftritt, muss es sich ja um ein grundsätzliches problem handeln, es kann ja dann nicht aufgrund von irgendwelchen eigen geschriebenen funktionen auftreten...




Zitat von p80286:
Hallo pauletta,

was ich rübergerecht habe war ein Ausschnit aus der .DFM.
Leider habe ich mich vergallopiert, ich hatte bisher noch keine blonde Verkäuferin zur Hand, mein Beispiel funktioniert auch NICHT wie es soll.

Leider habe ich die Aufruf-Details noch nicht ganz raus, aber so ganz wie in TP7 beschrieben funktioniert MaskEdit nicht:
Zitat:
ValidateEdit validiert EditText nach jedem Tastendruck bzw. nach jedem Versuch, das maskierte Eingabefeld zu verlassen. Stimmt EditText nicht mit der Maske überein, ruft ValidateEdit die Methode ValidateError auf, um eine Exception auszulösen, und setzt den Cursor an die erste Position, die sich nicht mit der Maske deckt.
Falls Deine Datumseingabe sich auf einen rel. engen Zeiraum beschränkt, dann nimm den DateTimePicker ansonsten nimm ein normales TEdit und bastel Dir die Formatprüfung selber (wie von Marabu vorgeschlagen).

@Marabu, nichts für ungut, da hatte ich etwas viel Schwung (3290 ist Blödsinn 3270 ist richtiger) ich kenne tolle Umsetzungen von Maskedit, aber das Original von Borland ist es augenscheinlich nicht.


Grüße
K-H
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Problem mit TMaskEdit Feld und Datum

  Alt 28. Jul 2008, 16:09
Hallo Pauletta,

dein Problem löse ich mit einer Ereignisbehandlung für OnKeyDown():

Delphi-Quellcode:
procedure TForm2.DateMaskKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with Sender as TMaskEdit do
    if Key = VK_DELETE then
    begin
      Text := StringOfChar(' ', Length(Text));
      Key := 0;
    end;
end;
Eventuell möchtest du das noch etwas ausfeilen.

Freundliche Grüße
  Mit Zitat antworten Zitat
pauletta82

Registriert seit: 14. Nov 2007
21 Beiträge
 
#13

Re: Problem mit TMaskEdit Feld und Datum

  Alt 5. Sep 2008, 13:38
hallo marabu,
vielen dank für deine hilfe, das war ein guter tipp, funktioniert auch soweit ganz gut, mit einer ausnahme: wenn ich kein vollständiges datum eingebe (z.b. "15.__.__) und dann die tab-taste drücke bekomme ich wieder denselben fehler, die ereignisse key-up, key-down und key-press scheinen allesamt nicht auf den key=vk_tab zu reagieren. weiß vielleicht jemand woran das liegt bzw. warum das so ist? und welche lösung gibts dafür?

gruß
pauletta82


Zitat von marabu:
Hallo Pauletta,

dein Problem löse ich mit einer Ereignisbehandlung für OnKeyDown():

Delphi-Quellcode:
procedure TForm2.DateMaskKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with Sender as TMaskEdit do
    if Key = VK_DELETE then
    begin
      Text := StringOfChar(' ', Length(Text));
      Key := 0;
    end;
end;
Eventuell möchtest du das noch etwas ausfeilen.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:14 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