Dividir una oración...

Hola, buen día. Mi duda es la siguiente:
     Estoy programando en Visual FoxPro 6, realizando una factura, al final de la misma, sumo todos los valores (importe, iva, subtotal) y me da un total, digamos que es 200.65. Luego, esa cantidad la tengo que imprimir con letra "doscientos pesos 65/100 M.N.", lo cual hago con esta función "oRep.SayWrite(PROW()+1,017, Letra(TOTAL))".
    Hasta ahí todo bien, mi problema radica, en que el cuadro de la hoja de la factura en donde se va a imprimir esa cantidad con letra es muy pequeño, por lo que necesito dividir la cantidad es decir, que en una línea aparezca "doscientos pesos" y en la siguiente "65/100".
    No se como podría hacerlo, se me ocurre utilizar arreglos, pero que mejor que preguntarle a un experto para que me asesore.
    De antemano, gracias por tu tiempo y tu ayuda.
Jesús Rosales.

1 Respuesta

Respuesta
1
Yo checaria el total de letras que le caben al margen que trae la factura, a partir de hay, utilizando la instrucción substr( ) y checando que al final de mi ultimo carácter haya un espacio, debes de llevar una variable para el comienzo de la linea y otra para el final, esa que es la final debes de ir recorriendo preguntando por si tiene espacio en blanco. Y ya que lo encuentre haces la impresión del primer renglón y a esa variable 2 le asignas variable 1 y comienzas de nueva. Espero me hayas entendido.
Algo así
cCad = "sadñlsakdñlsakd sañlkd sañldksañldk aslñd ksañldsa kñ kñl aksñl sak ñldask dñlas kdsñlaskdñl askd sañlk 00/100 M.N"
nPosIni = 1
nPosFin = 1
if Len( cCad ) > 40 &&suponiendo sea el tope del margen de la factura
   for nPos = nPosFin  to nPosIni Step -1
           if substr( cCad,nPos,1 ) = " " && ya llegamos..
.. más o menos esta es la idea.
Muchas gracias por tu respuesta, me fue de gran ayuda.
      Tarde un poquito en enterdele, pero si logré dividir las cadenas, Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas