Valor por extenso
27/02/2003
0
Oi pessoal
Eu uso um componente que retorna o ´valor por extenso´ de um valor. Só que esse componente era p/ Delphi 5 e agora que mudei p/ Delphi 7 ele não funciona mais :( . Alguém tem um componente desses por ai???
Obrigada!!!
[]´s
Eu uso um componente que retorna o ´valor por extenso´ de um valor. Só que esse componente era p/ Delphi 5 e agora que mudei p/ Delphi 7 ele não funciona mais :( . Alguém tem um componente desses por ai???
Obrigada!!!
[]´s
Renata
Curtir tópico
+ 0
Responder
Posts
27/02/2003
Marcelo
olha, um componente eu nao tenho, mas posso te dizer onde vc acha uma funcao que faca isso pra vc,,, no proprio clubedelphi tem um programa ou apostila, nao me lembro muito bem, mas tem algo, que vai te ensinar a fazer essa rotina!
Um abraco,
Marcelo.
Um abraco,
Marcelo.
Responder
27/02/2003
Aroldo Zanela
Function Extenso( const Valor:LongInt): String; type asMilhar = array[0..4,1..2] of string[9] ; const aMil : asMilhar = ( ( ´´ , ´´ ) , ( ´ Mil´ , ´ Mil´ ) , ( ´ Milhão´ , ´ Milhões´ ) , ( ´ Bilhão´ , ´ Bilhões´ ) , ( ´ Trilhão´, ´ Trilhões´ ) ); var Numero : LongInt ; nAux : LongInt ; sNumero : string ; m : integer ; Begin sNumero:=´´ ; m:=0 ; Numero := Valor ; While Numero >= 1 do Begin nAux := Numero mod 1000; if nAux > 0 then if nAux > 1 then sNumero := ( Centena( nAux ) + aMil[m][2] ) + sNumero else sNumero := ( Centena( nAux ) + aMil[m][1] ) + sNumero; Numero := Numero - nAux; Numero := Numero div 1000; if ( Numero >= 1 ) and (nAux > 0) and (Length(sNumero)>0 ) then sNumero := ´, ´ + sNumero; Inc(m); end; result := sNumero; end; {Retorna o extenso de um número monetário} Function DinExtenso( const Valor:extended ): String; var Principal : LongInt ; Centavos : integer ; ValExtenso : string ; Begin Principal := trunc( Valor ) ; Centavos := round( (Valor - Principal)*100 ) ; ValExtenso := ´´ ; if Principal > 0 then Begin ValExtenso := Extenso(Principal); if Principal = 1 then ValExtenso := ValExtenso + ´ Real´ else ValExtenso := ValExtenso + ´ Reais´; if Centavos > 0 then ValExtenso := ValExtenso + ´ e ´; end; if Centavos > 0 then Begin ValExtenso := ValExtenso + Centena(Centavos); if Centavos = 1 then ValExtenso := ValExtenso + ´ Centavo´ else ValExtenso := ValExtenso + ´ Centavos´; end; result := ValExtenso ; end;
Responder
Clique aqui para fazer login e interagir na Comunidade :)