|
Postada em 21/12/2004 12:01 hs
Baixei as dlls que se pede para escrever por extenso no crystal ( crxlat32.dll e Crystl32.ocx ) e criei a formula ToWords(meu campo), funcionou mas a escrita saiu em ingles, segundo a dica essas dlls e ocx fariam com que a escrita saissem em portugues, alguem ja usou esse procedimento e poderia me ajudar, vejam o que diz a dica, na sessão Dicas/Crystal Reportes/Escrever valor por extenso. eu baixei as dlls e ocx nesse link: se alguem puder me ajudar, agradeço.
|
|
|
|
|
Postada em 21/12/2004 12:57 hs
Cara, me parece que o cystal só tem essa função para escrever em inglês. O que eu fiz foi gravar o valor por extenso. Ai foi só fazer a consulta.
|
|
|
|
Postada em 21/12/2004 13:15 hs
no módulo: Public Declare Function extenso Lib "Extens32.dll"(ByVal Valor As String, ByVal Retorno As String) As Integer Public Function PassaExtenso(ValorII As Double) As String ' Passa um número para a DLL e ' recebe-o de volta por extenso On Error GoTo Passa_Err Dim Retorno$, x% Retorno$ = Space$(512) x% = extenso(ValorII, Retorno$) PassaExtenso = UCase(Trim$(Retorno$)) Passa_Fim: Exit Function Passa_Err: MsgBox Error$(Err) Resume Passa_Fim End Function
Crie um campo na tabela para receber o valor por extenso e antes de imprimir atualize o campo Tabela.Campo = ucase(PassaExtenso(Valor))
|
|
|
|
Postada em 21/12/2004 17:20 hs
Sim, eu já utilizei. Substituí o crxlat32.dll e utilizando a função towords deu tudo certo.
|
|
|
|
Postada em 21/12/2004 22:15 hs
Você também pode usar uma fórmula dentro do Crystal para receber o resultado de uma rotina que escreve um valor por extenso. Dentro do seu programa você passa o resultado da rotina para dentro desta fórmula e pronto. Eu faço isso nos meus projetos.
|
|
|
|
Postada em 22/12/2004 11:07 hs
amigo sandro, vc poderia me mostrar como fazer desta forma? amigo felipe cabrera, baixei a dll e mandei copiar dentro do c:windowssystem, ele me pediu para substituir, eu mandei substituir e a escrita saiu em ingles... teria algo a mais para se fazer?
|
|
|