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