Edit da direita para esquerda
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.
Exemplo: a sequência 150087
1
15
150
1500
15008
150087
nesta sequência.
Desde já obrigado.
Leandro Carvalho
Curtidas 0
Respostas
Marco Salles
13/01/2012
alterar a propriedade BiDiMode do edit para bdRightToLeft
GOSTEI 0
Leandro Carvalho
13/01/2012
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.
Esta ideia que quero é a mesma usada em caixas eletrônicos. Porém não quero em formato decimal, só inteiro.
GOSTEI 0
Marco Salles
13/01/2012
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.
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
GOSTEI 0
Leandro Carvalho
13/01/2012
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
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
GOSTEI 0
Marco Salles
13/01/2012
//SysLocale.MiddleEast := true; Acho que so é necessário se for programar para a Europa Oriental
Quanto sua duvida segue uma sugestão...
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
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
GOSTEI 0
Leandro Carvalho
13/01/2012
obrigado
GOSTEI 0