Hola,
No diré que sea perfecto, pero, igual puede darte alguna idea:
Código Delphi
[-]
unit Project.SampleForm;
interface
uses
Vcl.Forms, Vcl.ExtCtrls, System.Classes,
Vcl.Controls, Vcl.StdCtrls;
type
TSampleForm = class(TForm)
TypeEdit: TEdit;
TypeEditTimer: TTimer;
procedure FormCreate(Sender: TObject);
procedure TypeEditTimerTimer(Sender: TObject);
private
FCurrentCharNum : integer;
FSavedTypeEditText : string;
end;
var
SampleForm: TSampleForm;
implementation
{$R *.dfm}
procedure TSampleForm.FormCreate(Sender: TObject);
begin
FCurrentCharNum := 0;
TypeEditTimer.Interval := 50;
TypeEditTimer.Enabled := true;
FSavedTypeEditText := TypeEdit.Text;
end;
procedure TSampleForm.TypeEditTimerTimer(Sender: TObject);
begin
if TypeEdit.Text = FSavedTypeEditText then
FCurrentCharNum := 0
else
Inc( FCurrentCharNum );
TypeEdit.Text := Copy( FSavedTypeEditText, 1, FCurrentCharNum );
TypeEdit.SelStart := Length( TypeEdit.Text );
end;
end.