
Proyectos y Módulos
La base fundamental de trabajo en PowerCobol (PC en adelante), es el proyecto. Para empezar cualquier programa siempre tendremos que crear un proyecto e incluir todo lo necesario para que ese programa o grupo de programas funcionen.
Los proyectos se guardan con extensión .ppj y ese solo archivo será el necesario para llevarnos nuestro proyecto de un lugar a otro, en ese fichero se guarda absolutamente todo. Es decir que si copiamos ese archivo en otro ordenador y lo abrimos con PowerCobol, él, automáticamente nos crea todo el árbol de directorios del proyecto y todos los archivos, es algo que creo muy interesante, sobre todo cuando se trabaja en equipo. Pero hay que tener en cuenta que si utilizamos algún control OCX externo tendremos que llevarlo al nuevo equipo y registrarlo en Windows para que funcione. El ppj solo guarda lo que es propio de PowerCobol.
Cuando abrimos la ventana principal de PC, nos encontramos ante una pantalla gris sin nada y una barra de menú con muy pocas opciones disponibles.
Opciones del menú:
- File (New Project)(Open)(Close)(Save)(Save as)(Make Istaller)(Exit)
- Project (Build All)(Rebuild All)(Build)(Rebuild)(Cancel Build)(Debug)(Execute)(Set Default Module)(Set Run-time Environment)(Find All)(Replace All)
- Tools (Options)(Customize)
- Help (Help Topics)(About PowerCobol)
Al pinchar sobre New nos pregunta sobre el tipo de proyecto a crear y automáticamente nos sale el editor de proyectos, con un módulo y un form por defecto creados.
Al guardar se nos preguntará por el nombre y la ruta del proyecto y así creará el .ppj correspondiente a dicho proyecto.
Las opciones mas importantes de los módulos son las siguientes:
- Build Mode. En ella encontramos dos opciones, Debug Mode o Release Mode, dependiendo de cual escojamos el sistema crea a partir de la ruta inicial una carpeta llamada Release o Debug donde guarda los archivos necesarios para la compilación. Es el modo en que va a compilar. Yo personalmente siempre pongo Release Mode.
- Target Folder Release / Debug. Será la carpeta donde guarde los ejecutables o DLL compilados sin errores, es decir nuestros programas objeto.
Los proyectos están compuestos por módulos. Se puede hacer un módulo por proyecto o tantos módulos como deseemos. Cada módulo será independiente dentro del proyecto.
Las opciones mas importantes de los módulos son las siguientes:
- ExecuteInDuplicate. Verdadero o falso, nos indica si la aplicación podrá ser ejecutada mas de una vez al mismo tiempo.
- FileType. le indicamos si vamos a crear un ejecutable .EXE o una dll .DLL.
Dentro de los módulos podremos tener pantallas, programas objetos, imágenes, cursores y librerías, según vayamos a necesitar. Todos los componentes que se instalen dentro de un módulo serán accesibles para todos los Form de dicho módulo, pero no para los restantes del proyecto. Cuando queramos llamar a una ventana de un módulo diferente al que estamos usando, siempre habrá que acompañar el nombre del módulo al que pertenece.
Si la aplicación es muy grande, quizás lo mas aconsejable es crear un proyecto con un módulo ejecutable que nos sirva de menú y el resto de programas en proyectos independientes todos ellos con módulos en DLL. Con esto también evitamos que se puedan ejecutar los programas desde ningún otro lugar que no sea el menú.
El nombre que asignamos al módulo será el que le se sirva a PC para crear las carpetas en la compilación y el nombre que adoptará nuestro programa o DLL.
Archivo de Configuración
Algo interesante en nuestro proyecto es el archivo de configuración. Se accede por el menú en Proejct-Set Run-time Environment. Es un archivo como el que se usa en otros compiladores Cobol con una serie de variables y su posible valor, se pueden incorporar también los nombres lógicos
de nuestros ficheros. Es una aplicación Windows, donde accedemos a las variables o creamos las nuestas, pero en realidad lo que PC crea es un archivo de texto llamado COBOL85.CBR en la misma carpeta donde están los ejecutables y es totalmente editable con el bloc de notas.
Algunas de las variables que trae el sistema:
- @AllFileExclusive. (yes, no). Usando modo exclusivo a los ficheros, el tiempo de acceso es menor, claro que limitaremos el multiusuario.
- CBR_SCREEN_POSITION. (CENTER, SYSTEM, xy) Por defecto es Center.
Para crear por ejemplo un nombre lógico de fichero, haríamos lo siguiente. En Variable Name pondriamos el nombre de nuestra variable (por lo que he probado no puede ser mayor de 7 letras) por ejemplo: NOMCLI. En Variable Value, le dariamos la ruta de nuestro fichero:
C:PROGRAMADATOS.
En nuestro programa en la SELECT, nos refeririamos a dicho fichero por su nombre lógico:
SELECT CLIENTE ASSIGN NOMCLI
...
De esta manera si trabajáramos en red, podríamos tener un archivo de configuración con un valor distinto para la misma variable en cada usuario y el programa iría al valor de Variable Value, a buscar los datos que harían referencia a dicho fichero.
|
|