Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como insertar automáticamente un separador (https://www.clubdelphi.com/foros/showthread.php?t=91517)

osmardj 23-02-2017 16:08:25

Como insertar automáticamente un separador
 
Buenas a todos quiero pedirles si me pueden ayudar como insertar un separador automáticamente, quiero decir que se pare en dos grupos de caracteres Elempjo (A9-C7-AA) pero que al teclear el tercero recien se inserte asi para dejar en blanco al final.
La verdad no se como hacerlo alguien que me pueda ayudar.

Neftali [Germán.Estévez] 23-02-2017 16:40:54

Una primera aproximación dependiendo del comportamiento que necesites podría ser esta:

Código Delphi [-]
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  edt:TEdit;
  pos:integer;
begin
  edt := TEdit(Sender);
  // Tecla especiales
  if (key = VK_DELETE) or (key = VK_BACK) then
    exit;
  pos := edt.SelStart;
  if (Length(edt.Text)=2) or (Length(edt.Text)=5) then begin
    if edt.Text[Length(edt.Text) - 1] <> '-' then begin
      edt.Text := edt.Text + '-';
    end;
  end;
  edt.SelStart := pos + 1;
end;

En el evento OnKeyUp del TEdit.

roman 23-02-2017 16:56:48

No sé si estoy malentendiendo, pero, ¿que esto no se resuelve con un MaskEdit y la máscara "AA-AA-AA"?

LineComment Saludos

osmardj 23-02-2017 17:25:05

gracias estas muy bien, dnd puedo modificar para que me inserte al ingresar el tercero caracter me inserte recien el guion antes del tercer caracter y te cuento q son 6 pares y restringirlo a esos 6 pares.
te agradesco mucho por responder


La franja horaria es GMT +2. Ahora son las 04:36:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi