Fraguibo escribió:
Hola Victor;
Veas si te aprobecha esto:
/*
* Evento OnCreate => Crear la Pantalla Principal.
*/
METHOD Form1OnCreate( oSender ) CLASS TForm1
//***> Configuración de la Hora y la Fecha.
set(_SET_DATEFORMAT,"dd/mm/yyyy")
//***> Configurarción Para Indices DBFCDX.
Request DbfCdx
RDDSETDEFAULT("DBFCDX")
//***> Crear la Base de Datos.
::CrearBaseDatos( oSender )
return
/*
* Evento OnClick => Crear la Base de Datos.
*/
METHOD CrearBaseDatos( oSender ) CLASS TForm1
//***> Buscamos las Bases de Datos.
if ! File('Fichero.dbf')
//***> Si no la Encuentra la Crea.
dbcreate('Fichero',{{'X1','N',10,0},{'X2,'C',34,0}})
dbcloseall()
Endif
// Busca el Indice de Datos
if ! File('Fichero.cdx')
// Si no lo Encuentra lo Crea.
Use Fichero
Index On Field->X1 Tag "X1"
Index On Field->X2 Tag "X2"
dbcloseall()
Endif
return
Esto al cargar el programa lo primero que hace antes de presentar el menú principal, es buscar la base de Datos y su Indice, si no los encuentra te los crea automaticamente y a continuación te muestra el Menú Principal.
Un Saludo.
Fraguibo
Hola a todos.
Fraguibo, una pregunta.
El codigo que muestras como ejemplo, me parece correcto, pero...
¿que haces si una misma tabla la tienes que volver a abrir?
Una posible respuesta sería:
Es que no abro las tablas más de una vez. Ok, entonces la pregunta queda invalidada, pero yo es que si las abro, tantas como necesite (busquedas, por ejemplo). De cualquier modo creo que seria MAS efectivo comprobar las tablas ANTES de entrar en ningun form, por ejemplo en el OnShow de TAplication.
Ya nos diras tu opinion.