• Lunes 25 de Septiembre de 2023, 02:44

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 - xodrf

Páginas: 1 [2]
26
Visual FoxPro / Re: en lugar de iif un case
« en: Sábado 18 de Julio de 2009, 16:50 »
Existe una diferencia fundamental entre DO CASE y IF ENDIF y esta radica en el caso de seleccion multiple evalua en el orden que programaste y al entrar en un caso ya no se evalua las siguientes esto es:
DO CASE
      CASE condicion1
          ...
      CASE condicion2
          ...
      CASE condicion3
          ...
      OTHERWISE
         ...
ENDCASE
en el caso que condicion1sea falso evalua condicion2 y si este es verdadero ya no evalua la condicion3 ni OTHERWISE por cierto OTHERWISE se evalua como verdadera si ninguna de las condiciones anteriores fueron ciertas.

En Cambio para sentencias como las que sigue se evaluan todas sin excepción
IF condicion1
       ...
ENDIF
IF condicion2
       ...
ENDIF
IF condicion3
       ...
ENDIF

Funcion IIF()
lo unico que esta hace es devolvur UN VALOR DE ENTRE 2 POSIBLES si la condicion es verdadera devuelve el valor
que esta en IIF( , "VALOR A DEVOLVER EN CASO VERDADERO",  ), de lo contrario devuelve el valor IIF(,, "EN CASO FALSO" )
valor=IIF( condicion, "SI condicion ES VERDADERA", "LA condicion ES FALSA" )

Obs: entiendase que (se evalua como cierta) quiere decir que se ejecuta las sentencias que estan entre ..., para recibir
mejor ayuda deberias postear un segmento de tu codigo y explicar que deberia hacer.

Espero haber ayudado!!

27
Visual FoxPro / Re: Sobre los combos
« en: Viernes 17 de Julio de 2009, 16:18 »
NO TENGO LA SOLUCION PERO SI IDEA DE COMO DEBES ENCARAR TU PROBLEMA UTILIZA LOS COMBOS CON ROWSOURCETYPE=0 Y LLENALOS DE FORMA PROGRAMADA JUSTAMENTE ANTES DE DARLE EL FOCO ES DECIR CON THISFORM.MICOMBO.ADDLISTITEM(...) O THISFORM.MICOMBO.ADDITEM(...)

28
Visual FoxPro / Re: Comportamiento de evento "valid"
« en: Viernes 17 de Julio de 2009, 16:10 »
TE CUENTO COMO LO HAGO YO, YO HE ESTANDARIZADO TODOS MIS FORMULARIOS PARA QUE PULSANDO ESCAPE ESTOS SE CIERREN AUTOMATICAMENTE Y EN EL CASO EN QUE EN UN EVENTO VALID SIEMPRE LE PONGO LA CONDICION QUE AL PULSAR ESCAPE ESTE VALIDE
 EJ:

control VALID
IF LASTKEY()==27
       RETURN 1  &&VALIDACION CORRECTA PERDIA DEL FOCO
ENDIF
IF condicion * evalúa la condición de error
       error = x
ENDIF
RETURN 0 * vuelve al control

*//
*// OTRA INFORMACION RELACIONADA QUE ME ACABO DE ENTERAR!!!
*//
SI EL FORMULARIO SE CIERRA PERO EL CONTROL NO PERMITE LA PERDIDA DEL FOCO POR LA VALIDACION PUES PUEDES INCLUIR ESTAS SENTENCIAS COMO PRIMER SENTENCIA DE COMPROBACION DENTRO DEL VALID() PARA FORZAR LA VALIDACION ANTE EL CIERRE DEL FORMULARIO.

IF THISFORM.RELEASETYPE!=0
      WAIT [VALIDACION DEL CONTROL FORZADO, DEBIDO AL CIERRE DEL FORMULARIO] WINDOWS NOWAIT
      RETURN .T.
ENDIF :blink:

29
Visual FoxPro / Re: Reportes en visual fox 9
« en: Viernes 17 de Julio de 2009, 15:58 »
EL SECRETO ES PELIGROSO MEJOR DUPLICA TU REPORTE PRIMERO Y HAZ LO SIGUIENTE ABRELO DESDE EL FOX
ASI

USE MIREPORTE.FRX
BROW
BUSCA EL PRIMER REGISTRO EL CAMPO EXPR
QUITA LOS DATOS SOBRE TU IMPRESORA
DEVICE=
OUTPUT=
PAPERSIZE=0                                     &&ESTE PRUEBA PRIMERO NO TOCARLO
PRINTQUALITY=300

PRUEBALO Y SI FUNCIONA, LUEGO PUEDES GENERAR UN PRG QUE TE HAGA ESTO DE FORMA AUTOMATICA TODOS TUS REPORTES
ESPERO TE SIRVA!!!

30
Visual FoxPro / Re: error al generar aplicacion en vfp
« en: Viernes 17 de Julio de 2009, 15:50 »
DESDE EL FOX DALE UN MODI CLASS ? OF TSBASE Y ABRE ALGUN METODO U EVENTO CON CODIGO Y BUSCA(desde el menu edicion ->Buscar) DE A UNO ESTAS CADENAS:
ISTAG,FORMISOBJECT ... WRITEPRIVSTR etc marcando claro Todos los objetos para que te busque en toda tu clase y alli encontraras las llamada a estos metodosu objetos y podras analizarlas para que sirven!!

SUERTE!!

31
Visual FoxPro / Re: comandos exclusivo usados en modo compartido
« en: Viernes 17 de Julio de 2009, 15:17 »
bueno yo te cuento como yo lo hago, yo no utilizo el entorno de datos de los formularios y/o reportes en cambio utilizo un objeto que he creado para la apertura de las tablas que es este:

*//////////////////////////////////////////////////////////////////////////////
*//      DEFINICION DE CLASE P/ERRORES DE RED
*//////////////////////////////////////////////////////////////////////////////
DEFINE CLASS _XioNet AS CUSTOM
   _Tloop=.F.         &&TRY LOOP OR FAIL
   _Tsuccess=.F.      &&SUCCESS OR FAILED
   *//////////////////////////////////////////////////////////
   FUNCTION XOPEN( _Xname, _Xalias, _Xarea, _Xaccess, _Xloop )
   *//////////////////////////////////////////////////////////
      IF PARAMETERS()!=5
         MESSAGEBOX( [WPARAMETERS], 16, [ERROR] )
         THIS._Tsuccess=.F.
         RETURN (THIS._Tsuccess)
      ENDIF
      WITH THIS
         ._Tloop=_Xloop
         ._Tsuccess=.T.
      ENDWITH
      DO CASE
         CASE _Xaccess=="1"
            USE (_Xname) IN (_Xarea) ALIAS (_Xalias) EXCLUSIVE
         CASE _Xaccess=="2"
            USE (_Xname) IN (_Xarea) ALIAS (_Xalias) SHARED
         CASE _Xaccess=="3"
            USE (_Xname) IN (_Xarea) ALIAS (_Xalias) SHARED NOUPDATE
      ENDCASE
      RETURN (THIS._Tsuccess)
   ENDFUNC   
   *///////////////////////////////////////
   FUNCTION ERROR( nError, cMethod, nLine )
   *///////////////////////////////////////
      IF THIS._Tloop
         MESSAGEBOX( [ACCESO DENEGADO], 16, [WARNING] )
         RETRY
      ENDIF
      THIS._Tsuccess=.F.
   ENDFUNC
   */////////////////
   FUNCTION _R_LOCK()
   */////////////////
   DO WHILE !RLOCK()
      MESSAGEBOX( [FALLO DE BLOQUEO], 16, [WARNING] )
   ENDDO
   RETURN .T.
   ENDFUNC
   */////////////////
   FUNCTION _F_LOCK()
   */////////////////
   DO WHILE !FLOCK()
      MESSAGEBOX( [FALLO DE BLOQUEO], 16, [WARNING] )
   ENDDO
   RETURN .T.
   ENDFUNC   
ENDDEFINE




esta clase debes crearlo e instanciarlo en tu programa principal con atributo publico
ej:
PUBLIC _xopen
_xopen=CreateObject( "_XioNet" )

una vez hecho esto para abrir tus tablas en tu formulario por ejemplo en el metodo THISFORM.INIT() tipeas esto
XMODOAPERTURA="1" &&1->MODO EXCLUSIVO 2->MODO COMPARTIDO 3->SOLO LECTURA
XLOOP=.F.                  &&.F. HACE EL INTENTO UNA VEZ, .T. QUEDA EN UN BUCLE QUE REINTENTA HASTA LOGRAR O
                                  &&HASTA QUE EL OTRO USUARIO SUELTE LA TABLA EN CUESTION
IF !_XOPEN.XOPEN( "C:MITABLA.DBF", "MIALIAS", 0, XMODOAPERTURA, XLOOP )
      MESSAGEGOX( "FALLO LA APERTURA DE MITABLA.DBF", 16, "ERROR" )
       RETURN .F.
ENDIF

HECHO EN VISUAL FOX 6.0
BUENA SUERTE!!

32
Visual FoxPro / diagramar una base de datos con DBF te cuesta?
« en: Jueves 16 de Julio de 2009, 22:17 »
Bueno aqui les presento una herramienta que me ha servido para analisis y evaluacion de sistemas de terceros hechos en visual fox, les explico brevemente como funciona hay un PRG (el cual debe ejecutarse dentro del visual foxpro) que te pregunta que directorio queres hacer diagramas y lo convierte a sentencias SQL en un formato texto especial el cual puede ser levantado por una HERRAMIENTA de diagramacion el cual es DDT (hecho por un tal Jo Janssens -> jjanssens@visi.com) portable es decir lo llevan en el pen y corre en cualquier maquina con WIN98,XP,vista  y  les permite imprimir reportes con informacion de los nombres de tablas y campos, no es la gran cosa pero en fin a mi me ayudo asi que aca va :mellow:

Páginas: 1 [2]