Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Lenguajes de Programación y demás aspectos de TI Tecnologías de Información Hardware
Hardware Todo lo relacionado con el Hardware. Servidores, PC-s, Procesadores, RAM, Tarjetas etc.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Herramienta] Codigos de redundancia cliclica (CRC) BASA01 RM/COBOL 0 12 de abril de 2021 13:01
[Duda] Códigos de errores de RM/Cobol jmeza RM/COBOL 1 6 de mayo de 2017 16:56
[Componente] Mostrar codigos de barra en un form lfarias PowerCOBOL (ActiveX, v4 - v11) 1 14 de noviembre de 2016 12:34
Rutina impresión sticker con codigos de barras Gatomalo PowerCOBOL (ActiveX, v4 - v11) 7 19 de agosto de 2016 17:44
[Duda] Códigos de Error de PowerForm Josber PowerFORM 0 29 de junio de 2016 09:46

Respuesta

  #1
Antiguo 1 de mayo de 2017, 09:33
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Impresora Impresión códigos de escape por CMD
0 Inactivo Inactivo

Las impresoras nunca han sido mi punto fuerte. Hace unos días uno de mis clientes se cambió a Windows 7 x64 y le dejó de funcionar mi DLL compilada en NetExpress 3.1 que imprimía los tickets.

La imresión se hacía de manera clásica:

Código COBOL:
  1.  SELECT PRINT-FILE
  2.  ASSIGN TO PRINTER WS-PUERTO

No logré hacerlo funcionar, siempre me daba FS=9. Luego encontré este artículo de MF, según el cual el Run-Time de NetExpress inferior a la versión 5.1 daba este problema: Runtime error 9/013 when attempting to print to LPTn: where the physical printer port is mapped via a NET USE statement on Windows 7 - Enterprise Server Knowledge Base - Enterprise Server - Micro Focus Community

También en ese artículo dicen de utilizar las rutinas para imprimir vía Windows, pero yo nunca las he usado: Demo - The PC_PRINTER library routines - Net Express/Server Express Knowledge Base - Net Express / Server Express - Micro Focus Community


Así que para solucionar rápidamente el tema, lo que hice fue escribir en un fichero TXT y luego lanzar el comando siguiente en PowerCOBOL:

Código COBOL:
  1.          MOVE SPACES TO TICK-PRINT
  2.          
  3.          STRING "CMD /c Type Print.txt>" LNK-PORT
  4.              DELIMITED BY SIZE INTO TICK-PRINT
  5.          
  6.          INVOKE POW-SELF "Execute" USING TICK-PRINT POW-SWHIDE

Y funciona. El problema es que han dejado de funcionar los códigos de escape (apertura de cajón, y comandos de diferentes tamaños de letras).

¿A qué se debe esto, es por el tema de pasar por un TXT en vez de llamar directamente la impresora o se debe configurar la impresora de alguna forma particular?

Gracias de antemano por vuestras respuestas.


Dasije, Rapinto, Nitzer,



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
Kuk is offline   Responder Con Cita
  #2
Antiguo 1 de mayo de 2017, 14:12
Nitzer
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: Por Videoconferencia-Webinar Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por aportar conocimientos excepcionales 
Última Actividad 05.08.2026 17:33
Posts Posts: 200
Likes enviados Enviados: 70
Likes recibidos Recibidos: 157

Yo utilizaba el dosprinter, hasta donde recuerdo, con el podias hacer de todo.
Nitzer is offline   Responder Con Cita
  #3
Antiguo 2 de mayo de 2017, 00:08
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Kuk,

Tive esse problema e, se me recordo bem, tinha a ver com o ficheiro txt.
Não me recordo bem mas penso que tínhamos que utilizar o "LINE SEQUENTIAL" em vez
do SEQUENTIAL.
Um deles não aceita códigos escape.

Saludos,
Rui
Rapinto is offline   Responder Con Cita
  #4
Antiguo 8 de mayo de 2017, 21:08
Dasije
Forero Senior
Última Actividad 06.03.2022 17:04
Posts Posts: 173
Likes enviados Enviados: 1
Likes recibidos Recibidos: 79

Yo en NetCOBOL tengo realizado una rutina para impresión RAW, es el modo de que no filtra los códigos de escape en la impresión.

Es un ejecutable que pasas parametro del archivo de texto y el nombre de la impresora en Windows.



Empresa de desarrollo de aplicaciones en COBOL.

DASIJE INFORMATICA, S.L.
C/ TOMAS BRETON 20
11406 JEREZ DE LA FRONTERA
CADIZ

Teléfono : 956 11 21 11
Web: http://www.dasije.es / DASIJE INFORMATICA
E-m@il: clientes(@)dasije.es
Dasije is offline   Responder Con Cita
  #5
Antiguo 8 de mayo de 2017, 23:25
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Dasije, estoy intentando armar lo mismo pero en una DLL. Pero tengo problemas que aún no he resulto. Dependiendo del entorno de dónde lo hago (estoy mirando en C++, en NetExpress y directamente en PowerCOBOL) tengo diferentes problemas.

La DLL hecha en C++ me da GetLastError 87 que quiere decir "Parámetro incorrecto". Aunque lo hago según el ejemplo de MSDN, pasando en OpenPrinterA el último parámetro como NULL.

En Power OpenPrinterA pasa bien pero no sé por qué razón en WrtiePrinter me da GetLastError 6 (Handle incorrecto)...

¿Puedes compartir el código de tu programa?

Rapinto, lo escribo desde el principio como LINE-SECUENCIAL que es la opción por omisión.



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
Kuk is offline   Responder Con Cita
  #6
Antiguo 9 de mayo de 2017, 00:23
Dasije
Forero Senior
Última Actividad 06.03.2022 17:04
Posts Posts: 173
Likes enviados Enviados: 1
Likes recibidos Recibidos: 79

Código COBOL:
  1. @OPTIONS BINARY(BYTE)
  2.  IDENTIFICATION DIVISION.
  3.  PROGRAM-ID     PRINT-RAW.
  4.  AUTHOR.        Doug Brown.
  5.  INSTALLATION.  FUJITSU COBOL (GENERIC).
  6.  SECURITY.      COPYRIGHT (C) 1999 FUJITSU SOFTWARE CORPORATION.
  7. *
  8. * Program is passed a text file and printer name and prints the
  9. *  file to the printer. It is assumed that the text file may contain
  10. *  printer control characters and should be passed to the printer
  11. *  "as is" i.e. it is read as a sequential file and passed to the
  12. *  printer in blocks.
  13. * The program is designed to be invoked from the command line, or
  14. *  from the Windows CreateProcess function, so that it executes
  15. *  asynchronously.
  16. * Command line format is:
  17. *
  18. * FSC-SPOOL-FILE.EXE "Text file name" "Printer name"
  19. *
  20. * The quotes are only required if the text file or printer name
  21. *  includes spaces.
  22. *-----------------------------------------------------------------
  23.  ENVIRONMENT DIVISION.
  24.  CONFIGURATION SECTION.
  25.  SOURCE-COMPUTER. WINDOWS.
  26.  OBJECT-COMPUTER. WINDOWS.
  27.  SPECIAL-NAMES.
  28.      ARGUMENT-NUMBER IS ARGUMENT-NUMBER
  29.      ARGUMENT-VALUE  IS ARGUMENT-VALUE
  30.      SYMBOLIC CONSTANT
  31.  
  32.         *> Program Copyright Information
  33.         PROGRAM-NAME             IS "CBLEXEC"
  34.         PROGRAM-SOURCE-DATE      IS "April 5 1999"
  35.         PROGRAM-SERIAL-NUMBER    IS "DAB/FSC/000001"
  36.         PROGRAM-DESCRIPTION      IS
  37.         "Fujitsu COBOL Spool Print File"
  38.         PROGRAM-COPYRIGHT        IS
  39.         "Copyright (C) 1999 Fujitsu Software Corporation"
  40.         PROGRAM-AUTHOR           IS "Doug Brown"
  41.         PROGRAM-BUILD-TYPE       IS "PRODUCTION"
  42.         PROGRAM-CHARACTER-SET    IS "ASCII"
  43.         PROGRAM-CHARACTER-TYPE   IS "SBCS".
  44. *-----------------------------------------------------------------
  45.  INPUT-OUTPUT SECTION.
  46.  FILE-CONTROL.
  47.      SELECT Print-File ASSIGN TO Print-File-Name
  48.        ORGANIZATION SEQUENTIAL
  49.        FILE STATUS IS Print-File-Status
  50.      .
  51.  DATA DIVISION.
  52.  
  53.  FILE SECTION.
  54.  
  55.  FD Print-File.
  56.  01 Print-Record        PIC X(16384).
  57.  
  58.  WORKING-STORAGE SECTION.
  59.  
  60. * Note: Ensure that Print-Buffer is always the same size
  61. *  as Print-Record
  62.  01 Print-Buffer        PIC X(16384).
  63.  
  64.  01 Print-File-Name PIC X(255) VALUE SPACES.
  65.  
  66.  01 Print-File-Status   PIC X(2).
  67.  
  68.  01 Record-Bytes        PIC 9(9) COMP-5.
  69.  
  70.  01 Bytes-Written       PIC 9(9) COMP-5.
  71.  
  72.  01 Printer-Name          PIC X(255) VALUE SPACES.
  73.  
  74.  01 Printer-Handle  PIC 9(9) COMP-5.
  75.  
  76.  01 Return-Value        PIC S9(9) COMP-5.
  77.  
  78.  01 Doc-Info.
  79.     03 pDocName    USAGE POINTER.
  80.     03 pOutputFile USAGE POINTER VALUE NULL.
  81.     03 pDatatype   USAGE POINTER.
  82.  
  83.  01 Datatype.
  84.    03 PIC X(3) VALUE "RAW".
  85.    03 PIC X    VALUE X"00".
  86.  
  87.  01 Number-of-Arguments   PIC 9(2) COMP-5.
  88.  
  89.  01 End-of-File-Flag    PIC 9 VALUE ZERO.
  90.  88 END-OF-FILE VALUE 1.
  91.  
  92.  01 Offset      PIC 9(5) COMP-5.
  93.  
  94.  01 PRINTER-d.                                            
  95.           05 pDatatyp pic x(4) value low-value.                                            
  96.           05 pDevMod  pic x(4) value low-value.                                            
  97.           05 DesiredAccess pic s9(9) comp-5 value 8.
  98. *------------------------------------------------------------------
  99.  PROCEDURE DIVISION.
  100.  
  101.       ACCEPT Number-of-Arguments FROM ARGUMENT-NUMBER
  102. *     DISPLAY Number-of-Arguments
  103.  
  104.       IF Number-of-Arguments NOT = 2
  105. * <<Check what action is appropriate to notify user of an error>>
  106.          DISPLAY "Argumentos incorrectos"
  107.          EXIT PROGRAM
  108.       END-IF
  109.  
  110.       ACCEPT Print-File-Name FROM ARGUMENT-VALUE
  111.       ACCEPT Printer-Name FROM ARGUMENT-VALUE
  112. * Find end of printer name and place a null byte to terminate
  113. *  the string.
  114.       MOVE FUNCTION LENG (Printer-Name) TO Offset
  115.       PERFORM UNTIL Printer-Name (Offset:1) NOT = SPACE
  116.         SUBTRACT 1 FROM Offset
  117.       END-PERFORM
  118.       ADD 1 TO Offset
  119.       MOVE X"00" TO Printer-Name (Offset:1)
  120.  
  121. * Set up the Doc-Info structure for use with the StartDocPrinter
  122. *  function.
  123.       MOVE FUNCTION ADDR (Print-File-Name) TO pDocName
  124.       MOVE FUNCTION ADDR (Datatype)        TO pDatatype  
  125.  
  126. * Open the printer.
  127. *  <<Insert explanation as to why some functions are called with the
  128. *   "A" appended and others are not.>>
  129.       CALL "OpenPrinterA" WITH STDCALL
  130.           USING BY REFERENCE Printer-Name
  131.                 BY REFERENCE Printer-Handle
  132.                 BY VALUE     0
  133.           RETURNING Return-Value.
  134.  
  135.       IF Return-Value = 0
  136.         DISPLAY "Error en la apertura de la impresora"
  137.         EXIT PROGRAM
  138.       END-IF
  139.    
  140.       CALL "StartDocPrinterA" WITH STDCALL
  141.           USING BY VALUE     Printer-Handle
  142.                 BY VALUE     1
  143.                 BY REFERENCE Doc-Info
  144.           RETURNING Return-Value
  145.       IF Return-Value = 0
  146.         DISPLAY "Problema de iniciar el documento a imprimir"
  147.         EXIT PROGRAM
  148.       END-IF
  149.  
  150.       CALL "StartPagePrinter" WITH STDCALL
  151.           USING BY VALUE Printer-Handle
  152.           RETURNING Return-Value
  153.       IF Return-Value = 0
  154.         DISPLAY "Problema iniciar página de impresión"
  155.         EXIT PROGRAM
  156.       END-IF
  157.  
  158.       OPEN INPUT Print-File
  159.       IF Print-File-Status NOT = "00"
  160.         DISPLAY "No se puede abrir el archivo de impresión"
  161.         EXIT PROGRAM
  162.       END-IF
  163.  
  164. *     Ensure Print-Record area is initialized to nulls
  165.       MOVE LOW-VALUES TO Print-Record
  166.  
  167.       MOVE FUNCTION LENG (Print-Buffer) TO Record-Bytes
  168. *     Read ahead so that last record can be detected
  169.       READ Print-File
  170.         AT END
  171.           DISPLAY "No hay datos para imprimir en el fichero"
  172.           EXIT PROGRAM
  173.       END-READ
  174.       IF Print-File-Status NOT = "00"
  175.          DISPLAY "Error lectura archivo de impresión (1): " Print-File-Status
  176.          EXIT PROGRAM
  177.       END-IF
  178. *     Move record to buffer so that Print-Record is available for
  179. *      the next read
  180.       MOVE Print-Record TO Print-Buffer
  181.  
  182.       PERFORM UNTIL END-OF-FILE
  183. *        Set Print-Record to LOW-VALUES before reading
  184.          MOVE LOW-VALUES TO Print-Record
  185.          READ Print-File
  186.            AT END
  187. *            Last read had the last record, so find last non-null
  188. *             byte in record (only want to pass the data in the file
  189. *             not the padding nulls at the end of the buffer)
  190.              SET END-OF-FILE TO TRUE
  191.              MOVE FUNCTION LENG (Print-Buffer) TO Offset
  192.              PERFORM UNTIL Print-Buffer (Offset:1) NOT = X"00"
  193.                SUBTRACT 1 FROM Offset
  194.              END-PERFORM
  195.              MOVE Offset TO Record-Bytes
  196.          END-READ
  197.          IF Print-File-Status = "00"
  198.                OR
  199.             Print-File-Status = "10" *> At end status
  200.            CALL "WritePrinter" WITH STDCALL
  201.              USING BY VALUE     Printer-Handle
  202.                    BY REFERENCE Print-Buffer
  203.                    BY VALUE     Record-Bytes
  204.                    BY REFERENCE Bytes-Written
  205.              RETURNING Return-Value
  206.            IF Return-Value = 0
  207.              DISPLAY "Error imprimir en la impresora"
  208.              SET END-OF-FILE TO TRUE
  209.            END-IF
  210.          ELSE
  211.            DISPLAY "Error lectura archivo de impresión (2): " Print-File-Status
  212.            SET END-OF-FILE TO TRUE
  213.          END-IF
  214.          IF NOT END-OF-FILE
  215. *          Set up next record to print
  216.            MOVE Print-Record TO Print-Buffer
  217.          END-IF
  218.       END-PERFORM
  219.  
  220.       CLOSE Print-File
  221.  
  222.       CALL "EndPagePrinter" WITH STDCALL
  223.           USING BY VALUE Printer-Handle
  224.           RETURNING Return-Value
  225.                
  226.       CALL "EndDocPrinter" WITH STDCALL
  227.           USING BY VALUE Printer-Handle
  228.           RETURNING Return-Value
  229.                
  230.       CALL "ClosePrinter" WITH STDCALL
  231.           USING BY VALUE Printer-Handle
  232.           RETURNING Return-Value
  233.  
  234.       STOP RUN.



Empresa de desarrollo de aplicaciones en COBOL.

DASIJE INFORMATICA, S.L.
C/ TOMAS BRETON 20
11406 JEREZ DE LA FRONTERA
CADIZ

Teléfono : 956 11 21 11
Web: http://www.dasije.es / DASIJE INFORMATICA
E-m@il: clientes(@)dasije.es
Dasije is offline   Responder Con Cita
  #7
Antiguo 9 de mayo de 2017, 00:25
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Kuk, yo lo trabajo de la siguiente manera y funciona en cualquier entorno:
Código COBOL:
  1.     SELECT IMPRE
  2.             ASSIGN TO FPRINT
  3.             ORGANIZATION IS  LINE SEQUENTIAL            
  4.             FILE STATUS IS IMP-STAT.
  5.  
  6.  
  7. * ============================================================
  8. * REG-IMPRESOR .
  9. * ============================================================
  10.  FD  IMPRE IS GLOBAL.
  11.  01  REG-IMPRE                   PIC X(40).
  12.  01  REG-IMPRE-1                 PIC X(40).
  13.  
  14.  WORKING-STORAGE SECTION.
  15.  01  DATA00            PIC X(40)   VALUE SPACES.
  16. * Define the work area for getting the current time.
  17.  01  LINEA-4.
  18.      03 FILLER         PIC X(6) VALUE "Fecha:".
  19.      03 L4-DD          PIC 99.
  20.      03 FILLER         PIC X VALUE "-".
  21.      03 L4-MM          PIC 99.
  22.      03 FILLER         PIC X VALUE "-".
  23.      03 L4-SG          PIC 99.
  24.      03 L4-AA          PIC 99.
  25.      03 FILLER         PIC X(8) VALUE SPACES.
  26.      03 FILLER         PIC X(6)  VALUE "Hora :".
  27.      03 L4-H           PIC 99.
  28.      03 FILLER         PIC X    VALUE ":".
  29.      03 L4-M           PIC 99.
  30.  01  LINEA-5.
  31.      03 FILLER         PIC X(2)   VALUE SPACES.
  32.      03 FILLER         PIC X(20)  VALUE "COMPROBANTE INTERNO".
  33.  01  LINEA-5-1.
  34.      03 FILLER         PIC X(2)   VALUE SPACES.
  35.      03 FILLER         PIC X(22)  VALUE "NO VALIDO COMO TICKET".
  36.      
  37.  01  LINEA-6.
  38.      03 FILLER         PIC X(7)  VALUE "Caja :".
  39.      03 L6-NRO-POS     PIC 9(3).
  40.      03 FILLER         PIC X(2)  VALUE SPACES.
  41.      03 FILLER         PIC X(8)  VALUE "T/F:".
  42.      03 L6-NRO-DOC     PIC 999999.
  43.      03 FILLER         PIC X(3)  VALUE SPACES.
  44.      03 FILLER         PIC X(4)  VALUE "V :".
  45.      03 L6-NROVDR      PIC 9(03).
  46.  01  LINEA-10-1.
  47.      03 FILLER         PIC X(40)  VALUE "Codigo   Descripcion      Precio".
  48.  
  49. * CORTA TICKET EN COMANDERA <ESC> "i"
  50.  01 M-3 IS GLOBAL.
  51.     03 M-3-1        PIC X VALUE  X"1B".
  52.     03 M-3-2        PIC X VALUE  X"69".
  53. * esc p m t1 t2 abre cajon m: 0 o 1 t1 t2 segundos
  54.  01 M-4 IS GLOBAL.    
  55.     03 M-4-1        PIC X VALUE  X"1B".
  56.     03 M-4-2        PIC X VALUE  X"70".
  57.     03 FILLER       PIC X(3) VALUE  "011".    
  58.  PROCEDURE       DIVISION.
  59.  DISP-REC SECTION.
  60.      MOVE "LPTTIC" TO FPRINT.
  61.      OPEN OUTPUT IMPRE.     MOVE ZEROS TO W-ROW.
  62.      MOVE FUNCTION CURRENT-DATE TO LINEA-FECHA-AUX.     MOVE L1-D TO L4-DD. MOVE L1-M TO L4-MM. MOVE L1-A TO L4-AA. MOVE L1-S TO L4-SG.
  63.      ACCEPT CURR-TIME FROM TIME.     MOVE CURR-HH TO L4-H.      MOVE CURR-MM TO L4-M.
  64.      
  65.  IMPRIME-CABECERA.
  66.  
  67.      MOVE SPACES TO DATA00.     MOVE DATA00 TO REG-IMPRE.     WRITE REG-IMPRE.
  68.  
  69.      MOVE LINEA-5   TO DATA00.     MOVE DATA00 TO REG-IMPRE.     WRITE REG-IMPRE.
  70.  
  71.      MOVE LINEA-5-1 TO DATA00.     MOVE DATA00 TO REG-IMPRE.     WRITE REG-IMPRE.
  72.      
  73.      MOVE SPACES TO DATA00.     MOVE DATA00 TO REG-IMPRE.     WRITE REG-IMPRE.
  74.  
  75. *CORTAL PAPEL
  76.      MOVE M-3 TO REG-IMPRE.     WRITE REG-IMPRE.    
  77. *ABRE CAJON.
  78.      MOVE M-4 TO REG-IMPRE.     WRITE REG-IMPRE.    
  79.          
  80. *//////////////////////////////////////////////////////////
  81.      CLOSE IMPRE.      
  82.      INVOKE POW-SELF "Execute" USING "IMPRIME.BAT" POW-SWHIDE.
  83.  
  84. El bat lo que es hacer un copy sobre el puerto serie (com1,com2)
  85.  
  86. copy lpttic com1:
  87.  
  88. La impresora declarada en windows debe ser generic solo texto
fastpho is offline   Responder Con Cita
  #8
Antiguo 9 de mayo de 2017, 08:58
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Dasije, ¿puedes pasarme las LIB-s también o usas el fichero COBOL85.CBR con OpenPrinterA=winspool.drv etc?

fastpho, actualmente estoy haciendo algo parecido pero no me funciona con los códigos de escape.



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
Kuk is offline   Responder Con Cita
  #9
Antiguo 9 de mayo de 2017, 14:41
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Kuk te subo un ejemplo completo esta echo cobol97 a ver si te sirve
Archivos Adjuntos
Tipo de Archivo: rar EscapeSequences.rar (55,8 KB)Descargas: 139
fastpho is offline   Responder Con Cita
  #10
Antiguo 10 de mayo de 2017, 16:48
Dasije
Forero Senior
Última Actividad 06.03.2022 17:04
Posts Posts: 173
Likes enviados Enviados: 1
Likes recibidos Recibidos: 79

En el rar que te ha pasado fastpho incluye la LIB.

Igualmente es la misma rutina que yo uso, solo que yo he separado y traducido lo que realmente me interesaba.

Saludos.



Empresa de desarrollo de aplicaciones en COBOL.

DASIJE INFORMATICA, S.L.
C/ TOMAS BRETON 20
11406 JEREZ DE LA FRONTERA
CADIZ

Teléfono : 956 11 21 11
Web: http://www.dasije.es / DASIJE INFORMATICA
E-m@il: clientes(@)dasije.es
Dasije is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:23.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.