![]() |
Editeingabe und der erste Buchstabe immer Groß
wie schaffe ich es das in einem Editfeld bei Eingabe der erste Buchstabe immer groß geschrieben wird?
|
Re: Editeingabe und der erste Buchstabe immer Groß
|
Re: Editeingabe und der erste Buchstabe immer Groß
Mir fallen 2 Möglichkeiten ein.
OnChange:
Delphi-Quellcode:
OnKeyPress:
procedure TForm1.Edit1Change(Sender: TObject);
var s: string; begin if Length(Edit1.Text) > 0 then begin s := Edit1.Text; s[1] := AnsiUpperCase(s)[1]; Edit1.Text := s; Edit1.SelStart := Length(Edit1.Text); end; end;
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if (Edit1.Text = '') or (Edit1.SelLength > 0) and (Edit1.SelStart = 0) then Key := AnsiUpperCase(Key)[1]; end; |
Re: Editeingabe und der erste Buchstabe immer Groß
jups die erste version hat auf anhieb geklappt.
Danke, dass forum ist hier echt klasse. schnell und kompetent die leute hier. vieleicht lerne ich das denn hier ein wenig schneller :-) |
Re: Editeingabe und der erste Buchstabe immer Groß
Ich würde beide Möglichkeiten kombinieren ... so würde das Eingabeverhalten des Edits nur minimal verändert :-D
und vorallem nicht direkt auf das Edit1 zugreifen. :zwinker: Vorteile: die Prozeduren können für mehrere Edits verwendet werden und man hat keine Probleme, falls man das Edit mal umbenennt.
Delphi-Quellcode:
// OnChange
procedure TForm1.Edit1Change(Sender: TObject); var s: string; i: Integer; begin s := (Sender as TEdit).Text; if (s <> '') and (s[1] <> AnsiUpperCase(s)[1]) then begin s[1] := AnsiUpperCase(s)[1]; i := TEdit(Sender).SelStart; TEdit(Sender).Text := s; TEdit(Sender).SelStart := i; end; end; // OnKeyPress procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Sender as TEdit).SelStart = 0 then Key := AnsiUpperCase(Key)[1]; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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