Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#19

Re: Einstellungen im Editfenster

  Alt 1. Jan 2008, 10:55
Wenn es für alle TEdits gelten soll, kann man es im FormCreate so machen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
...

begin
...
  for i := 0 to ComponentCount - 1
  do begin
    if Components[i] is TEdit then
    with (Components[i] as TEdit) do
    begin
      MaxLength := 1;
      CharCase := ecUpperCase;
      Text := '';
      OnKeyPress := EditKeyPress;
    end;
  end;
...
end;
Dann lässt sich nur ein Zeichen eingeben und Buchstaben werden großgeschrieben. Andere Zeichen werden im OnKeyPress abgefangen. Vielleicht so:

Delphi-Quellcode:
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
      #0.. #7 : Key := #0; // Steuerzeichen
      #9..#31 : Key := #0; // Steuerzeichen
     #34 : Key := #0; // "
     #42 : Key := #0; // *
     #47 : Key := #0; // /
     #58 : Key := #0; // :
     #60 : Key := #0; // <
     #62 : Key := #0; // >
     #63 : Key := #0; // ?
     #92 : Key := #0; // \
    #124 : Key := #0; // |
    #127 : Key := #0; // Sonderzeichen
    #129 : Key := #0; // Sonderzeichen
    #131..#195 : Key := #0; // Sonderzeichen
    #197..#213 : Key := #0; // Sonderzeichen
    #215..#219 : Key := #0; // Sonderzeichen
    #223 : Key := #0; // ß
    #224..#227 : Key := #0; // Sonderzeichen
    #229..#245 : Key := #0; // Sonderzeichen
    #247..#251 : Key := #0; // Sonderzeichen
    #253..#255 : Key := #0; // Sonderzeichen
  end;
end;
Bei der Form1 sollte unter private noch
procedure EditKeyPress(Sender: TObject; var Key: Char); deklariert werden.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat