PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Obtener los códigos de los formatos de papel de una impresora
Obtener los códigos de los formatos de papel de una impresora
Started by Susana Juárez, Jun., 16 2008 1:13 PM - No answer
Posted on June, 16 2008 - 1:13 PM
Buenas,

Vuelvo a enviaros la consulta porque en la que envié el viernes no se
entendía nada.

Nuestra aplicación incluye una ventana de configuración de impresión que
permite al usuario escoger impresora, formato de papel y los márgenes a
utilizar. Para cargar los formatos de papel (con sus correspondientes
códigos) de cada impesora utilizamos un procedimiento que un compañero
encontró hace mucho tiempo:

#DEFCONSTPCS-CODEDEB#

PROCEDURE FormatoPapel()

cI is int

TPAPER is array of 256 int

PAPER est un tableau de 256 chaînes ASCIIZ sur 64


vNbBac is int

Nbpaper is int


vNOMIMP est une chaîne ASCIIZ sur 32

vNOMPORT est une chaîne ASCIIZ sur 32

impre is string = IMPRESORA[IMPRESORA] //Combo con los nombres de las
impresoras

puerto is string = ExtractString(INILit("Devices",impre),2,",")

//Para obtener los códigos de los formatos de papel

Nbpaper = CallDLL32("winspool.drv","DeviceCapabilitiesA" ,
&impre,&puerto,2,&TPAPER, 0)

ListDeleteAll("CODPAPEL")

FOR cI = 1 TO Nbpaper

ListAdd("CODPAPEL",TPAPER[cI])

END

//Para obtener los formatos de papel de la impresosra

Nbpaper = CallDLL32("winspool.drv","DeviceCapabilitiesA" ,
&impre,&puerto,16,&PAPER, 0)

ListDeleteAll("PAPEL")

FOR cI = 1 TO Nbpaper

ListAdd("PAPEL",PAPER[cI])

END

#DEFCONSTPCS-CODEFIN#

Con WD5.5 funciona perfectamente, pero ahora que hemos migrado a WD11 los
códigos de formato de papel que nos devuelve son unos números enormes para
los primeros 93 formatos y cero para los siguientes. ¿Alguien sabe cómo
solucionar este problema u otra forma de obtener los códigos de los formatos
de papel?

Muchas gracias