Ir para conteúdo
Fórum Script Brasil
  • 0

Escrever da Direita para a Esquerda em um Edit no formato de Moeda


Jhonas

Pergunta

Vi que tem muitos procurando por uma rotina assim

Faç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 numero

abraço

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...