Nueva TdosPrn con Preview (tRichedit)

User avatar
ralph
Posts: 63
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Nueva TdosPrn con Preview (tRichedit)

Post by ralph »

Estimados amigos del foro:

Para los interesados (como yo) en seguir usando la clase TdosPrn modificada por Ednaldo Rolim que nos da la opcion de previsualizar los reportes he hecho una modificacion para que el Preview lo haga usando la clase Richedit (FWH 2.7 en adelante). Con esto se elimina un problema que habia en 32 bits que hacia desaparecer el reporte cuando se desplazaba hacia la derecha.

Si alguien quiere ayudar a mejorar esta clase es bienvenido (el metodo TxtToRTF() esta todavia incompleto). Por ahora solo reconoce 2 tamaños de fuentes el modo "normal" y "comprimido" (que para mi es suficiente), pero no puedo mezclar (aun) distintos tamaños de font en la misma linea.

Se puede hacer zoom con doble click o con el boton en la barra superior.

Pueden descargar los fuentes y un ejemplo desde www.solupymes.com/fwin/testprev.zip

Saludos

Ralph del Castillo
User avatar
miragerr
Posts: 140
Joined: Tue Oct 11, 2005 2:36 am
Location: Brasil

Post by miragerr »

Ola amigo

Muito boa a sua contribuição

Funcionou muito BACANA MESMO
Jackson Douglas C. Brito
Boa Vista - RR - Brasil
FWH 12.09 Last Build
xHarbour Free
UESTUDIO
SQLRDD
AOKISANTOS
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Post by AOKISANTOS »

gracias!
FWH25+XHARBOUR 99.50
Wanderson
Posts: 332
Joined: Thu Nov 17, 2005 9:11 pm

Post by Wanderson »

Gracias Ralph
No se puede imprimir en una impressora de rede? sem usar NET use?
User avatar
ralph
Posts: 63
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Post by ralph »

Yo imprimo sin problemas en impresoras en red, sin hacer NET USE

La impresion es en modo grafico, por lo que no hay limitacion en la impresion.

Ralph
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Nueva TdosPrn con Preview (tRichedit)

Post by surGom »

Bajé y utlizé esta nueva versión, me genera bien el preview, pero no puedo avanzar hoja por hoja en el mismo, si selecciono en la hoja a imprimir ahí sí se refresca y me lo imprime perfectamente. Otro problema que me genera es que no me respeta los margenes, por ejemplo:

oPrn:Saycmp(nrow,72,transform(iif(aVariable[z,12] # "C",aVariable[z,10],-aVariable[z,10]),"@ze) 9,999,999.99")) //importe

cuando imprimo el total:

oPrn:Saycmp(nrow,72,transform(ttotal ,"@e) 9,999,999.99"))

lo hace en otro lado y no en el indicado, en el listado la letra sale muy comprimida.

Estoy utilizando fwh2.6 y xharbour 0.99.61

Si uso la clase txtpreview anterior a la modificación me muestra todo correctamente pero no imprime.

En fivewin para clipper lo hace correctamente.

Me es necesaria esta clase por que la utilizamos para imprimir los listados de iva que son muy extensos.

Gracias por su atención
surGom
Posts: 624
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Nueva TdosPrn con Preview (tRichedit)

Post by surGom »

El ejemplo funciona perfectamente, no sé en la impresión pero en lo demas expuesto si.

Gracias nuevamente
AOKISANTOS
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Post by AOKISANTOS »

Ralph, utilizando a classe txtpreview me ocorre o seguinte erro :


SetMTxtPreview( .f., 5, 2, .f., .t. )

cFile := "TEST.PRN"
cPorta := "LPT1"

oPrn:= TDosPrn():New( cFile )

oPrn:StartPage()
nlin:=1
for nCont := 1 to 10
oPrn:Say( ++nLin, 00, "teste de impressao" )
oPrn:Say( ++nLin, 00, "Resumo de Mesas " )
next
oPrn:EndPage()
oPrn:End()
TxtPreview( cFile, "titulo", .t. , , ,,, , .t. ) <----- OK

TxtPreview( cFile, "titulo", .t. , , ,oPrn,, , .t. ) <----- ERROR



Error:

Application
===========
Path and name: C:\BASE\sgs.exe (32 bits)
Size: 3,805,696 bytes
Time from start: 0 hours 0 mins 4 secs
Error occurred at: 11/09/2007, 15:38:06
Error description: Error BASE/1005 Message not found: TDOSPRN:_CNEGON

Stack Calls
===========
Called from: => TDOSPRN:ERROR(175)
Called from: tobject.prg => (b)HBOBJECT:HBOBJECT(105)
Called from: => TDOSPRN:MSGNOTFOUND(0)
Called from: TDOSPRN.PRG => TDOSPRN:_CNEGON(167)
Called from: => VAMOS(449)
Called from: sgs.PRG => (b)PREPARAMENU(412)
Called from: MENU.PRG => TMENU:COMMAND(0)
Called from: window.prg => TWINDOW:COMMAND(934)
Called from: MDIFRAME.PRG => TMDIFRAME:COMMAND(0)
Called from: window.prg => TMDIFRAME:HANDLEEVENT(0)
Called from: window.prg => _FWH(3165)
Called from: => WINRUN(0)
Called from: window.prg => TMDIFRAME:ACTIVATE(883)
Called from: sgs.PRG => MAIN(278)
_________________
FWH25+XHARBOUR 99.50
FWH25+XHARBOUR 99.50
User avatar
ralph
Posts: 63
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Post by ralph »

parece que no estas usando la clase Tdosprn que viene en el ejemplo, verifica.

Ralph
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Post by ruben Dario »

ralph wrote:parece que no estas usando la clase Tdosprn que viene en el ejemplo, verifica.

Ralph
Cuando genero la impreion me genera el siguiente error.

CLASS:"NUMERIC" has no Exported method;
SAYBITMAP
Error BAse 1004/Class: Numeric has no Exported method SAYBITMAP

De todas maneras el reporte lo genera




Como se podria corregir este error o me falta algun Instructivo
User avatar
ralph
Posts: 63
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Post by ralph »

ese metodo SayBitmap() es de la clase tPrinter, verifica que estes linkeando con una version actualizada.

Saludos

Ralph
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Post by ruben Dario »

ralph wrote:ese metodo SayBitmap() es de la clase tPrinter, verifica que estes linkeando con una version actualizada.

Saludos

Ralph
Agrege a mi proyecto el archivo report.prg y printer.prg y me sigue generando el error,
Lo curioso es que vuelvo a compilar tu ejemplo y no pasa esto, es solo cuando lo agreso a mi proyecto
La clase a que tu te refieres estan el el archivo clases el archivo se llama printer.prg este lo agrege al proyecto.
User avatar
ralph
Posts: 63
Joined: Fri Nov 18, 2005 11:15 pm
Location: Lima - PERU

Post by ralph »

en alguna parte de tu codigo usas la funcion saybitmap(), o quizas estas imprimiendo alguna imagen. Verifica o envianos un ejemplo de tu programa para analizarlo.

Saludos

Ralph
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Post by ruben Dario »

ralph wrote:en alguna parte de tu codigo usas la funcion saybitmap(), o quizas estas imprimiendo alguna imagen. Verifica o envianos un ejemplo de tu programa para analizarlo.

Saludos

Ralph
Gracias por tu ayuda, ya quedo solucionado el problema, si tenia definida esta funcion.

Gracias
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Post by ruben Dario »

ruben Dario wrote:
ralph wrote:en alguna parte de tu codigo usas la funcion saybitmap(), o quizas estas imprimiendo alguna imagen. Verifica o envianos un ejemplo de tu programa para analizarlo.

Saludos

Ralph
Gracias por tu ayuda, ya quedo solucionado el problema, si tenia definida esta funcion.

Gracias
En conclusion, esta funcion es equivalente a clipper cuando imprimo de esta manera.
@ fila,col say variable pict "999"

etc.
Post Reply