añadiendo al codigo de jjfgg...
Código Delphi
[-]
uses
StrUtils;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
S: string;
ss: Integer;
begin
if (Edit1.SelStart = 0) or (Edit1.Text[ Edit1.SelStart ] in WordDelimiters) then Key := UpCase(Key);
if ((Length(Edit1.Text)>Edit1.SelStart) and (Key in WordDelimiters)) then begin
S := Edit1.Text; S[ Edit1.SelStart + 1] := UpCase(S[ Edit1.SelStart + 1 ]); ss := Edit1.SelStart; Edit1.Text := S; Edit1.SelStart := ss end
end;
POdriamos agregarle un if en caso que un caracter sea borrado corrija el texto, entonces agregamos este codigo en el evento OnKeyUp
Código Delphi
[-]
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var ss: integer;
k: char;
begin
if ((key = 8) or (key = 46)) then begin
edit1.SelLength:= 1;
ss := Edit1.SelStart;
caption:= edit1.SelText;
edit1.SelText:= Lowercase(edit1.SelText);
edit1.SelLength:= 1;
edit1.SelStart:= ss;
k:= char(key);
if (Edit1.Text[ Edit1.SelStart ] = ' ') then
begin
k:= #0;
Edit1KeyPress(Sender, K);
end;
end;
end;