Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Editeingabe und der erste Buchstabe immer Groß

  Alt 18. Jun 2009, 18:04
Ich würde beide Möglichkeiten kombinieren ... so würde das Eingabeverhalten des Edits nur minimal verändert

und vorallem nicht direkt auf das Edit1 zugreifen.
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;
$2B or not $2B
  Mit Zitat antworten Zitat