¿Cómo crear mi primera aplicación FoxRibbon Camf desde cero?

 

30/12/2018 Actualizado el 07/04/2020

 

Voy a mostrar el flujo de trabajo correcto para crear una aplicación con FoxRibbon Camf de forma rápida

 

¿Qué hace el programa Main.prg?

Main.prg tiene como misión principal abrir la ventana principal de nuestra aplicación.

 

Crear nuestro primer programa desde 0

  1. Creamos el directorio con el nombre de nuestra aplicación por ej., My FoxRibbon
  2. Copiamos al directorio system app
  3. Copiamos al directorio config.fpw
  4. Creamos el  subdirectorio \scx que es donde posteriormente guardaremos nuestros formularios
  5. Copiamos la carpeta FoxRibbon\scx\camfengine y la pegamos en el directorio My FoxRibbon\scx. Son formularios necesarios para utilizar con el motor Camf_Engine y por eso se ha creado una carpeta especial para ellos.
  6. Copio las carpetas images, styles, progs   y lng al directorio de mi nuevo proyecto mi proyecto My FoxRibbon.
  7. Si no voy a crear mi ventana principal en Screen y si en FNS  puedo borrar en el directorio Progs el archivo  interface_screen.prg.
  8. Abrimos Visual FoxPro, luego Archivo -> Nuevo -> Proyecto por ej. My FoxRibbon y lo guardamos en el directorio que hemos creado en el punto 1. En nuestro directorio veremos que se han creado  los archivos de proyecto My FoxRibbon.pjx y My FoxRibbon.PJT.

En nuestro proyecto hacemos Clic en la pestaña Código y agregamos los programas
Hacemos Clic en la pestaña Clases y agregamos FoxRibbon.vcx, CamfEngine.vcx y CamfFunction.vcx que se encuentran en el directorio FoxRibbon\vcx ->>>  Nunca en el directorio My FoxRibbon
Tenga en cuenta que Toolbox  al instalar las librerías tiene la información del directorio FoxRibbon. Este punto es muy importante de lo contrario vamos a tener errores difíciles de detectar
Si tiene dudas vea el siguiente enlace: Añadir librerías FoxRibbon

En la pestaña código del Administrador de proyectos, nos situamos con el botón derecho sobre main.prg y lo establecemos como principal.
Abrimos el programa main.prg para configurarlo:


En este ejemplo vamos a trabajar nuestra ventana principal en FNS.

Les damos valor a nuestras variables lógicas:

      llCamf_Screen = .F.               
      llCamf_Ribbonc = .T.   
      llMaximizeForm = .F. o llMaximizeForm = .T. ES INDIFERENTE
      llFormInit = .F.                  
      llModeExample = .F.         
                                              
En el punto nº 3 un asterisco delante de:

*SET CLASSLIB TO vcx\SAMPLERIBBON ADDITIVE

En el punto nº 5 configuramos los comandos SET a nuestro gusto


Y vamos al punto nº 10 y lo dejamos así:
10. Formularios de presentación y entrada ----------------------------

     
SHOW WINDOW SCREEN
	IF llCamf_Screen 
 		IF llFormInit 
			*DO FORM FORMINIT WITH llCamf_Screen 
 		ENDIF
		*DO INTERFACE_SCREEN WITH llCamf_Ribbonc, llMaximizeForm
	ELSE  && Si trabajamos en  modo FNS  
		IF llFormInit
			*DO FORM FORMINIT WITH llCamf_Screen
		ENDIF                
 		IF llCamf_Ribbonc=.T.
			DO FORM SCX\main WITH IIF(llMaximizeForm,  .T. , .F.)
			*DO FORM SCX\mainc WITH IIF(llMaximizeForm, .T. , .F.)
			*DO FORM SCX\mainc2 WITH  IIF(llMaximizeForm, .T. , .F.)
			*DO  FORM SCX\main_dualc WITH  IIF(llMaximizeForm, .T. , .F.)
			*DO  FORM SCX\main_dualc2 WITH IIF(llMaximizeForm, .T. ,.F.)
		ELSE
			*DO FORM SCX\main_dual WITH IIF(llMaximizeForm, .T. , .F. )
			*DO FORM SCX\main2 WITH IIF(llMaximizeForm, .T. , .F.)
		ENDIF 
	HIDE WINDOW Screen
	ENDIF 

Como podemos ver hemos desactivado cualquier posibilidad excepto DO FORM SCX\main WITH IIF(llMaximizeForm, .T. , .F.)

Main.scx va a ser  nuestra ventana principal, pero podemos elegir cualquier otro nombre.

Y por último:

*RELEASE CLASSLIB vcx\SampleRibbon.vcx   &&Solo para los ejemplos

 

Crear el formulario de la ventana principal

Abrimos Toolbox  y doy por hecho que ya ha leído el documento de como instalar las librerías correctamente o el siguiente enlace: Añadir librerías FoxRibbon

- Elegimos librería CamfEngine.

                Nuestra ventana principal se basa en la clase Camf_Form_Engine. Nos situamos encima con el botón derecho y pulsamos y elegimos Create Form.

- Ya tenemos nuestro formulario de ventana principal y lo vamos a guardar así:

Archivo -> Guardar como… en el directorio \scx y le damos el nombre de main.scx

- Vamos a la pestaña documentos del Administrador de proyectos y agregamos main.scx

- Ahora abrimos main.scx y lo primero es renombrar Name a Main.

El Name tiene que ser igual al nombre del archivo que lo contiene, de lo contrario nos da un error al salir de la aplicación.

- Ahora ya puede Generar su aplicación  sin más, resultando el ejecutable my foxribbon.exe.

Ya funciona nuestra ventana principal en FoxRibbon Camf. Ahora vamos a añadir la barra de títulos _c_titlebar_app  de la librería CamfEngine y ya tenemos la ventana principal de nuestra aplicación con barra de títulos y los estilos configurables a nuestro gusto.

Es imprescindible realizar este ejemplo desde 0 para entender el funcionamiento de FoxRibbon Camf. Entrego el ejemplo ya hecho por si tiene algún problema.

Como puede ver no tenemos carpeta de librerías vcx en la carpeta donde creamos nuestra aplicación. Tome buena nota

Puede utilizar la carpeta My FoxRibbon como plantilla definitiva para crear o transformar cualquier aplicación. Le va a resultar muy útil.

Entrego la nueva versión 0.40 con un nuevo main.prg optimizado. Después de muchas pruebas y la gran transformación que sufrió la versión 0.39, al mismo tiempo que he creado este ejemplo, he detectado diversos errores o bugs que se han corregido.

 

¿Y si tengo dudas o consultas?

Ante cualquier duda, consulta o sugerencia, puede contactar con:

foxribbonlib@gmail.com


Referencias

Autor: Camf

 



error: Contenido protegido