Cobol - impresoras windows

 
Vista:

impresoras windows

Publicado por josep (1 intervención) el 27/03/2007 17:31:18
necesito escojer impresoras desde programa sin utilizar el cuadro de dialogo que se abre con (printer?). supongo que con alguna rutina p$ esto es posible, pero no se como hacerlo.agradeceria cualquier sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Selección de impresora desde un programa sin cuadro de diálogo en AcuCOBOL

Publicado por Alejandro (299 intervenciones) el 07/09/2023 00:09:39
Para seleccionar una impresora desde un programa en AcuCOBOL sin utilizar el cuadro de diálogo `PRINTER?`, puedes utilizar las funciones proporcionadas por el sistema operativo o el entorno de desarrollo. Aquí tienes una guía general sobre cómo hacerlo:

1. Identificar impresoras disponibles: Primero, debes identificar las impresoras disponibles en el sistema. Puedes hacerlo utilizando comandos específicos del sistema operativo o llamando a funciones de sistema desde tu programa AcuCOBOL.

2. Elegir una impresora: Una vez que hayas identificado las impresoras disponibles, debes permitir que el usuario elija una de ellas. Esto puede hacerse mostrando una lista de impresoras y permitiendo al usuario seleccionar una opción.

3. Configurar la impresora: Después de que el usuario elija una impresora, debes configurarla para que sea la impresora predeterminada para la salida de tu programa. Esto también puede requerir llamadas al sistema operativo o funciones de configuración de impresora proporcionadas por tu entorno de desarrollo.

4. Imprimir: Finalmente, puedes imprimir el contenido deseado utilizando las funciones de impresión proporcionadas por AcuCOBOL.

Aquí hay un ejemplo de código en AcuCOBOL que podría ayudarte a seleccionar una impresora utilizando llamadas al sistema operativo. Ten en cuenta que el código puede variar según el sistema operativo y la configuración específica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
IDENTIFICATION DIVISION.
       PROGRAM-ID. PrinterSelection.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 PrinterChoice PIC X.
       01 PrintCommand  PIC X(100).
 
       SCREEN SECTION.
       01 MainMenu.
          05 BLANK SCREEN.
          05 CENTER 'SELECCIONAR IMPRESORA' LINE 3 COL 10.
          05 CENTER '1. Impresora 1' LINE 5 COL 10.
          05 CENTER '2. Impresora 2' LINE 6 COL 10.
          05 CENTER '3. Salir' LINE 7 COL 10.
          05 CENTER 'Elija una impresora (1/2/3): ' LINE 10 COL 10.
 
       PROCEDURE DIVISION.
       Main-Loop.
           DISPLAY MainMenu.
           ACCEPT PrinterChoice.
 
           EVALUATE PrinterChoice
               WHEN '1'
                   MOVE "lp1" TO PrintCommand
                   PERFORM Print
               WHEN '2'
                   MOVE "lp2" TO PrintCommand
                   PERFORM Print
               WHEN '3'
                   DISPLAY 'Saliendo del programa...'
                   EXIT PROGRAM
               WHEN OTHER
                   DISPLAY 'Impresora no válida. Intente de nuevo.'
           END-EVALUATE
           GO TO Main-Loop.
 
       Print.
           DISPLAY 'Imprimiendo en ' PrintCommand
           MOVE "echo 'Texto a imprimir' > " TO PrintCommand
           CALL "SYSTEM" USING PrintCommand
           DISPLAY 'Impresión completada.'

En este ejemplo, el programa permite al usuario seleccionar una impresora (1, 2 o 3) y luego utiliza comandos del sistema operativo (como `echo`) para enviar la salida a la impresora seleccionada.

Ten en cuenta que este es un ejemplo simplificado y que la implementación real puede variar según tu entorno y los comandos específicos del sistema operativo que desees utilizar. Además, debes asegurarte de tener los permisos adecuados para ejecutar comandos del sistema desde tu programa COBOL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar