|
Forero Junior
![]()
|
Quick Start to Server side COM and Python
ayuda para generar un servidor com para utiliza como interface en powercobol |
||||||||
|
|
|
|
Forero Junior
![]()
|
Por si ayuda en algo, te paso un script, que llamado de powercobol, devuelve el resultado de una operacion aritmetica utilizando ROUND_HALF_EVEN para el resultado, y otra que llama y ejecuta un link web, nada que extraordinario pero que te facilitara ver la mecanica de llamadas y respuestas via COM, tenia mas funciones que entregaban diferentes resultados, pero para mejor analisis las exclui y veas que no es dificil interacturar desde powercobol.
Código PYTHON:
desde POWERCOBOL Código COBOL:
Código COBOL:
Espero que te sea util la información, no hay mucho en la web que nos pueda ayudar. Suerte. |
||||||||
|
|
|
|
Administrador
![]()
|
Muy interesante tu aportación. Según entiendo, hay que ejecutar primero el código Python que llama al Registro de Windows para agregar la referencia a las funciones definidas en el mismo. Luego vía COM, PowerCOBOL puede acceder a estas funciones puesto que existen declaradas en el Registro de Windows. ¿Es así? NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||||
|
|
|
|
Forero Junior
![]()
|
Es correcto el analisis. Desde Cobol es muy simple pasa datos y la funcion en python la ejecuta y devuelve los resultados. Todo lo que se te ocurra que puedas llegar a utilizar a traves de un script python se puede ejecutar desde nuestro lenguaje y ademas si lo convertimos a exe o dll, se registra una vez cuando se instala la app y luego solo solo se llama desde nuestra app. Actua como interface entre ambos lenguajes y nos exime de utilizar archivos de texto para comunicar entre ambos lenguajes. Lo tengo implementado en diversas necesidades para cubrir algunas funciones que no puedo hacer en cobol y es genial ya que esto amplia las posibilidades de no quedarnos estancados en el tiempo. Como siempre digo, la imaginacion es el limite!!! saludos cordiales |
|||||||||
|
|
|
|
Creador de
PowerRustCOBOL ![]()
|
Adjunto un video del código que creé para que GNU Cobol ejecute Python, pasando datos de un informe Cobol al LLM y permitiendo hacer preguntas sobre el contenido.
El video () muestra el código en funcionamiento. Todavía estoy evaluando el rendimiento de LLaMa 3 ejecutándose localmente. Mi equipo es un MacBook Pro M3, así que el rendimiento en una estación Windows típica (8 núcleos, 8 GB de RAM) probablemente será deficiente. Otra posibilidad real es usar un servicio en la nube como Amazon Bedrock. De esta forma, tendríamos acceso a decenas de Foundation Models (FM), con un rendimiento enorme y aptos para producción. El punto es que, usando solo prompt engineering básico, es posible lograr cosas extraordinarias. En el caso del ejemplo del video, estoy pasando un informe generado por un programa COBOL y el LLM interpreta los datos y genera respuestas sobre los mismos, por ejemplo: (Esta vez cambié el prompt para forzar las respuestas en español.) Código:
--------------------------------------------------------------------------------------------- How can I help you? Muéstre los 10 clientes más grandes, listando nombre y ventas hasta la fecha actual. ¡Claro! Aquí te presento los 10 mayores clientes según el informe: 1. **CORAL2INDIA FINANCE** con ventas de **57,481.45** 2. **TATA CONSUMER CO.** con ventas de **57,481.45** 3. **CORAL1INDIA FINANCE.** con ventas de **47,481.45** 4. **SENTIALS LOCAL PVT** con ventas de **37,481.45** 5. **ZINTEC PRVIATE LTD** con ventas de **27,481.45** 6. **TATA COFFEE PRIVATE.** con ventas de **27,483.45** 7. **INFO MANGEMENT CO.** con ventas de **17,481.45** 8. **COAL INDIA PVT LTD** con ventas de **17,481.45** 9. **GENERAL SERVICES CO.** con ventas de **11,444.00** 10. **DAUPHIN DEPOSIT BANK** con ventas de **14,099.00** Espero que esto te ayude. ¡Si necesitas algo más, no dudes en preguntar! --------------------------------------------------------------------------------------------- |
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
✅ *Interpolaridad de Python con PowerCobol*
ℹEjemplo de geolocalizacion usando la api de Nominatim para procesar enviando direccion para obtener los datos y genera un archivo .csv Gracias a @@Jorgeanna, Código COBOL:
Código PYTHON:
|
||||||||
|
|
|
|
Forero Junior
![]()
|
Muy bueno, felicitaciones por implementar algo que en el futuro le encontraras multiples uso.
Ajusta el siguiente setup.py a tus necesidades, descarga python 2.7 e instala py2exe, deberas correr: python setup.py py2exe esto te generara una carpeta dist y en ella vas a encontrar su script xxxx.exe y xxx.dll, te recomiendo por rapidez trabajar con los dll y llamar al mismo como cualquier otra llamada a un objeto com. Te digo descargues y pruebes con python 2.7 porque el setup.py que te paso esta para py2exe y se complica bastante, por lo menos a mi, ejecutarlo en veriones de la 3.11 en adelante. Con perseverancia y trabajo todo se logra, adelante!!!. script: setup.ini Se puede convertir el ejemplo que puse anteriormente y utilizarlo desde powercobol Código:
# Created on 02/2021
# @author: fastpho
from distutils.core import setup
import py2exe
import sys
sys.argv.append('py2exe')
sys.path.append('C:\\WINDOWS\\WinSxS\\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2')
#Fuente: https://www.iteramos.com/pregunta/27...-un-ejecutable
setup(
# Nombre de la Clase
name = "MODULOSCOM",
# nombre del script
com_server = ["ModulosCOM"],
)
|
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
Hola @Jorgeanna , el problema que tuve no fue con python en desarrollo
por que me corria perfectamente tengo varias implementaciones que hice en python , estoy usando la version 3.13 de 64 bits , perdi mucho tiempo para poder compilarlo a .exe y poder correrlo sin el ide de python , logre despues de renegar tanto y perder mucho tiempopor que no hay mucha informacion , inclusive las ia tampoco fueron de gran ayuda , finalmente con pyinstaller logra hacerlo funcionar a .exe Todavia tengo que aprender ... , pero la idea es seguir estudiando python , y poder resolver algunos temas que son muy sencillos , con un par de api's o librerias resolverlo. Muchas gracias nuevamente por tu aporte ![]() Saludos.... |
||||||||
|
|
|
![]() |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||