FOXPRO: Funcion que detecta a que base de datos pertenece una tabla DBF :: PortalFox :: Nada corre como un zorro: "
Funcion que detecta a que base de datos pertenece una tabla DBF
Enviado por: rcano el 27 Mar 2001 - 06:36 PM
Bases de Datos Hace poco preguntaron como saber a que base de datos pertenece un fichero dbf determinado.
Esta función devuelve la cadena vacia si no se encuentra, si el fichero dbf es una tabla libre, y el nombre y la ruta del DBC si pertenece a una base de datos.
FUNCTION DameDBC()
PARAMETERS tcNombreTabla
LOCAL lnCampos, lnManejador, lnArea
lnArea = SELECT()
SELECT 0
USE (tcNombreTabla) AGAIN
lnCampos = FCOUNT()
USE
lnManejador = FOPEN(tcNombreTabla)
IF lnManejador > 0
FSEEK(lnManejador, 32 + 1 + lnCampos * 32)
lcCadena = FREAD(lnManejador, 263)
if left(lcCadena,1) == CHR(0)
lcCadena = ''
ELSE
lcCadena = LEFT(lcCadena, AT(CHR(0), lcCadena) - 1)
ENDIF
FCLOSE(lnManejador)
ENDIF
SELECT (lnArea)
RETURN lc"
Funcion que detecta a que base de datos pertenece una tabla DBF
Enviado por: rcano el 27 Mar 2001 - 06:36 PM
Bases de Datos Hace poco preguntaron como saber a que base de datos pertenece un fichero dbf determinado.
Esta función devuelve la cadena vacia si no se encuentra, si el fichero dbf es una tabla libre, y el nombre y la ruta del DBC si pertenece a una base de datos.
FUNCTION DameDBC()
PARAMETERS tcNombreTabla
LOCAL lnCampos, lnManejador, lnArea
lnArea = SELECT()
SELECT 0
USE (tcNombreTabla) AGAIN
lnCampos = FCOUNT()
USE
lnManejador = FOPEN(tcNombreTabla)
IF lnManejador > 0
FSEEK(lnManejador, 32 + 1 + lnCampos * 32)
lcCadena = FREAD(lnManejador, 263)
if left(lcCadena,1) == CHR(0)
lcCadena = ''
ELSE
lcCadena = LEFT(lcCadena, AT(CHR(0), lcCadena) - 1)
ENDIF
FCLOSE(lnManejador)
ENDIF
SELECT (lnArea)
RETURN lc"
0 Commentarios:
Publicar un comentario
<< Home