quarta-feira, novembro 11, 2009

VB.Net Conversão de Valor Moeda para Valor por Extenso



Agora pra quem precisava de um código para converter de Moeda para valor extenso, veja abaixo. Esta em VB.Net, mas devo colocar futuramente aqui em Javascript, Java, PL/SQL.
Quem converter antes e quizer me enviar o código, fique a vontade!

Ops... o layout disto esta pessimo... qualquer hora arrumo, pelo menos agora esta postado a mensagem!

Código em VB.Net



'Valor Moeda para valor por Extenso
'Laércio - 11/11/2009
'Exemplo chamada = Extenso(CDbl(queryDocCancelados.FieldByName("valortotal").AsCurrency))
Function Extenso (Valor As Double) As String
If Valor <= 0 Or Valor > 999999999.99 Then
Exit Function
End If

'Variáveis
Dim vlsValor As String
Dim vlsParte As String
Dim vlsFinal As String

Dim vliContador As Double
Dim vliTamanho As Double

'Arrays
Dim alsGrupo() As String
ReDim alsGrupo(4)

Dim alsTexto() As String
ReDim alsTexto(4)

'Matrizes de extensos (Parciais)
Dim mlsUnidade() As String
ReDim mlsUnidade(19)

mlsUnidade(1) = "um ":
mlsUnidade(2) = "dois ":
mlsUnidade(3) = "três ":
mlsUnidade(4) = "quatro ":
mlsUnidade(5) = "cinco ":
mlsUnidade(6) = "seis ":
mlsUnidade(7) = "sete ":
mlsUnidade(8) = "oito ":
mlsUnidade(9) = "nove ":
mlsUnidade(10) = "dez ":
mlsUnidade(11) = "onze ":
mlsUnidade(12) = "doze ":
mlsUnidade(13) = "treze ":
mlsUnidade(14) = "quatorce ":
mlsUnidade(15) = "quinze ":
mlsUnidade(16) = "dezesseis ":
mlsUnidade(17) = "dezessete ":
mlsUnidade(18) = "dezoito ":
mlsUnidade(19) = "dezenove ":

Dim mlsDezena() As String
ReDim mlsDezena(9)

mlsDezena(1) = "dez ":
mlsDezena(2) = "vinte ":
mlsDezena(3) = "trinta ":
mlsDezena(4) = "quarenta ":
mlsDezena(5) = "cinqüenta ":
mlsDezena(6) = "sessenta ":
mlsDezena(7) = "setenta ":
mlsDezena(8) = "oitenta ":
mlsDezena(9) = "noventa ":

Dim mlsCentena() As String
ReDim mlsCentena(9)

mlsCentena(1) = "cento ":
mlsCentena(2) = "duzentos ":
mlsCentena(3) = "trezentos ":
mlsCentena(4) = "quatrocentos ":
mlsCentena(5) = "quinhentos ":
mlsCentena(6) = "seiscentos ":
mlsCentena(7) = "setecentos ":
mlsCentena(8) = "oitocentos ":
mlsCentena(9) = "novecentos ":

'Separa valor em grupos
vlsValor = Format(Valor,"0000000000.00") 'ToText(Valor, "0000000000.00")
alsGrupo(1) = Mid(vlsValor, 2, 3)
alsGrupo(2) = Mid(vlsValor, 5, 3)
alsGrupo(3) = Mid(vlsValor, 8, 3)
alsGrupo(4) = "0" + Mid(vlsValor, 12,2)

'Calcula cada Grupo
For vliContador = 1 To 4
vlsParte = alsGrupo(vliContador)

If Val(vlsParte) > 0 Then 'ToNumber(vlsParte) > 0 Then

'vliTamanho = Switch(Val(vlsParte) < vlitamanho =" 1" vlitamanho =" 2" vlitamanho =" 3" vlitamanho =" 3"> "00" Then
'alsTexto(vliContador) = alsTexto(vliContador) + mlsCentena(ToNumber(Left(vlsParte, 1))) + "e "
alsTexto(vliContador) = alsTexto(vliContador) + mlsCentena(Val(Left(vlsParte, 1))) + "e "
vliTamanho = 2
Else

'alsTexto(vliTamanho) = alsTexto(vliContador) + IIf(Left(vlsParte, 1) = "1", "cem ", mlsCentena(ToNumber(Left(vlsParte, 1))))
alsTexto(vliTamanho) = alsTexto(vliContador) + IIf(Left(vlsParte, 1) = "1", "cem ", mlsCentena(Val(Left(vlsParte, 1))))

End If

End If


If vliTamanho = 2 Then

If Val(Right(vlsParte, 2)) <> "0" Then
alsTexto(vliContador) = alsTexto(vliContador) + "e "
vliTamanho = 1
End If

End If

End If


If vliTamanho = 1 Then
'alsTexto(vliContador) = alsTexto(vliContador) + mlsUnidade(ToNumber(Right(vlsParte, 1)))
alsTexto(vliContador) = alsTexto(vliContador) + mlsUnidade(Val(Right(vlsParte, 1)))
End If


End If

Next

'Final
If Val(alsGrupo(1)+ alsGrupo(2) + alsGrupo(3) ) = 0 And Val(alsGrupo(4)) <> 0 Then
vlsFinal = alsTexto(4) + IIf (Val(alsGrupo(4)) = 1, "centavo", "centavos")
Else
vlsFinal = ""
vlsFinal = vlsFinal + IIf(Val(alsGrupo(1)) <> 0, alsTexto(1) + IIf(Val(alsGrupo(1)) > 1, "milhões ", "milhão "), "")

If Val(alsGrupo(2) + alsGrupo(3)) = 0 Then
vlsFinal = vlsFinal + "de "
Else
vlsFinal = vlsFinal + IIf(Val(alsGrupo(2)) <> 0 , alsTexto(2) + "mil ", "")
End If

vlsFinal = vlsFinal + alsTexto(3) + IIf(Val(alsGrupo(1) + alsGrupo(2) + alsGrupo(3)) = 1, "real ", "reais ")
vlsFinal = vlsFinal + IIf(Val(alsGrupo(4)) <> 0, "e " + alsTexto(4) + IIf(Val(alsGrupo(4)) = 1, "centavo", "centavos"), "")
End If


Extenso = UCase(Mid(vlsFinal, 1,1)) + LCase(Mid(vlsFinal, 2))


End Function


sábado, setembro 26, 2009

Ocktober Fest 2009 !




E ta que taaaaaaa chegandooooo a Ocktober Fest mais uma vez !!! Muita festa, muito chopp, mais de 20 tipos, vamos esperimentar todos, filar uns chopss por ai hehehe :-) Se não sabe o que é filar um chopp passa com um copo bem grande perto de mim por lá que você vai descobrir heeheh Eu vou filar vários chopps !!

No link [click aqui óóó hehehe] você encontra mais informações sobre a festa, no mais procura no Google que você acha tudo ehehehe Mas tem que ir na Ocktober Fest em Blumenau, a melhor de todos e a maior Ocktober Fest fora da Alemanha, é de Blumenau, e as mulheres em Blumenau são as mais bonitas hehehe

Mulherada linda, muito chopp, muita música, você vai adorar, não pode perder, que euuuuu vou estar por lá !!!










Estudar hoje ?! bateu preguiça....



"Agora é sábado ... ia no trabalho mais cedo para fazer uma alteração em um relatório, mas como todo sábado, acordei tarde ... não deveria ter ignorado o despertador para acordar lá pelas 9 da manhã ... só sai do coma depois das 10 ... então fui pro trabs chegando perto das 11 ... bem, a usuária que eu tinha uma dúvida pra tirar não tava então fiz o que deu e fui embora, não tava a fim de ficar tanto tempo por lá...
Bah... insónia ultimamente, muito foda... dai tenho que recuperar um pouco o sono no sábado e domingo."


Neste fim de semana tenho que estudar um pouco, sobre Java, tenho que aprender um pouco mais sobre a linguagem, ver sobre Spring, EJB3 e sobre JSF (espero que melhorem o JSF.... e as ferramentas de trabalho com ele.... ta meio precario no momento, segundo minha opinião...). Mas falta vontade de estudar.... e ainda to com um pouco de sono (ou séria somente preguiça pra começar a estudar ....).

Bem, li um pouco do livro "Por que os homens dormem depois do sexo ?" que mostram respostas para perguntas alllllltamenteeee relevantesss como essa acima e outras como:

  • você pode tomar um galão de leite em uma hora ?
  • os esteróides encolhem os testículos ?
  • existe alguma forma infalivel de determinar o sexo do bebê?
  • o que é um sonho molhado?
  • vc pode ficar bebado comendo bolo de rum?
Bem, download do Naruto terminado, manga do naruto também baixado ... tanta coisa melhor do que fazer agora neste momento do que estudar.... ler esse livro... manga e video do naruto ... sair de casa e fazer qualquer coisa.... ir para Blumenau ou Floripa no fim de semana ...

[Concluindo....]


Já li um pouco desse livro, acho que vou ver o manga e a animação, numa dessas me animo pra estudar depois, né ? Alguém ai se anima a estudar aquilo que eu quero estudar, e dai me passa um resumo com as partes mais importantes para que eu pegue algo todo esmiuçado ?
Se concordar eu posso lhe emprestar o livro "Por que os homens dormem depois do sexo ?" e dai você pode descobrir coisas como "Chupar o dedão deixa os dentes salientes?" e se quizer até fazer a prova pra ver se o seu dedão fica saliente...

Pois é.... definitivamente to sem vontade de estudar agora... acho que vou voltar pra leitura, manga e animação !!!! :-)

segunda-feira, agosto 10, 2009

Gripe H1N1 , gripe A, gripe suina ... não entre em pânico, mas tome cuidado e lave as mãos !!!



humm, tem
muito email
circulando, provavelmente nem todas as noticias são confiáveis na internet. Acho que talvez ajá um pouco de exagero, esta se
criando um estado de panico em muitos lugares, frente a
outras causas de morte, como
a gripe comum.

A gripe suína acaba matando pouquíssimas pessoas e praticamente todas as pessoas
que morreram tinham algum tipo de deficiência de saúde, baixa resistencia do organismo

por um ou outro problema.

Ocorreu uma morte em florianopolis (ou em Blumenau, uma das duas cida
des) se nao me engano de uma gravida, que tem menor resistência ao vírus devido ao organismo estar com menores defesas devido a gravidez.
Uma forma de saber se uma pessoa é mais suscetível a contrair a gripe talvez fosse fazer um exame pra verificar o
nível de glóbulos brancos (leucócitos - células de defesa), que pode indicar se a pessoa tem uma baixa defesa no organismo ou não.

Em Curitiba eu vejo algumas pessoas usando mascaras,
praticamente todos os dias eu vejo alguém usando mascara por aqui, todo mundo comenta muito sobre a doença, muita gente preocupada.

Acho que se deve tomar cuidados, lavar as mãos, usar mascara se estiver engripado para não espirar nas outras pessoas, apesar de mascaras não evitarem que se contraia o
virus cajo alguém espire em sua direção já que os olhos estão espostos e são uma forma de contagio da gripe, além do fato das particulas do virus serem tão minusculas que atravessam a mascara.

O virus da gripe suina surgiu por volta de setembro do ano passado, já tem quase um ano e pode durar ainda muito tempo, se todos pararem de sair, ir a eventos, evitar os outros, ficar socado em casa e
mudar habitos de relacionamento, e entrar em panico o problema pode-se tornar muito pior. Já esta havendo um problema na economia, pessoas estão consumindo menos, não saindo
em eventos e festas, esse baque economico, redução de gastos, pode agravar o problema de fome de muitas pessoas e acabar causando muito mais mortes do que a gripe em si.

Vejo que muitas pessoas querem comprar o remédio pra gripe, e que reclamam por aqui que não tem para vender nas farmácias e culpam o governo. Acho isso de extrema
ignorância, já que o remédio é recomendado apenas para pessoas que tenham o vírus e apresentam os sintomas, não é recomendado que qualquer um
saia tomando, já que isso não evitaria que se pegue o vírus pois o remédio nao funciona como uma vacina que funciona como imunizador por um grande período. E corre-se o
perigo de ao se tomar indiscriminadamente o remédio possa fazer com que o vírus da gripe suína se torne mais resistente, a despeito do que
aconteceu na Europa, onde devido ao uso indiscrimidado do remédio o vírus se tornou mais resistente a medicação, o que pode fazer com que o remédio acabe se tornando
ineficaz ao tratamento.

E parem de ficar com medo de comer carne de porco como muitos!!! Bicho morto não passa a gripe!!! Alguém ai já
viu um defunto gripado ?

Alguém ai a fim de um churrascada com muito porco ? Bah, acho que ninguém leu
esse email até aqui, hummm, se alguém leu, topo pagar um churrascada ai heheheh , mas tem que ser com carne de
porco.

Ahhhh, tossi neste blog... cuidado ai! (opa, alguém é capaz de achar que pode pegar o virus pelo
computador....)


sábado, junho 27, 2009

Em Curitiba !

Morando em Curitiba
Agora estou em Curitiba, em um projeto de migração na área de tecnológia aqui na cidade. Quanto tempo vou ficar por aqui ?
Bem, não sei, mas vou pegar um apartamento, pretendo ficar um bom tempo aqui, conhecer a cidade e quem sabe ficar definitivamente por aqui, bem, nunca se sabe.

Já passei por algumas cidades, algumas um periodo grande de tempo, outras durente periodos menores; já morrei em:

Itaqui, Carazinho, São Leopoldo, Porto Alegre, Carazinho, Blumenau, Florianopolis, Curitiba - pois é, sou meio que cigano !

Curitiba é uma cidade agradavel, com muitos lugares para se passear, conhecer, pra sair. Ainda não conheço muito a cidade, vou conhecendo aos poucos a medida que estiver melhor instalado. Hummm, vou ter que comprar umas roupas mais quentes, o inverno promete ser frio por aqui !

Para informações sobre Curitiba veja:

Oracle: Comando milagroso ... como recuperar registros apagados

Recuperando registros
alterados/excluídos com Flashback


Você deletou uma informação de uma tabela, apagou tudo,
Esta como esse cara ai do lado ?
Pois é, deve ser realmente ruim apagar por engano uma grande quantidade de dados (ops.... cuide sempre de colocar a clausula where em seus deletes !!!).
Há um recurso no Oracle para que se possa recuperar dados que foram apagados.


A feature para resolver o problema de perda de dados esta disponível nos bancos 9i ou superior - o Oracle Flashback.

A partir da versão 9i do banco, a Oracle introduz o conceito de undo e com ela uma funcionalidade que permite ao usuário errar e ao DBA recuperar um registro muito mais facilmente do que nas versões anteriores.

Digamos que você tenha uns 2999 registros em uma tabela e acaba apagando por engado, e agora ?

Use então o comando abaixo:

SQL> select * from artigo3 as of timestamp systimestamp - interval '5' minute;

Isso fará com que seja exibido os dados da maneira como se encontravam a 5 minutos atrás, se quizer pode aumentar o periodo para recuperar dados mais antigos, como 30 minutos atrás.

Se você quiser salvar estes dados para que não se percam do UNDO, faca um simples insert como se segue:

SQL> insert into artigo3
select * from artigo3 as of timestamp systimestamp - interval '35' minute;

commit;

Referências:
Para maiores informações sobre esta feature, acesse o artigo no site do GPO e o artigo do site iMasters.

sábado, abril 04, 2009

Férias !!



Férias !! Em pleno abril, época incomum para férias, mas ta valendo, 2 semanas dá pra fazer alguma coisa.Dar uma idá até Blumenau, visitar Curitiba - queria fazer o passeio de trem que tem pra serra, mas acho que fica para uma próxima vez ... - curtir um pouco o frio de lá, aqui por Florianópolis e Blumenau o clima é infernal.  Mas duas semanas passa rápido, já é o quarto dia, então depois de Curitiba, visita rápida, para principalmente ver sobre a pós-graduação em banco de dados lá na PUC PR (que vou ver se faço ou não..., mas acho que sim....), vou para Porto Alegre. Grande Poa, sou gaúcho, é e sempre será minha capital, embora eu morre em uma outra capital no momento :-)E como bom gaúcho, vou passar maior parte do tempo no Rio Grande do Sul, visitando cidades como Porto Alegre e Carazinho. Porfim, volto pra Floripa e fico de molho na água do mar, lá pelo Riozinho lá no Campeche !

Férias pra mim é sinônimo de viajem !! É um periodo que se fica cansado de tanto fazer as coisas, pra poder descansar do cansaço de quando não se esta em férias ! Entendeu ?!




sexta-feira, janeiro 23, 2009

Planeta Atlântica e estilos músicais



Planetaaa !! Planeta e seus vários estilos de música, doidera total.
Trance e Folk, estilos tão diferentes, só doido como eu para gostar dos dois. Dois novos estilos, novos artistas musicais que começei a gostar.

Malu Magalhães, adorei conhecer o Folk !

Trance, musica totalmente psicodelica, metal, batida, música rápida, arrepios na guitarra e até um pouco de música classica ... tudo isso é Paranormal Attack, banda Portuguesa.

E viva a variedade musical ! Eu Vivo ainda muito e não curto tudo !!!