Programa de inicio
Javier aquí preguntando de nuevo quisiera saber si me puedes mandar un ejemplo de crear un prg de inicio para los formularios y cerrar completamente tablas form y cerrar todo los formularios que se encuentra en memoria y los cursores al mismo tiempo
1 Respuesta
Respuesta
1
1
Anónimo
Estos serían los comandos que uso en un programa de inicio, antes te comento que debes tener en cuenta que en el proyecto tienes que tener un PRG con el nombre inicio por ejemplo y en el código que te voy a pasar vas a tener que reemplazar las rutas de tu sistema, las de tus dbc y de tus vcx. Una vez creado el Prg dale click derecho al mismo dentro del proyecto y pone establecer como principal. Saludos
On Shutdown CloseApplication()
*-El comando "On Shutdown" es como el comando "DO" que ejecuta una rutina o funcion
*-Se debe ejecutar solo para liberar un comando On Shutdown activa y asi poder salir del programa
*-Definimos los caminos donde buscar archivos------------------
Local lcDefaultPath
If _vfp.StartMode = 0 And ;
Type("_vfp.ActiveProject")=="O"
lcDefaultPath = _vfp.ActiveProject.HomeDir
Set Path To (Addbs(lcDefaultPath)+"VCX") Additive
Else
*-Ejecuta por este camino cuando se trata de un ejecutable
lcDefaultPath = Sys(5)+Sys(2003)
Set Path To (Addbs(lcDefaultPath)+"VCX") Additive
Set Path To (Addbs(lcDefaultPath)+"REPORTES") Additive
Endif
Set Path To (Addbs(lcDefaultPath)+"Images") Additive
Set Default To (lcDefaultPath)
*------------------------------------------------------------------------------------------------------------------
*-El comando "STARTMODE devuelve un valor numérico que indica como se ha iniciado una instancia de Visual FoxPro.
*-Es de sólo lectura en tiempo de ejecución y los valores que devuelve son :
*-0 Se inició una versión de programación de Visual FoxPro en una sesión interactiva.
*-1 Visual FoxPro se inició como un objeto Application. Por ejemplo, el siguiente comando crea una instancia de
* Visual FoxPro como un objeto Application: "oMyObject = CREATEOBJECT('VisualFoxPro.Application')"
*-2 Visual FoxPro se inició como un servidor de Automatización .exe fuera de proceso.
*-3 Visual FoxPro se inició como un servidor de Automatización .dll en proceso.
*-4 Visual FoxPro se inició como un archivo .app o .exe que se puede distribuir.
*-5 Visual FoxPro se inició como un servidor de automatización .dll en proceso para su uso con varios subprocesos.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La propiedad "ACTIVEPROJECT" contiene una referencia al objeto Project para la ventana del Administrador de
*-proyectos activa actualmente. Es de sólo lectura en tiempo de diseño y en tiempo de ejecución.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La propiedad "HOMEDIR" especifica el directorio principal del proyecto. El valor predeterminado es el directorio
*-en que está ubicado el archivo de proyecto (.pjx).
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La funcion "ADDBS" agrega una barra invertida (si fuera necesario) a una expresión de ruta de acceso.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La funcion "SYS(2003)" devuelve el nombre del directorio actual de la unidad o volumen predeterminados.
*-La funcion "SYS (5)" devuelve la unidad predeterminada actual de Visual FoxPro.
*-El comando "SET PATH TO especifica una ruta de acceso para buscar archivos, con el "ADDITIVE" permite que la
*-Busqueda sea en varias caminos.-
*------------------------------------------------------------------------------------------------------------------
?
*-Seteo general del sistema----------------------------------------------------------------------------------------
LOCAL lcMensaje , lcTitulo , lLogoVis , lnCantReg, lcRuta
*-- Variables
* lcMensaje -> Mensaje del cuadro de diálogo.
* lcTitulo -> Título del cuadro de diálogo.
* lLogoVis -> Muestra el logo de la empresa si tiene una ruta de la imagen ingresada.
* lnCantReg -> Cantidad de registros.
*--
lLogoVis = .T.
_screen.visible = .f.
_screen.enabled = .f.
_screen.windowstate = 2 && maximiza la pantalla del visual (2)
_screen.titlebar = 1 && saca la barra de arriba.
_screen.maxbutton = .t.
_screen.minbutton = .t.
_screen.closable = .f.
SET ENGINEBEHAVIOR 70 && Habilita la compatibilidad del motor de datos SQL con VFP 6,7,8
SET POINT TO "." && Determina el carácter decimal que se utilizará al mostrar las expresiones numéricas y de moneda.
SET DEVICE TO SCREEN
SET ANSI ON && Determina cómo se hacen las comparaciones de cadenas de distintas longitudes utilizando el operador = en comandos SQL de Visual FoxPro.
SET HELP OFF && Activa o desactiva la Ayuda en pantalla de Visual FoxPro o especifica un archivo de Ayuda.
SET HEADING OFF && Determina si se muestran o no encabezados de columna para los campos, y si se incluye información de archivos cuando se ejecuta TYPE para mostrar el contenido de un archivo.
SET SCOREBOARD OFF && NO FIGURA EN LA AYUDA
SET SAFETY OFF && Determina si Visual FoxPro muestra o no un cuadro de diálogo antes de sobrescribir un archivo existente.
SET DATE TO ITALIAN && Acomoda el formato de fecha a DD-MM-AAAA
SET CENTURY ON && Acomoda el formato del año a cuatro digitos AAAA
SET STATUS OFF && Muestra o quita la barra de estado basada en caracteres
SET ECHO OFF && Abre la ventana Seguimiento para la depuración de programas. Se incluye por compatibilidad con versiones anteriores. Utilice la ventana Seguimiento en su lugar.
SET TALK OFF && Determina si Visual FoxPro muestra o no los resultados de los comandos.
SET DELETED ON && Especifica si Visual FoxPro procesará o no los registros marcados para su eliminación y si estarán disponibles o no para utilizarse en otros comandos
SET CONFIRM ON && Especifica si puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro.
SET ESCAPE OFF && Determina si al presionar la tecla ESC se interrumpirá la ejecución de un programa y un comando.
SET MOUSE ON && NO FIGURA EN LA AYUDA
SET CLOCK OFF && Determina si al presionar la tecla ESC se interrumpirá la ejecución de un programa y un comando.
SET HOURS TO 24 && Establece el formato de hora del reloj del sistema en 12 ó 24 horas.
SET AUTOSAVE ON && Determina si Visual FoxPro vaciará o no los búferes de datos al disco cuando salga de READ o cuando vuelva a la ventana Comandos
SET SYSMENU OFF && Activa o desactiva la barra de menús del sistema de Visual FoxPro durante la ejecución del programa y permite reconfigurarla.
SET EXCLUSIVE OFF && Especifica si Visual FoxPro abre los archivos de tabla para uso exclusivo o compartido en una red.
SET REFRESH TO 1,1 && Determina si se puede y con qué frecuencia puede actualizarse la ventana Examinar con los cambios que hagan en los registros otros usuarios de la red.
SET REPROCESS TO AUTOMATIC && Especifica cuántas veces o durante cuánto tiempo intenta Visual FoxPro bloquear un archivo o un registro después de que fracase un intento de bloqueo.
SET MULTILOCKS ON && Impide m£lt. bloq. de reg. varios(pero no todos)
SET LOCK OFF && Bloqueo aut. en reports, sums, etc.
SET STATUS BAR OFF && Muestra o quita la barra de estado gráfica.
SET EXACT OFF && Especifica las reglas que utiliza Visual FoxPro al comparar dos cadenas de diferente longitud.
CLOSE DATABASES ALL && Cierra todas las bases de datos abiertas
CLOSE TABLES ALL && Cierra todas las tablas abiertas
*----------------------------------------------------------------------------------------------------------------
*-Inicio de fuentes y vcx----------------------------------------------------------------------------------------
SET DEFAULT TO \SISTEMA\
SET PROCEDURE TO \SISTEMA\INICIO
SET NOTIFY OFF
WAIT WINDOW 'Espere el sistema se está configurando' NOWAIT
*-Apertura de Procedimientos, Bibliotecas y Bases ---------------------------------------------------------------
SET CLASSLIB TO \SISTEMA\VCX\VCX ADDITIVE
OPEN DATABASE \SISTEMA\DBC\DBC
*-------------------------------------------------------------------------------------------------------------
loForm = CREATEOBJECT("principal")
*-Esto abre el formulario principal -----------------------------------------------
_screen.enabled = .t.
_screen.visible = .t.
= loForm.Show() && muestra el formulario
*--------------------------------------------------------------------------------------------------------------
Read Events
*--------------------------------------------------------------------------------------------------------------
?
*-FUNCIONES Y PROCEDIMIENTOS
*--------------------------------------------------------------------------------------------------------------
Function CloseApplication
* Destroy ThemesManager object
If Vartype(_Screen.ThemesManager)=="O" && "VARTYPE" Devuelve el tipo de datos de una expresión.
_Screen.RemoveObject("ThemesManager") && "REMOVEOBJECT" Quita un objeto especificado desde un objeto contenedor en tiempo de ejecución.
Endif
* Destroy BindWindowsEventsProxy object
If Vartype(_vfp.BindWindowsEventsProxy)=="O" && "VARTYPE" Devuelve el tipo de datos de una expresión.
_vfp.BindWindowsEventsProxy = Null && NO FIGURA EN LA AYUDA
Endif
On SHUTDOWN
*-El comando "On Shutdown" es como el comando "DO" que ejecuta una rutina o funcion
*-Se debe ejecutar solo para liberar un comando On Shutdown activa y asi poder salir del programa
Clear Events
*-Detiene el procesamiento de eventos iniciado con READ EVENTS. Cuando se ejecuta CLEAR EVENTS,
*-la ejecución del programa continúa en la línea de programa inmediatamente posterior a READ EVENTS.
If _vfp.StartMode > 0 && Ver ayuda al inicio de este formulario
Quit
Endif
Return
ENDFUNC
*--------------------------------------------------------------------------------------------------------------
On Shutdown CloseApplication()
*-El comando "On Shutdown" es como el comando "DO" que ejecuta una rutina o funcion
*-Se debe ejecutar solo para liberar un comando On Shutdown activa y asi poder salir del programa
*-Definimos los caminos donde buscar archivos------------------
Local lcDefaultPath
If _vfp.StartMode = 0 And ;
Type("_vfp.ActiveProject")=="O"
lcDefaultPath = _vfp.ActiveProject.HomeDir
Set Path To (Addbs(lcDefaultPath)+"VCX") Additive
Else
*-Ejecuta por este camino cuando se trata de un ejecutable
lcDefaultPath = Sys(5)+Sys(2003)
Set Path To (Addbs(lcDefaultPath)+"VCX") Additive
Set Path To (Addbs(lcDefaultPath)+"REPORTES") Additive
Endif
Set Path To (Addbs(lcDefaultPath)+"Images") Additive
Set Default To (lcDefaultPath)
*------------------------------------------------------------------------------------------------------------------
*-El comando "STARTMODE devuelve un valor numérico que indica como se ha iniciado una instancia de Visual FoxPro.
*-Es de sólo lectura en tiempo de ejecución y los valores que devuelve son :
*-0 Se inició una versión de programación de Visual FoxPro en una sesión interactiva.
*-1 Visual FoxPro se inició como un objeto Application. Por ejemplo, el siguiente comando crea una instancia de
* Visual FoxPro como un objeto Application: "oMyObject = CREATEOBJECT('VisualFoxPro.Application')"
*-2 Visual FoxPro se inició como un servidor de Automatización .exe fuera de proceso.
*-3 Visual FoxPro se inició como un servidor de Automatización .dll en proceso.
*-4 Visual FoxPro se inició como un archivo .app o .exe que se puede distribuir.
*-5 Visual FoxPro se inició como un servidor de automatización .dll en proceso para su uso con varios subprocesos.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La propiedad "ACTIVEPROJECT" contiene una referencia al objeto Project para la ventana del Administrador de
*-proyectos activa actualmente. Es de sólo lectura en tiempo de diseño y en tiempo de ejecución.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La propiedad "HOMEDIR" especifica el directorio principal del proyecto. El valor predeterminado es el directorio
*-en que está ubicado el archivo de proyecto (.pjx).
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La funcion "ADDBS" agrega una barra invertida (si fuera necesario) a una expresión de ruta de acceso.
*------------------------------------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------------------------------------
*-La funcion "SYS(2003)" devuelve el nombre del directorio actual de la unidad o volumen predeterminados.
*-La funcion "SYS (5)" devuelve la unidad predeterminada actual de Visual FoxPro.
*-El comando "SET PATH TO especifica una ruta de acceso para buscar archivos, con el "ADDITIVE" permite que la
*-Busqueda sea en varias caminos.-
*------------------------------------------------------------------------------------------------------------------
?
*-Seteo general del sistema----------------------------------------------------------------------------------------
LOCAL lcMensaje , lcTitulo , lLogoVis , lnCantReg, lcRuta
*-- Variables
* lcMensaje -> Mensaje del cuadro de diálogo.
* lcTitulo -> Título del cuadro de diálogo.
* lLogoVis -> Muestra el logo de la empresa si tiene una ruta de la imagen ingresada.
* lnCantReg -> Cantidad de registros.
*--
lLogoVis = .T.
_screen.visible = .f.
_screen.enabled = .f.
_screen.windowstate = 2 && maximiza la pantalla del visual (2)
_screen.titlebar = 1 && saca la barra de arriba.
_screen.maxbutton = .t.
_screen.minbutton = .t.
_screen.closable = .f.
SET ENGINEBEHAVIOR 70 && Habilita la compatibilidad del motor de datos SQL con VFP 6,7,8
SET POINT TO "." && Determina el carácter decimal que se utilizará al mostrar las expresiones numéricas y de moneda.
SET DEVICE TO SCREEN
SET ANSI ON && Determina cómo se hacen las comparaciones de cadenas de distintas longitudes utilizando el operador = en comandos SQL de Visual FoxPro.
SET HELP OFF && Activa o desactiva la Ayuda en pantalla de Visual FoxPro o especifica un archivo de Ayuda.
SET HEADING OFF && Determina si se muestran o no encabezados de columna para los campos, y si se incluye información de archivos cuando se ejecuta TYPE para mostrar el contenido de un archivo.
SET SCOREBOARD OFF && NO FIGURA EN LA AYUDA
SET SAFETY OFF && Determina si Visual FoxPro muestra o no un cuadro de diálogo antes de sobrescribir un archivo existente.
SET DATE TO ITALIAN && Acomoda el formato de fecha a DD-MM-AAAA
SET CENTURY ON && Acomoda el formato del año a cuatro digitos AAAA
SET STATUS OFF && Muestra o quita la barra de estado basada en caracteres
SET ECHO OFF && Abre la ventana Seguimiento para la depuración de programas. Se incluye por compatibilidad con versiones anteriores. Utilice la ventana Seguimiento en su lugar.
SET TALK OFF && Determina si Visual FoxPro muestra o no los resultados de los comandos.
SET DELETED ON && Especifica si Visual FoxPro procesará o no los registros marcados para su eliminación y si estarán disponibles o no para utilizarse en otros comandos
SET CONFIRM ON && Especifica si puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro.
SET ESCAPE OFF && Determina si al presionar la tecla ESC se interrumpirá la ejecución de un programa y un comando.
SET MOUSE ON && NO FIGURA EN LA AYUDA
SET CLOCK OFF && Determina si al presionar la tecla ESC se interrumpirá la ejecución de un programa y un comando.
SET HOURS TO 24 && Establece el formato de hora del reloj del sistema en 12 ó 24 horas.
SET AUTOSAVE ON && Determina si Visual FoxPro vaciará o no los búferes de datos al disco cuando salga de READ o cuando vuelva a la ventana Comandos
SET SYSMENU OFF && Activa o desactiva la barra de menús del sistema de Visual FoxPro durante la ejecución del programa y permite reconfigurarla.
SET EXCLUSIVE OFF && Especifica si Visual FoxPro abre los archivos de tabla para uso exclusivo o compartido en una red.
SET REFRESH TO 1,1 && Determina si se puede y con qué frecuencia puede actualizarse la ventana Examinar con los cambios que hagan en los registros otros usuarios de la red.
SET REPROCESS TO AUTOMATIC && Especifica cuántas veces o durante cuánto tiempo intenta Visual FoxPro bloquear un archivo o un registro después de que fracase un intento de bloqueo.
SET MULTILOCKS ON && Impide m£lt. bloq. de reg. varios(pero no todos)
SET LOCK OFF && Bloqueo aut. en reports, sums, etc.
SET STATUS BAR OFF && Muestra o quita la barra de estado gráfica.
SET EXACT OFF && Especifica las reglas que utiliza Visual FoxPro al comparar dos cadenas de diferente longitud.
CLOSE DATABASES ALL && Cierra todas las bases de datos abiertas
CLOSE TABLES ALL && Cierra todas las tablas abiertas
*----------------------------------------------------------------------------------------------------------------
*-Inicio de fuentes y vcx----------------------------------------------------------------------------------------
SET DEFAULT TO \SISTEMA\
SET PROCEDURE TO \SISTEMA\INICIO
SET NOTIFY OFF
WAIT WINDOW 'Espere el sistema se está configurando' NOWAIT
*-Apertura de Procedimientos, Bibliotecas y Bases ---------------------------------------------------------------
SET CLASSLIB TO \SISTEMA\VCX\VCX ADDITIVE
OPEN DATABASE \SISTEMA\DBC\DBC
*-------------------------------------------------------------------------------------------------------------
loForm = CREATEOBJECT("principal")
*-Esto abre el formulario principal -----------------------------------------------
_screen.enabled = .t.
_screen.visible = .t.
= loForm.Show() && muestra el formulario
*--------------------------------------------------------------------------------------------------------------
Read Events
*--------------------------------------------------------------------------------------------------------------
?
*-FUNCIONES Y PROCEDIMIENTOS
*--------------------------------------------------------------------------------------------------------------
Function CloseApplication
* Destroy ThemesManager object
If Vartype(_Screen.ThemesManager)=="O" && "VARTYPE" Devuelve el tipo de datos de una expresión.
_Screen.RemoveObject("ThemesManager") && "REMOVEOBJECT" Quita un objeto especificado desde un objeto contenedor en tiempo de ejecución.
Endif
* Destroy BindWindowsEventsProxy object
If Vartype(_vfp.BindWindowsEventsProxy)=="O" && "VARTYPE" Devuelve el tipo de datos de una expresión.
_vfp.BindWindowsEventsProxy = Null && NO FIGURA EN LA AYUDA
Endif
On SHUTDOWN
*-El comando "On Shutdown" es como el comando "DO" que ejecuta una rutina o funcion
*-Se debe ejecutar solo para liberar un comando On Shutdown activa y asi poder salir del programa
Clear Events
*-Detiene el procesamiento de eventos iniciado con READ EVENTS. Cuando se ejecuta CLEAR EVENTS,
*-la ejecución del programa continúa en la línea de programa inmediatamente posterior a READ EVENTS.
If _vfp.StartMode > 0 && Ver ayuda al inicio de este formulario
Quit
Endif
Return
ENDFUNC
*--------------------------------------------------------------------------------------------------------------
- Compartir respuesta
- Anónimo
ahora mismo