MiniGUI

TPRINT(ctlibrary)
inicializa la clase y se indica a tprint() que libreria de impresion usar.
  • ctlibrary= "HBPRINTER", "MINIPRINT","DOSPRINT", "EXCELPRINT","RTFPRINT","CSVPRINT","HTMLPRINT","PDFPRINT"
    si no se especifica ningun valor se asume "MINIPRINT"
::init()
inicializa algunas variables necesarias para cada libreria
::selprinter(lselect,lpreview,llandscape,npapersize,cprinterx,nres,nWidth,nHeight)
Inicializa impresora
  • lselect= .T. muestra cuadro de dialogo para seleccionar impresora
  • lselect= .F. toma impresora por defecto
  • lpreview= .T. muestra preliminar antes de imprimir
  • lpreview= .F. no muestra preliminar
  • llandscape= .T. impresion horizontal
  • llanscape=.F. impresion vertical
  • npapersize = tamaño del papel segun standares del hbprinter
  • cprinterx = nombre de la impresora si se quiere hacer una impresion directa sin que sea la impresora por defecto o la seleccione por dialogo.
  • nres= Calidad de impresion
  • nWidth= Ancho de la pagina (solo HbPrinter y MiniPrint)
  • nHeight= Alto de la pagina (solo HbPrinter y MiniPrint)
::begindoc(cname)
Inicia el documento
  • cname= nombre del documento (si no se coloca asume por defecto el de la libreria de impresion.
::setpreviewsize()
setea el tamaño del preview para hbprinter , valores pueden ser 1 menor , 2 mas grande, 3 mas grande etc.. (no tiene efecto para las demas librerias)
::beginpage(nWidth,nHeight)
Empieza una pagina
  • nWidth= Ancho de la pagina (solo PDFPrint)
  • nHeight= Alto de la pagina (solo PDFPrint)
::setfont(cfont,nsize,acolor,lbold,litalic)
Establece la fuente y sus parametros por defecto
  • cfont= Nombre de la fuente
  • nsize= tamaño
  • acolor= color
  • lbold= negrita
  • litalic= inclinada
::printdata(nfila, ncolumna, datoaimprimir, ctipoletra, ntamañoletra, lbold, acolor, calineacion, nancho, nangulo, litalic)
imprime los datos
  • nfila= fila de impresion
  • ncolumna = columna de impresion
  • datoaimprimir= puede ser de cualquier tipo
  • ctipoletra = tipo de letra a usar, si no se especifica toma que la esta en curso que sera si no se ha especificado otra courier new.
  • ntamañoletra= tamaño de la letra en puntos
  • lbold = .T. negrita = .F. normal
  • acolor = arreglo RGB para darle un color al texto.
  • calineacion= alineacion del dato "L" izquierda "C" centro "R" derecha por defecto "L"
  • nancho= tamaño del campo, se debe utilizar cuando se quiere alinear al centro o a la derecha por defecto es 15.
  • nangulo= Angulo del texto (solo hbprint)
  • litalic= inclinada
::printimage(nfila,ncol,nfilaf,ncolf,cimagen)
Imprime una imagen
  • nfila = fila de impresion inicial
  • ncol = columna inicial
  • nfilaf = fila final
  • ncolf = columna final
  • cimagen = grafico a imprimir
::printline(nfila,ncol,nfilaf,ncolf,atcolor,ntwpen)
imprime una linea (desde hasta)
nota: si es DOS solo la imprime si la linea inicial es igual a la final
  • nfila = fila de impresion inicial
  • ncol = columna inicial
  • nfilaf = fila final
  • ncolf = columna final
  • atcolor = arreglo RGB del color a usar
  • ntwpen = ancho del pincel por defecto 1
::printrectangle(nfila,ncol,nfilaf,ncolf,atcolor,ntwpen,arcolor)
imprime un rectangulo
  • nfila = fila de impresion inicial
  • ncol = columna inicial
  • nfilaf = fila final
  • ncolf = columna final
  • atcolor = arreglo RGB del color a usar
  • ntwpen = ancho del pincel por defecto 1
  • arcolor= arreglo RGB del color a rellenar el rectangulo
::printroundrectangle(nfila,ncol,nfilaf,ncolf,atcolor,ntwpen)
imprime un rectangulo esquinas redondeadas
  • nfila = fila de impresion inicial
  • ncol = columna inicial
  • nfilaf = fila final
  • ncolf = columna final
  • atcolor = arreglo RGB del color a usar
  • ntwpen = ancho del pincel por defecto 1
::setcolor(atcolor)
setea el color en curso a un nuevo valor, el parametro sera un arreglo RGB.
::getdefprinter()
obtiene la impresora por defecto
::setunits(cunits,cunitslin)
se indica las unidades, por defecto usa ROWCOL aunque internamente todo se hace en MM para que sea mas exacto entre varias impresoras.
  • cunits= posibles valores "MM" "ROWCOL"
  • cunitslin= interlineado, milimetros entre linea y linea (para evitar los renglones en blanco en excel, rtf, html)
::endpage()
Finaliza una pagina
::enddoc()
Termina un documento
::release()
libera la clase
::version()
Devuelve la version de Tprint actual
::setlmargin()
Setea el margen izquierdo
::settmargin()
Setea el margen superior

Todos los parametros de todos los metodos son opcionales.


 

NOTA:
Si se desea utilizar una propiedad exclusiva de una libreria sin que nos de error
con el resto de librerias, se puede utilizar de la siguiente forma:

ejemplo asignar el largo y ancho de la hoja para MINIPRINT

IF ::cprintlibrary="MINIPRINT"
SELECT PRINTER DEFAULT ORIENTATION PRINTER_ORIENT_LANDSCAPE PAPERLENGTH 2970 PAPERWIDTH 2100 COPIES 5
ELSE
oprint:selprinter(.F. , .F. , .F. , , )
ENDIF

ejemplo utilizar la propiedad STRETCH de IMAGE en MINIPRINT

IF ::cprintlibrary="MINIPRINT"
@ 20,20 PRINT IMAGE FOTO3 WIDTH 150 HEIGHT 190 STRETCH
ELSE
oprint:printimage(20,20,150,190,FOTO3)
ENDIF

ejemplo utilizar la propiedad EXTEND de PICTURE en HBPRINT

IF ::cprintlibrary="HBPRINT"
@ 20,20 PICTURE FOTO3 SIZE 65,85 EXTEND 150,190
ELSE
oprint:printimage(20,20,150,190,FOTO3)
ENDIF