Re: excel macro into php

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



   Tij:

   Ja, spreche ich Spanischen.  Me habla espanol bien.... no muy bien, pero
bastante bueno.  Ik leer enkel het Nederlands. Het is als het Engels, maar
er is één of ander verschil.

   Richard (the original, if you want it):

Guys.. I have a problem and I was wondering if somebody with good php
knowledge could help.

I have this excel macro that converts number currency (mexican) into a
string and I was wondering if somebody could help translating it to php...

Her eis the macro, if you could help, I would really appreciate it.

Thanks guys!

Function CantidadEnLetra(tyCantidad As Currency) As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte,
lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte,
lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero
tyCantidad = Round(tyCantidad, 2)
lyCantidad = Int(tyCantidad)
lyCentavos = (tyCantidad - lyCantidad) * 100
laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE",
"OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE",
"DIESISEIS", "DIESISIETE", "DIESIOCHO", "DIESINUEVE", "VEINTE", "VEINTIUN",
"VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS",
"VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA",
"SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS",
"QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For i = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito <> 0 Then
Select Case i
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito <= 2 Then
lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1)
Else
lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y",
Null) & lcBloque
End If
lnSegundoDigito = lnDigito
Case 3
lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito
= 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloque
lnTercerDigito = lnDigito
End Select
Else
lnBloqueCero = lnBloqueCero + 1
End If
lyCantidad = Int(lyCantidad / 10)
If lyCantidad = 0 Then
Exit For
End If
Next i
Select Case lnNumeroBloques
Case 1
CantidadEnLetra = lcBloque
Case 2
CantidadEnLetra = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") &
CantidadEnLetra
Case 3
CantidadEnLetra = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0
And lnTercerDigito = 0, " MILLON", " MILLONES") & CantidadEnLetra
End Select
lnNumeroBloques = lnNumeroBloques + 1
Loop Until lyCantidad = 0
CantidadEnLetra = "(" & CantidadEnLetra & IIf(tyCantidad > 1, " PESOS ", "
PESO ") & Format(Str(lyCentavos), "00") & "/100 M.N. )"
End Function

On 5/3/07, Tijnema ! <tijnema@xxxxxxxxx> wrote:

On 5/3/07, Daniel Brown <parasane@xxxxxxxxx> wrote:
>
>     Sie nicht auch sprechen Spanischen, Tij?

Nein, aber mein deutsch ist also nicht gut ;) Sprechen sie Spanischen
Daniel?\

Tijnema
>
>
>
> On 5/3/07, Tijnema ! <tijnema@xxxxxxxxx> wrote:
> >
> > On 5/2/07, Anton Krall <akrall-lists@xxxxxxxxxxxxxxx > wrote:
> > > Guys.. I have a problem and I was wondering if somebody with good
php
> > > knowledge could help.
> > >
> > > I have this excel macro that converts number currency (mexican) into
a
> > > string and I was wondering if somebody could help translating it to
> php...
> > >
> > > Her eis the macro, if you could help, I would really appreciate it.
> > >
> > > Thanks guys!
> >
> > I think that starting over is better then trying to convert this excel
> > macro. What exactly do you want to convert, from ?? to ??
> > Since all functions are in a language that isn't english, dutch,
> > german or frisian, I can't understand.
> > >
> > <snip>
> > > laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS",
> "SIETE",
> > > "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE",
"QUINCE",
> > > "DIESISEIS", "DIESISIETE", "DIESIOCHO", "DIESINUEVE", "VEINTE",
> "VEINTIUN",
> > > "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO",
"VEINTISEIS",
> > > "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
> > > laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA",
"CINCUENTA",
> > > "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
> > > laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS",
> "CUATROCIENTOS",
> > > "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS",
> "NOVECIENTOS")
> > Nice array, if you need it, you can use it directly in PHP, just add a
> > $ sign before the variable and ; at the end, and it is a PHP array :)
> > <snip>
> >
> > I've snipped the rest of your code, because it's very though to
> > understand the code if you can't read the language. Like i said, show
> > me what you want to convert from and to, so that i can help you
> > writing something new, or comment your own macro in english so that
> > people can understand it.
> >
> > Tijnema
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>
>
> --
> Daniel P. Brown
> [office] (570-) 587-7080 Ext. 272
> [mobile] (570-) 766-8107




--
Daniel P. Brown
[office] (570-) 587-7080 Ext. 272
[mobile] (570-) 766-8107

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux