Re: excel macro into php

From: Date: Thu, 03 May 2007 16:17:30 +0000
Subject: Re: excel macro into php
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-254354@lists.php.net to get a copy of this message
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@gmail.com> wrote:
On 5/3/07, Daniel Brown <parasane@gmail.com> 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@gmail.com> wrote:
On 5/2/07, Anton Krall <akrall-lists@intruder.com.mx > 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

« previous php.general (#254354) next »