He realizado una clase para imprimir directamente a impresoras matriciales (no he checado con otro tipo de impresoras), esto es, sin importar si son Paralelas, Seriales, USB, WIFI u otras, siempre y cuando estén instaladas en windows.
AQUI LA DESCARGA
Sin más preambulo, aquí un ejemplo de uso:
#include
FUNCTION main()
LOCAL oTck
LOCAL nRow := 1
oTck := TDirectPrint():new()
? oTck:cIncos, oTck:cCredits
oTck:nCopy := 1
oTck:say( nRow++, 10, "William morales" )
oTck:say( nRow++, 12, "Gladys sanchez" )
oTck:say( nRow++, 00, "" )
oTck:jump( 10 )
oTck:sendtoprinter()
? "Termino de imprimir"
RETURN NIL
En el archivo de descarga viene la LIB, EXE y el PRG de ejemplo.
Y aquí un desgloce de lo que hasta ahora contiene.
DATAS
cIncos.- Nombre y versión de la clase
cBuild.- Fecha de creación de la LIB
cCredits.- Créditos de autoría y tester
nRow.- Línea de impresión
nCol.- Columna de impresión
cPrinter.- Nombre de la impresora a enviar
cDocument.- Nombre del documento que aparece en el Spooler de windows
nCopy.- Número de copias del documento a imprimir
new( cPrinter ).- Inicialización de la clase y (opcional) pasar nombre de la impresora, si no se pasa, se tomará la que este predeterminada en el momento.
printerdefault().- Asigna la impresora default a cPrinter
setlpt( nLpt ).- Asigna a cPrinter la impresora que esté asignada al puerto indicado
jump( nJump ).- Salta n lineas
say( nRow, nCol, cText ).- Imprime en la línea, columna especificada el texto enviado
opencash( cPrinter, nCash ).- Abre un cajón de dinero, pasandole que impresora se usa. "epson", "star" y el número de cajón a abrir.
sendtoprinter().- Envía a la impresora
checkport( nPort ).- Checa si en el puerto LPT especificado hay impresora asignada
eject().- Aplica un salto de página
Distintos envíos de secuencias de ESC a la impresora.
beginprint().- Inicializa la impresora, por si se imprimió antes un grafico
endprint().- Finaliza la impresión
bold( lOnOff ).- Habilita o deshabilita negritas
condensed().- Habilita condensada
normal().- Habilita o coloca impresión a texto normal
expansive( lOnOff ).- Habilita o deshabilita letras grandes
superscript( lOnOff ).- Habilita o deshabilita superscript
subscript( lOnOff ).- Habilita o deshabilita subscript
underline( lOnOff ).- Habilita o deshabilita underline
Bueno, es solo el principio, se aceptan sugerencias, críticas, etc.
Desde luego, espero comentarios o adiciones para poder haciendola estable y mas potente.
Por mi no se detengan a comentar o usar, si necesitan algo específico hagamos los comentarios y evaluamos.
Saludos y realmente espero podamos ahora si, poder comentar o sugerir.
Sinceramente.
William Morales