• Viernes 8 de Noviembre de 2024, 02:10

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - the_punch64

Páginas: [1]
1
Visual FoxPro / Re: Problemas Con Lostfocus /setfocus
« en: Viernes 1 de Julio de 2005, 20:37 »
&&pon este codigo en el evento Valid del TextBox

If !Empty(this.value)
    Return .T. && si hay algun valor
else
    Return .F. && no introdujo ningun valor
Endif

2
Visual FoxPro / Re: Borrar Fisicamente Registros De Una Tabla
« en: Viernes 1 de Julio de 2005, 20:30 »
prueba tambien a poner
SET DELETE ON
con esto los registros borrados de forma lagica ya no te van a aparecer en las tablas.

3
Visual FoxPro / Re: rutina para pasar cifras a letras
« en: Viernes 4 de Junio de 2004, 02:08 »
********Mira esta funcion NO LA HICE YO, solo la modifique un poco para que te retorne el string con un tipo de moneda, pruebala y haber como te funciona


******SALUDOS



***********************************************************************************************************************************************
* Descripción: Programa que convierte una expresión numérica a una expresion en letras
* Variables
* Nombre                Tipo      Descripción
* ------------               ------         -----------------
* tipoMoneda            caracter      Pone el tipo de Moneda
* ultimaposiciondecimal      numerica      Guarda la ultima posición decimal de la expresión ingresada en el programa.
* expresionnumerica         numerica      Contiene la expresión numerica a evaluar en el programa
* palabras               arreglo      Arreglo Unidimencional de 12 posiciones donde se guarda la palabra
*                               de un elemento de la expresion de acuerdo a   la posición que tenga el mismo
*                              dentro de la expresion.
* digitos                  arreglo       Arreglo Unidimencional de 12 posiciones donde se guarda la cantidad de digitos
*                              tiene la expresion a evaluar en el programa.
*uso:
*numerosaletras(25000,"Dolares")
***********************************************************************************************************************************************
   
procedure numerosaletras
   parameters expresionnumerica,tipoMoneda
   set decimals to 2
   dimension palabras(12)
   palabras(1)=space(12)
   palabras(2)=space(12)
   palabras(3)=space(12)
   palabras(4)=space(12)
   palabras(5)=space(12)
   palabras(6)=space(12)
   palabras(7)=space(12)
   palabras(8)=space(12)
   palabras(9)=space(12)
   palabras(10)=space(12)
   palabras(11)=space(12)
   palabras(12)=space(12)

   * este arreglo se usará para llenar el arreglo palabras
   dimension digitos(10)
   digitos(1)=""
   digitos(2)="Un "
   digitos(3)="Dos "
   digitos(4)="Tres "
   digitos(5)="Cuatro "
   digitos(6)="Cinco "
   digitos(7)="Seis "
   digitos(8)="Siete "
   digitos(9)="Ocho "
   digitos(10)="Nueve "

   * salta el proceso si el valor es menor que 1
   if expresionnumerica<1
      expresionnumerica=str(expresionnumerica,12,2)
      string='Cero '+TipoMoneda+' y '+substr(expresionnumerica,11,2)+'/100'
      return string
   endif
   expresionnumerica=RTRIM(str(expresionnumerica,12,2))   && convertir parametro numérico a caracter
   string=''
   xx=1
   do initstng
         * este ciclo es el corazon del programa
   do while .t.
      if xx>=10   && no convertimos números en el derecho del punto decimal por consiguiente salida cuando hacemos allí
         exit
      endif
      if palabras(xx)>' '
         do cientos
      endif
      xx=xx+1
      if palabras(xx)>' '
         if palabras(xx)='Un '   && chequea si es uno
            xx=xx+1               && en la posición de decenas
            do decenas      && entre el 10 y el 19
            do millon
            xx=xx+1
            loop
         else
            do unidades
            if palabras(xx+1)>' '
               string=string+'y '
            endif
         endif
      endif
      xx=xx+1
      if palabras(xx)>' '
         string=string+digitos(val(substr(expresionnumerica,xx,1))+1)
      endif
      do millon
      xx=xx+1
   enddo
   string=string+''+TipoMoneda+' con '+substr(expresionnumerica,11,2)+'/100'
   if ("un millones" $ string) .and. (at("Un Millones",string)=1)
      string="Un Millón"+substr(string,12,len(string)-12)
   endif
   return string

************************
*  final de num2word
************************
**********************
procedure millon
**********************
* agrega la palabra millón o millones en la variable string
   do case
      case xx=3
         if palabras(1)>' ' .or. palabras(2)>' ' .or. palabras(3)>' '
            string=string+'Millones '
         endif
      case xx=6
         if palabras(4)>' ' .or. palabras(5)>' ' .or. palabras(6)>' '
            string=string+'Mil '
         endif
   endcase


**********************
procedure cientos
**********************
* agrega la palabra cien o ciento en la variable string
   do case
      case palabras(xx)==''
         string=string+'Cien '
      case palabras(xx)='Un '
         if (palabras(xx+1)>' ' .or. palabras(xx+2)>' ')
            string=string+'Ciento '
         else
            string=string+'Cien '
         endif
      case palabras(xx)='Dos '
         string=string+'Doscientos '
      case palabras(xx)='Tres '
         string=string+'Trescientos '
      case palabras(xx)='Cuatro '
         string=string+'Cuatrocientos '
      case palabras(xx)='Cinco '
         string=string+'Quinientos '
      case palabras(xx)='Seis '
         string=string+'Seiscientos '
      case palabras(xx)='Siete '
         string=string+'Setecientos '
      case palabras(xx)='Ocho '
         string=string+'Ochocientos '
      case palabras(xx)='Nueve '
         string=string+'Novecientos '
   endcase
   return


**********************
procedure decenas
**********************
* agrega la palabra diez, once, doce, trece, catorce hasta diecinueve a la variable string
   do case
      case palabras(xx)==''
         string=string+'Diez '
      case palabras(xx)='Un '
         string=string+'Once '
      case palabras(xx)='Dos '
         string=string+'Doce '
      case palabras(xx)='Tres '
         string=string+'Trece '
      case palabras(xx)='Cuatro '
         string=string+'Catorce '
      case palabras(xx)='Cinco '
         string=string+'Quince '
      case palabras(xx)='Seis '
         string=string+'Dieciseis '
      case palabras(xx)='Siete '
         string=string+'Diecisiete '
      case palabras(xx)='Ocho '
         string=string+'Dieciocho '
      case palabras(xx)='Nueve '
         string=string+'Diecinueve '
   endcase
   return
   * final de decenas


**********************
procedure unidades
**********************
* agrega la palabra diez, veinte, treinta, cuarenta, cincuenta hasta noventa a la variable string
* la variable palabras(xx) = 'uno ' entonce sera 'diez'
* si palabras(xx) = 'dos ' entonce sera 'veinte'
* si palabras(xx) = 'tres '  entonces sera 'treinta'
   do case
      case palabras(xx)==''
         return
      case palabras(xx)='Un '
         string=string+'Diez '
      case palabras(xx)='Dos '
         string=string+'Veinte '
      case palabras(xx)='Tres '
         string=string+'Treinta '
      case palabras(xx)='Cuatro '
         string=string+'Cuarenta '
      case palabras(xx)='Cinco '
         string=string+'Cincuenta '
      case palabras(xx)='Seis '
         string=string+'Sesenta '
      case palabras(xx)='Siete '
         string=string+'Setenta '
      case palabras(xx)='Ocho '
         string=string+'Ochenta '
      case palabras(xx)='Nueve '
         string=string+'Noventa '
   endcase
   return
* final del procedure unidades


**********************
procedure initstng
**********************
*******************************************************************
* este loop crea el arreglo palabras in el cual
* los elementos son una representacion alpha
* de la cifra incluida el la variable expresionnumerica
* ejemplo: (pasando el valor = 12345.95)
*******************************************************************
* palabras(1) = " "
* palabras(2) = " "
* palabras(3) = " "
* palabras(4) = " "
* palabras(5) = "one "
* palabras(6) = "two "
* palabras(7) = "three "
* palabras(8) = "four "
* palabras(9) = "five "
* palabras(10) = "and"
* palabras(11) = "nine "
* palabras(12) = "five "
do while .t.
   if xx>12
      exit
   endif
   do case
      case substr(expresionnumerica,xx,1)='.'
         palabras(xx)='y'
      case substr(expresionnumerica,xx,1)=' '
         palabras(xx)=' '
      otherwise
         ultimaposiciondecimal=val(substr(expresionnumerica,xx,1))
         palabras(xx)=digitos(ultimaposiciondecimal+1)
   endcase
   xx=xx+1
enddo
xx=1
return

4
Visual FoxPro / Re: Imagen En Informe Visual Fox Pro
« en: Viernes 4 de Junio de 2004, 02:02 »
mira yo hice algo asi:

en la ruta del archivo escribi

"ruta_de_la_imagen\"+tabla.nombre_de_la_imagen+".extencion_de_la_imagen"

y si me funciono


Saludos

Páginas: [1]