Menu

24 de mayo de 2000

Convertir los métodos de un formulario en un archivo de procedimientos (.PRG)

Rutina que convierte todos los métodos de un formulario en un archivo de procedimientos .PRG.
*-----------------------------------------------------------
* FUNCTION SCX2PRG(tcForm, tcFile)
*-----------------------------------------------------------
* Pasa todos los métodos de un formulario y sus controles a
* un archivo de procedimientos.
* PARAMETROS:javascript:void(0);
*    tcForm: Ruta y nombre del formulario (.SCX)
*    tcFile: Ruta y nombre del archivo a generar (.PRG)
* AUTOR: LMG
* USO: SCX2PRG("C:\FORMS\FORM1.SCX", "C:\PRGS\METODOS.PRG")
*-----------------------------------------------------------
FUNCTION SCX2PRG(tcForm, tcFile)
  tcForm = FORCEEXT(tcForm, "SCX")
  IF NOT FILE(tcForm)
        MESSAGEBOX("El archivo" + CR + tcForm ;
      + CR + "no existe.", 16, "Aviso")
    RETURN .F.
  ENDIF
  IF EMPTY(tcFile)
    *--- Por defecto genera un PRG  con el
    *--- mismo nombre que el formulario
    tcFile = tcForm
  ENDIF
  tcFile = FORCEEXT(tcFile, "PRG")
  SET TEXTMERGE TO (tcFile) NOSHOW
  SET TEXTMERGE ON
  USE (tcForm) ALIAS MiScx
  \***********************************
  \*** METODOS DEL FORMULARIO
  \*** <<UPPER(tcForm)>>
  \***********************************
  SCAN ALL
    IF NOT EMPTY(MiScx.methods)
      \*-----------------------------------------------
      \*-- <<MiScx.objname>> -- (<<MiScx.Baseclass>>)
      \*------------------------------------------------
      \<<MiScx.methods>>
    ENDIF
  ENDSCAN
  USE IN MiScx
  \***********************************
  \*** FINAL DEL ARCHIVO
  \***********************************
  SET TEXTMERGE OFF
  SET TEXTMERGE TO
  RETURN .T.
ENDFUNC
Luis María Guayán

9 de mayo de 2000

¿Cómo verificar si una tabla está abierta en exclusiva?

Verificar si una tabla está abierta en exclusiva.
*--------------------------------------------------
FUNCTION _Exclusivo(tcTabla)
*--------------------------------------------------
* Verifica si una tabla esta abierta en  EXCLUSIVO
* USO: _Exclusivo("C:\VFP\MiTabla.DBF")
* PARAMETRO:
*    tcTabla = Ruta completa del archivo .DBF
* RETORNO: .T. si se puede abrir en exclusivo
*--------------------------------------------------
LOCAL lnHandle, llRet
lnHandle = FOPEN(tcTabla)
IF lnHandle = -1
   llRet = .F.
ELSE
   llRet = .T.
   =FCLOSE(lnHandle)
ENDIF
RETURN llRet
ENDFUNC
Luis María Guayán

Como hacer un cursor modificable II

Funciín para hacer un cursor modificable
*--------------------------------------------------
FUNCTION _Actualizable(tcAlias)
*--------------------------------------------------
* Hace actualizable un cursor
* USO: _Actualizable("MiCursor")
* PARAMETRO:
*    tcAlias = Alias del cursor
*--------------------------------------------------
 LOCAL lcAliasTmp, lcAliasAnt
 lcAliasAnt = ALIAS()
 IF EMPTY(tcAlias) OR NOT USED(tcAlias)
    WAIT WINDOW NOWAIT " No existe el alias "
    RETURN
 ENDIF
 lcAliasTmp = SYS(2015)
 USE DBF(tcAlias) IN 0 SHARE AGAIN ALIAS (lcAliasTmp)
 USE DBF(lcAliasTmp) IN (tcAlias) SHARE AGAIN ALIAS (tcAlias)
 USE IN (lcAliasTmp)
 IF NOT EMPTY(lcAliasAnt)
    SELECT (lcAliasAnt)
 ENDIF
 RETURN
ENDFUNC
Luis María Guayán