// confección de grupos FOR nGrupo = 1 to 5 aGrupos[ 5 - nGrupo + 1 ] = Mid(cNumStr, ((nGrupo -1)*3 +1), 3) NEXT
//Proceso cEnLetra='' FOR nGrupo = 5 TO 1 STEP -1 cUnidad=Right(aGrupos[nGrupo],1) cDecena=Mid(aGrupos[nGrupo],2,1) cCentena=Left(aGrupos[nGrupo],1)
// asignación para las unidades IF nNumero1=0 AND nGrupo=1 THEN aUnidad[1]='cero' ELSE aUnidad[1]='' END IF
IF cDecena='1' THEN aUnidad[2]=aDecena[2,integer(cUnidad)+1] ELSEIF(nGrupo = 2 OR nGrupo = 4) AND aGrupos[nGrupo] = '001' THEN aUnidad[2]='' ELSEIF (nGrupo > 2) THEN aUnidad[2]='un ' ELSEIF (cGenero = 'F') THEN aUnidad[2]='una ' ELSE aUnidad[2]='uno ' END IF
IF cDecena='1' THEN aUnidad[3]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[3]='dos ' END IF
IF cDecena='1' THEN aUnidad[4]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[4]='tres ' END IF
IF cDecena='1' THEN aUnidad[5]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[5]='cuatro ' END IF
IF cDecena='1' THEN aUnidad[6]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[6]='cinco ' END IF
IF cDecena='1' THEN aUnidad[7]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[7]='seis ' END IF
IF cDecena='1' THEN aUnidad[8]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[8]='siete ' END IF
IF cDecena='1' THEN aUnidad[9]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[9]='ocho ' END IF
IF cDecena='1' THEN aUnidad[10]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[10]='nueve ' END IF
// asignación para las decenas aDecena[1,1]=''
IF cUnidad='0' THEN aDecena[2,1]='diez ' ELSE aDecena[2,1]='' END IF aDecena[2,2]='once ' aDecena[2,3]='doce ' aDecena[2,4]='trece ' aDecena[2,5]='catorce ' aDecena[2,6]='quince ' aDecena[2,7]='dieciseis ' aDecena[2,8]='diecisiete ' aDecena[2,9]='dieciocho ' aDecena[2,10]='diecinueve ' IF cUnidad='0' THEN aDecena[3,1]='veinte ' ELSE aDecena[3,1]='veinti ' END IF IF cUnidad <> '0' THEN aDecena[4,1] = 'treinta '+Y ELSE aDecena[4,1] = 'treinta '+'' END IF
IF cUnidad <> '0' THEN aDecena[5,1] = 'cuarenta '+Y ELSE aDecena[5,1] = 'cuarenta '+'' END IF
IF cUnidad <> '0' THEN aDecena[6,1] = 'cincuenta '+Y ELSE aDecena[6,1] = 'cincuenta '+'' END IF
IF cUnidad <> '0' THEN aDecena[7,1] = 'sesenta '+Y ELSE aDecena[7,1] = 'sesenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[8,1] = 'setenta '+Y ELSE aDecena[8,1] = 'setenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[9,1] = 'ochenta '+Y ELSE aDecena[9,1] = 'ochenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[10,1] = 'noventa '+Y ELSE aDecena[10,1] = 'noventa '+'' END IF
// Asignación para las centenas aCentena[1]=''
IF cDecena+cUnidad = '00' THEN aCentena[2]='cien ' ELSE aCentena[2]='ciento ' END IF
IF nGrupo<3 AND cGenero='F' THEN aCentena[3]='doscient'+F ELSE aCentena[3]='doscient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[4]='trescient'+F ELSE aCentena[4]='trescient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[5]='cuatrocient'+F ELSE aCentena[5]='cuatrocient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[6]='quinient'+F ELSE aCentena[6]='quinient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[7]='seiscient'+F ELSE aCentena[7]='seiscient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[8]='setecient'+F ELSE aCentena[8]='setecient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[9]='ochocient'+F ELSE aCentena[9]='ochocient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[10]='novecient'+F ELSE aCentena[10]='novecient'+M END IF
// Asignación para los conectores aConector[1]='' IF aGrupos[2]>'000' THEN aConector[2]=MIL ELSE aConector[2]='' END IF
IF aGrupos[3]>'000' OR aGrupos[4]>'000' THEN IF aGrupos[3]='001'THEN aConector[3]=MILLON ELSE aConector[3]=MILLONES END IF ELSE aConector[3]='' END IF
IF aGrupos[4]>'000' THEN aConector[4]=MIL ELSE aConector[4]='' END IF
IF aGrupos[5]>'000' THEN IF aGrupos[5]='001' THEN aConector[5]=BILLON ELSE aConector[5]=BILLONES END IF ELSE aConector[5]=' ' END IF
// Completar la cifra en letras del grupo en curso cEnLetra=cEnLetra+(aCentena[integer(cCentena)+1]+aDecena[integer(cDecena)+1,1]+aUnidad[integer(cUnidad)+1]+aConector[nGrupo])