Hola bigguntm.
Creo que una alternativa mas simple le daría solución a tu problema, usar un
TMaskEdit.
Por ejemplo:
Código Delphi
[-]
procedure TForm.FormCreate(Sender: TObject);
begin
with MaskEdit1 do
begin
Text := '';
EditMask := 'LLL-00000-000; ; ';
CharCase := ecUpperCase;
end;
end;
Saludos.