Crear aplicación y ejecutable en fox 6.0

Hola experto... Necesito (entre otras cosas) crear una aplicación; sin utilizar un menu, sino, en su lugar, un formulario con botones que llaman a otros formularios (el usuario me lo pidió así)- soy novato en esto y necesito tu ayuda.
Mi formulario (inicio.scx) es del cual llamo a los demás formularios y tiene 12 botones, cada uno abre un formulario distinto; o sea no uso un MENU.
Ahora mi pregunta es:
¿Cómo sería el CÓDIGO del programa principal?
Te paso como lo escribí pero me tira errores:
- Me abre un formulario atrás. (¿Es el que lleva el "TituloVentana") cómo lo desaparezco?
- No me abre los formularios. Sólo el inicio.scx
- Me da errores con los "record" (no se bien que es eso..) evidentemente tiene que ver con la base de datos (mi database es "bdks")
El CÓDIGO que escribí es el siguiente:
clear all
SET SYSMENU SAVE      && Guarda el menu default de fox
SET SYSMENU TO          && Quita el menu
SET ECHO OFF
SET TALK OFF    && las operaciones no se imprimen en pantalla
SET CLOCK STATUS
SET DATE TO French          && dd/mm/aa
SET CENTURY ON               && dd/mm/aaaa
SET DELETED ON                && no procesa registros eliminados
SET REFRESH TO 5
SET REPROCESS TO AUTOMATIC
SET MULTILOCK ON
SET LOCK OFF
PUBLIC ProgramaActual, RutaPrograma, HabilitarMenu, TituloVentana
_screen.windowstate=0
_screen.closable=.F.
_screen.top = 0
_screen.left = 200
TituloVentana = _screen.caption
_screen.caption="Sistema KS - Ver. 1.00"
_screen.height = 600
_screen.width = 700
_screen.autocenter = .T.
_screen.borderstyle = 0
_screen.backcolor = RGB(255,255,255)
CLOSE TABLES ALL
ProgramaActual = SYS(16)       && obtiene el nombre del ejecutable actual: c:\sistema\proyecto.exe  
                                                      &&- uso WIN XP o VISTA (es SYS(16) 0 (32)???) (tngo en carpeta en desktop)
RutaPrograma = LEFT(ProgramaActual, RAT("\", ProgramaActual))             && obtiene la ruta del  
     &&ejecutable   c:\sistema\
HabilitarMenu = .F.
set default to (RutaPrograma)
CLOSE TABLES ALL
CLOSE DATABASES ALL
OPEN DATABASE bdks SHARED                                  && esa es mi Base de datos
do form formularios\inicio                            && ese mi form para de inicio de sistema (imagen arriba)
READ EVENT
Set delete off
SET TALK ON
set sysmenu nosave
set sysmenu to default
_screen.closable = .T.
_screen.maxbutton = .T.
_screen.minbutton = .T.
_screen.borderstyle = 3
_screen.caption = TituloVentana
clear all
quit
POR FAVOR, si me podes corregir y explicar. El código lo hice por referencias de otros códigos de programas principales.
Gracias - Fernando.

1 respuesta

Respuesta
1
Prueba con este programa de inicio, solo coloca tus parámetros espero te sea útil
Saludos
PROCEDURE inicio
********************************************************************************
application.Visible=.F.            && Hace invisible la aplicacion desde el inicio
_Screen.Visible=.F.
Clear
Close All
Clear All
Set Device to screen
Set sysmenu to
Set procedure to  [miProcedure]         && Aqui colocas tus procedimientos almacenados
WITH _SCREEN
    .BackColor=RGB(192,192,192)   
    .Closable=.T.
    .Caption="Titulo del programa o aplicacion"
    .FontName="Courier New"
    .FontSize=10
    .Picture="[imagen de fondo para el fox Screen]"
    .Icon="[Icono de la aplicacion]"
    .WindowState=2
ENDWITH
    Set Century        ON
    Set deleted         ON
    Set MultiILocks     ON
    Set near           ON
    Set optimize    ON
    Set lock            OFF
    Set echo           OFF
    Set escape         OFF
    Set exact         OFF
    Set exclusive      OFF
    Set notufy         OFF
    Set status bar     OFF
    Set safety         OFF
    Set talk           OFF
    Set date british
    Set clock status
    Set reprocess TO 5
    Set refresh   TO 5,5
    Set odometer  TO 11
    Set path     to  [directoriodetrabajo]
    on shutdown =el_final()
    _screen.Visible=.T.
    _Screen.Closable=.T.
    _Screen.Refresh
*****************************************************************************************
    Do Form [FormularioMenu]
       READ EVENTS
    Set sysmenu to default
    ON SHUTDOWN
RETURN
*****************************************************************************************
FUNCTION el_final
LOCAL sigue
    sigue=MESSAGEBOX("Fin del Proceso"+CHR(13)+CHR(13)+;
         "Desea Salir del Sistema ?" ,1+64+256,"Cerrar Sistema")
    IF sigue=1
        Release all extended
        CLOSE ALL
        CLEAR ALL
        QUIT
    ENDIF
Endfunc
*****************************************************************************************
Hola Gracias por tu respuesta. Tengo dudas:
1) No uso un MENU, sino un formulario con botones desde los cuales abro los demás formularios. Entonces que hago con la parte la parte que dice:
Do Form [FormularioMenu]
       READ EVENTS
    Set sysmenu to default
    ON SHUTDOWN
RETURN
2) No tengo procedimientos almacenados.
3) Cómo llamo desde el prog a mi formulario de inicio (inicio.scx) ¿Si no tengo el FormularioMenu?
Gracias.
OK,
1) Yo tampoco uso menu, así que en donde dice FormularioMenu coloca tu formulario principal que contiene los botones. (Inicio)
2) No coloques esa linea
3) La respuesta es la misma donde dice FormularioMenu coloca Tu formulario de inicio
DO FORM INICIO
Me avisas a ver que tal sale
<span style="font-weight: bold;">Hola.</span>.. lo probe y funciona re-bien. muchas gracias!!! te seguiré peguntando -si no es molestia- algunas cosas más ya que soy novato en esto de fox-
Mi mail es <span style="font-weight: bold;">(xxxxxx)</span>, me gustaría que me pases el tuyo.
Gracias de nuevo.
<span style="font-weight: bold;">Fernando - </span>
<span style="font-weight: bold;">Posadas - Misiones - Argentina.</span>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas