Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   Cocina PowerCOBOL (https://www.cobolforo.es/forumdisplay.php?f=24)
-   -   [PowerCOBOL] DLL control Calendario (https://www.cobolforo.es/showthread.php?t=379)

Josber 24 de abril de 2016 12:24

DLL control Calendario
 
2 Archivos Adjunto(s)
He hecho éste calendario que, aunque no tiene las mismas funciones que los ocx que hay por ahí, a mi me funciona perfectamente.

El manejo es muy sencillo, hay definidas 4 variables globales externas, que son:

Código COBOL:
  1.  01  DIA-SEM-LINK           PIC 9       IS GLOBAL EXTERNAL.
  2.  01  FECHA-LINK                         IS GLOBAL EXTERNAL.
  3.      03  D-LINK         PIC 99.
  4.      03  M-LINK         PIC 99.
  5.      03  A-LINK         PIC 9999.
  6.  *> Variables para posicionar la ventana
  7.  01  LEFT-LINK          PIC S9(9)   IS GLOBAL EXTERNAL COMP-5.
  8.  01  TOP-LINK           PIC S9(9)   IS GLOBAL EXTERNAL COMP-5.

DIA-SEM-LINK --> Nos devuelve el días de la semana de la fecha seleccionada
FECHA-LINK ---> Dónde le enviamos la fecha para posicionar en el calendario o dónde nos devuelve la fecha seleccionada
LEFT-LINK y TOP-LINK ---> Posición en la que queremos que se habra la ventana

Y para hacer la llamada desde nuestro programa:

Código COBOL:
  1. INVOKE POW-SELF "CallForm" USING "F-DIA-S" "M-DIA-S".

Entorno: PWC9, aunque supongo en PWC7 funcionará perfectamente
Incluye: dll, ppj (proyecto completo), iconos e imágenes
Probado en: Win XP y Win7 32 y 64 sin problemas

Si alguien quiere mejorarlo, que por supuesto se puede, sólo pido que lo vuelva a compartir con las mejoras, y que se añada a los créditos, y no que los elimine o los cambie.

Un saludo.-

Juanes 5 de julio de 2016 05:07

Ejecutar Calendario
 
Josber por favor me ayuda, al compilar el programa del calendario, sale una ventana para buscar un ejecutable? y no viene ejecutable.Por favor me dice como ejecutarlo. Gracias

Kuk 5 de julio de 2016 08:18

Juanes, es un módulo DLL, es decir que cuando lo compiles, luego lo tienes que llamar con CallForm o OpenForm desde un programa tuyo que sí que es ejecutable.

Juanes 7 de julio de 2016 22:27

Hola Kuk, no logro ejecutarlo. La verdad nunca he hecho llamado a dll.

Hago lo indicado por Josber. Defino las variables externas en la working de un programa ejecutable, luego en otra ventana cree un boton y en el evento "click", hago la llamada :

Código COBOL:
  1. INVOKE POW-SELF "CallForm" USING "F-DIA-S" "M-DIA-S".

No marca error pero no abre NADA.

Tengo dos dudas :
1. En que directorio tengo que tener los .ppj, dll, imagenes etc.
2. y "F-DIA-S" ? es una dll? porque no la encuentro como dll, y la encuentro en D:\Calendar\M-DIA-S\Debug\ pero con otras extensiones.

Gracias por su ayuda.

Kuk 8 de julio de 2016 10:20

Juanes,
  1. Abres el proyecto de Josber, lo compilas y te va a generar una DLL (por ejemplo, Calendario.dll)
  2. Cierras el proyecto de Josber y abres el proyecto tuyo
  3. Dentro del evento Click del botón de tu proyecto, haces:
    Código COBOL:
    1.      INVOKE POW-SELF "CallForm" USING "NOMBRE_FORM_CALENDARIO" "Calendario.dll"
    En vez de Calendario.dll pon el nombre real de la DLL que genera el proyecto de Josber

Tienes que copiar la DLL de Josber al mismo directorio donde tengas tu ejecutable (y no el proyecto).

Juanes 8 de julio de 2016 18:20

Funcionó Perfecto.:mola:

totum 16 de septiembre de 2018 16:45

Disculpen mi ignorancia
 
No he conseguido la manera de poner a funcionar este calendario. Me he pasado a Win10 y esto con este problema


Cita:

Citación del post de Kuk (Mensaje 2143)
Juanes,
  1. Abres el proyecto de Josber, lo compilas y te va a generar una DLL (por ejemplo, Calendario.dll)
  2. Cierras el proyecto de Josber y abres el proyecto tuyo
  3. Dentro del evento Click del botón de tu proyecto, haces:
    Código COBOL:
    1.      INVOKE POW-SELF "CallForm" USING "NOMBRE_FORM_CALENDARIO" "Calendario.dll"
    En vez de Calendario.dll pon el nombre real de la DLL que genera el proyecto de Josber

Tienes que copiar la DLL de Josber al mismo directorio donde tengas tu ejecutable (y no el proyecto).



---------- Post añadido : 14:45 ---------- Post anterior : 14:42 ----------

Hola Juanes, no tengo manera de poner a funcionar este calendario, me he pasado a win10 y tengo este problema

Gracias de antemano

Cita:

Citación del post de Juanes (Mensaje 2146)
Funcionó Perfecto.:mola:


Josber 16 de septiembre de 2018 18:31

totum,

No sé o no veo donde explicas el problema que tienes, ¿puedes ser más específico?

Un saludo.-

fastpho 5 de agosto de 2022 14:58

Cita:

Citación del post de Josber (Mensaje 1857)
He hecho éste calendario que, aunque no tiene las mismas funciones que los ocx que hay por ahí, a mi me funciona perfectamente.

El manejo es muy sencillo, hay definidas 4 variables globales externas, que son:

Código COBOL:
  1.  01  DIA-SEM-LINK           PIC 9       IS GLOBAL EXTERNAL.
  2.  01  FECHA-LINK                         IS GLOBAL EXTERNAL.
  3.      03  D-LINK         PIC 99.
  4.      03  M-LINK         PIC 99.
  5.      03  A-LINK         PIC 9999.
  6.  *> Variables para posicionar la ventana
  7.  01  LEFT-LINK          PIC S9(9)   IS GLOBAL EXTERNAL COMP-5.
  8.  01  TOP-LINK           PIC S9(9)   IS GLOBAL EXTERNAL COMP-5.

DIA-SEM-LINK --> Nos devuelve el días de la semana de la fecha seleccionada
FECHA-LINK ---> Dónde le enviamos la fecha para posicionar en el calendario o dónde nos devuelve la fecha seleccionada
LEFT-LINK y TOP-LINK ---> Posición en la que queremos que se habra la ventana

Y para hacer la llamada desde nuestro programa:

Código COBOL:
  1. INVOKE POW-SELF "CallForm" USING "F-DIA-S" "M-DIA-S".

Entorno: PWC9, aunque supongo en PWC7 funcionará perfectamente
Incluye: dll, ppj (proyecto completo), iconos e imágenes
Probado en: Win XP y Win7 32 y 64 sin problemas

Si alguien quiere mejorarlo, que por supuesto se puede, sólo pido que lo vuelva a compartir con las mejoras, y que se añada a los créditos, y no que los elimine o los cambie.

Un saludo.-

Gracias @Josber he puesto una modificacion en este link : [Aporte] DLL Calendario 2022 de @Josber Actualizacion
Saludos


La franja horaria es GMT +2. Ahora son las 00:23.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.