GARANTIR DESCONTO

Fórum Edit da direita para esquerda #411527

13/01/2012

0

Alguém sabe como faço para entrar com um seguência de digitos em um edit da direita para esquerda.
Exemplo: a sequência 150087
1
15
150
1500
15008
150087
nesta sequência.

Desde já obrigado.
Leandro Carvalho

Leandro Carvalho

Responder

Posts

13/01/2012

Marco Salles

alterar a propriedade BiDiMode do edit para bdRightToLeft
Responder

Gostei + 0

13/01/2012

Leandro Carvalho

Isto ai não altera em nada.
Esta ideia que quero é a mesma usada em caixas eletrônicos. Porém não quero em formato decimal, só inteiro.
Responder

Gostei + 0

13/01/2012

Marco Salles

Isto ai não altera em nada.
Esta ideia que quero é a mesma usada em caixas eletrônicos. Porém não quero em formato decimal, só inteiro.


Engraçado , para uns a simples instrução da certo

http://www.activedelphi.com.br/forum/viewtopic.php?t=57337&sid=c9121dc4136270a64e67e3aa096ffe63

para outros , dizem que não altera em nada

Vai entender
Responder

Gostei + 0

14/01/2012

Leandro Carvalho

Este aqui funcionou legal

procedure TForm1.FormCreate(Sender: TObject);
begin
SysLocale.MiddleEast := true;
Edit1.BiDiMode := bdRightToLeft;
end;

Mas agora gostaria de ir digitando usando mascara, por exemplo vou utilizar 8 digitos e quero que começe com a mascara 00000000 e conforme vai digitando:::
00000001
00000015
00000156
00001568
00015680
00156809
01568093
15680936

Desde já obrigado pela ajuda
Responder

Gostei + 0

15/01/2012

Marco Salles

//SysLocale.MiddleEast := true; Acho que so é necessário se for programar para a Europa Oriental

Quanto sua duvida segue uma sugestão...

procedure TForm1.Edit1Change(Sender: TObject);
var
str:string;
posSel:integer;
begin
with Tedit(sender) do
  begin
   OnChange:=nil;
   posSel:=SelStart;
   str:=Text;
   Delete(str,1,1);
   Text:=str;
   Text:=StringOfChar(0,8 - Length(Text)) + Text;
   SelStart:=posSel;
   OnChange:=Edit1Change;
  end;
end;


procedure TForm1.Edit1Enter(Sender: TObject);
begin
Edit1.SelStart:=8;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Alignment:=taRightJustify;
edit1.Text:=00000000;
edit1.MaxLength:=9;
end;


Sugiro que crie a partir desta ou outra idéia um componente ... Muita codificação é péssimo
para a legitibilidade e Manutenção dos programas
Responder

Gostei + 0

16/01/2012

Leandro Carvalho

obrigado
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar