Jhonas Postado Setembro 18, 2009 Denunciar Share Postado Setembro 18, 2009 Vi que tem muitos procurando por uma rotina assimFaçam bom uso :rolleyes: function FNUMD(Objeto: TEdit; Texto, VKey: String; Espaco, Decimal: Integer): String; Var vChar, vDiv : String; I : Integer; begin vDiv := '1'; For I := 1 to Decimal do vDiv := vDiv + '0'; vChar := copy(Texto,1,length(Texto)); if (vchar = '') or (vchar = '0') then vchar := vkey else vchar := vchar + vkey; While ( pos( ',', vChar ) > 0 ) or ( pos( '.', vChar ) > 0 ) do begin Delete( vChar, pos( '.', vChar ), 1 ); Delete( vChar, pos( ',', vChar ), 1 ); end; Objeto.MaxLength := Espaco; Objeto.Text := Format('%*.*n',[Espaco,Decimal,StrToFloat(vchar)/StrToInt(vDiv)]); Objeto.SelStart := length(Objeto.text); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if pos('R$',Edit1.Text) > 0 then Edit1.Clear; if key = #13 then begin Edit1.text := format('%20s',['R$ '+ trim(Edit1.text)]); exit; end; if not (key in ['0'..'9',',', #8]) then key := #0 else FNUMD(Edit1,trim(Edit1.text),key,20,2); end;OBS: O Edit aceita somente numeros, que serão digitados da direita para esquerda em formato de moeda Ao digitar um enter o edit finalizará recebendo o simbolo 'R$' antes do numeroabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jhonas
Vi que tem muitos procurando por uma rotina assim
Façam bom uso :rolleyes:
OBS: O Edit aceita somente numeros, que serão digitados da direita para esquerda em formato de moeda
Ao digitar um enter o edit finalizará recebendo o simbolo 'R$' antes do numero
abraço
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.