Alguien tiene clase "TRepDos"

Post Reply
User avatar
ruben Dario
Posts: 1079
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Alguien tiene clase "TRepDos"

Post by ruben Dario »

Saludos al Forum
Alguien Tiene la Clase "TRepDos",

Gracias
Ruben Dario Gonzalez
Cali-Colombia
[email protected] - [email protected]
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Alguien tiene clase "TRepDos"

Post by karinha »

Pieza a Carlos Sincuir;

http://fivetechsupport.com/forums/viewtopic.php?f=6&t=3558&start=0

El link no funciona.

Porque necesitas de RepDos?

saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
MauroArevalo
Posts: 111
Joined: Thu Jan 19, 2006 11:47 pm
Location: Bogota DC. Colombia
Contact:

Re: Alguien tiene clase "TRepDos"

Post by MauroArevalo »

Ruben:

Enviado a su correo.

Imagen de la clase:

Image
Edgar Mauricio Arévalo Mogollón.
Bogotá DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programación....
jbrita
Posts: 539
Joined: Mon Jan 16, 2006 3:42 pm

Re: Alguien tiene clase "TRepDos"

Post by jbrita »

Mauro me la podrias enviar por favor

[email protected]

saludos
User avatar
MauroArevalo
Posts: 111
Joined: Thu Jan 19, 2006 11:47 pm
Location: Bogota DC. Colombia
Contact:

Re: Alguien tiene clase "TRepDos"

Post by MauroArevalo »

Para al que le interese dejo este link donde se puede descargar:

http://www.hymplus.com/descargas/Trepdos.zip
Edgar Mauricio Arévalo Mogollón.
Bogotá DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programación....
csincuir
Posts: 483
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Contact:

Re: Alguien tiene clase "TRepDos"

Post by csincuir »

Gracias Mauro, por colocar el link.
Yo no encontraba el ejemplo que tenia de la clase.

Por si alguno esta interesado, tengo otra clase parecida a la TRepDos, solo que es para Excel, "TRepXls", con la que hago reportes del tipo columnas (igual que la TReport), y hasta logre hacer ya una opción de crear agrupaciones (GROUP), de un solo nivel.

Si les interesa, preparo el ejemplo y la clase y la coloco para que la puedan probar, y de repente agregarle mas funcionalidades.

Saludos cordiales,

Carlos.
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Alguien tiene clase "TRepDos"

Post by karinha »

Acá también tiene otro ejemplo:

http://www.pctoledo.com.br/forum/viewtopic.php?f=43&t=15674

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
jbrita
Posts: 539
Joined: Mon Jan 16, 2006 3:42 pm

Re: Alguien tiene clase "TRepDos"

Post by jbrita »

amigo en mis cositas encontre esto:

Code: Select all | Expand

#include "FiveWin.ch"

FUNCTION Main()
	LOCAL oPen
	PUBLIC oImp, aoFont[4], aAnchop[4]
	SET DATE TO FRENCH
	DEFINE PEN oPen WIDTH 5
	IniImp(21.5, 27.9, 72, 90, "CompraVenta de Hacienda", .t., .t., .f., 1 )
        PAGE
            PrnBox (22, 7,28,89,oPen)

    PrnLine(30, 7,30,89,oPen)
        PrnLine(33, 7,33,89,oPen)
        prnLine(43, 7,43,89,oPen)

        PrnLine(45, 7,45,32,oPen)
        PrnLine(51, 7,51,32,oPen)
        PrnLine(53, 7,53,32,oPen)
        PrnLine(57, 7,57,32,oPen)
        PrnLine(43,62,43,89,oPen)
        PrnLine(54,62,54,89,oPen)
        PrnLine(45,36,45,57,oPen)
        PrnLine(52,36,52,57,oPen)
        PrnLine(45,62,45,89,oPen)
        PrnLine(52,62,52,89,oPen)

        //cabezal
        PrnSay(16,60, "Form.:   "+ "123425", aoFont[1],80)
        PrnSay(18, 8,"Empresa XXXXXX")
        PrnSay(18,60,Date())
        PrnSay(19, 8,"123456")
        PrnSay(19,60,1250)
        PrnSay(23, 8,"Productor:", aoFont[1],80)
        PrnSay(24, 8,"El Productor que vende", aoFont[1],80)
        PrnSay(23,45,"Consignatario:", aoFont[1],80)
        PrnSay(24,45,"El Consignatario que Vende", aoFont[1],80)
        PrnSay(25, 8,"RUT: "+"12 345678 9123", aoFont[1],80)
        PrnSay(25,30,"CI: " +"173216547",aoFont[1],80)
        PrnSay(25,45,"RUT: "+"12 345678 9123", aoFont[1],80)
        PrnSay(26, 8,"Dicose: "+"123 456 789", aoFont[1],80)
        PrnSay(26,45,"Dicose: "+"123 456 789", aoFont[1],80)
        PrnSay(27, 8,"Guia: "+"123456", aoFont[1],80)
        PrnSay(27,45,"Guia: "+"567890", aoFont[1],80)
        PrnSay(29, 8,"Tiene flete? ", aoFont[1],80)
        PrnSay(29, 21,.t., aoFont[1],80)
        PrnSay(35, 7, "Este es un texto largo escrito para utilizar 120 columnas en medio de un documento que estaba en 80 columnas" )

        PrnSay(63,8,"      ..............................     ...............................",aoFont[1],120)
        PrnSay(64,8,"            Firma del Comprador          Firma de Vendedor/Representante",aoFont[1],120)
	ENDPAGE
//Finalizo impresion
FinImp()
oPen:End()
RETURN NIL
/*Fin Función Main()
------------------------------------
/*
Funciones para imprimir con la clase tprint a la manera de la impresión de clipper en modo consola.
*/
/*
Funciones de Impresión con clase tPrint
---------------------------------------

IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
	Configura la impresión indicando: ancho y largo de páginas en cms.
	cantidad de filas y columnas
	Nombre del spooler de impresión
	Seleccion de Impresora
	si va Preview
	si es apaisado
	cantidad de copias
	(Como la impresión de Consola pero con Tprint)
PrnSay( nFila, nColum, Var, oFuente[ , nC ] )
	Versión del viejo Say de consola con la clase Tprint
PrnBox( nFila1, nCol1, nFila2, nCol2, oPen, nC )
	Imiprimir una caja con fila columna y fila columna estilo consola con tPrint
PrnLine( nFila1, nCol1, nFila2, nCol2, oPen, nC )
	Imprimir una línea estilo consola con TPrint
FinImp()
	Cierre de la impresión
----------------------------------------------------------------------------------------------------------------------

FUNCIONES DE IMPRESIÓN

----------------------------------------------------------------------------------------------------------------------*/
/*
	Variables públicas requeridas en programa principal:
	PUBLIC oImp, aoFont[4], aAnchop[4]
*/
#include "Fivewin.ch"
FUNCTION IniImp(nAncho, nLargo, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias)
/*
	Sintaxis:
	IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
	Requeridos:
	cAncho       - Ancho de pagina en cms.
	cLargo       - Largo de página en cms.
	Opcionales:
	nFilas       - Cantidad de filas en el largo                                 DEFAULT 60
	nColumnas    - Cantidad de columnas en el ancho 80 o 120                     DEFAULT 80
	cNom_Spooler - Nombre del listado en Spooler de impresion de Windows         DEFAULT "Listado"
	lSel_imp     - .t. para que el usuario seleccione la impresora que usará     DEFAULT .t.
	lPreview     - .t. para que se vea una vista preliminar.                     DEFAULT .f.
	lLnds        - .t. para Apaisado                                             DEFAULT .f.
	nCopias      - Cantidad de copias                                            DEFAULT 1
*/

  LOCAL cFuente
  cFuente:="Lucida Console"	    //Se utiliza aquí una fuente escalar
    		    								    //evitando así mala ubicación de caracteres
  //Valores default
  IF cNom_Spooler=NIL
  	cNom_Spooler="Listado"
  ENDIF
  IF lSel_Imp=NIL
  	lSel_imp=.t.
  ENDIF
  IF lPreview=NIL
  	lPreview=.f.
  ENDIF
  IF lLnds=NIL
  	lLnds=.f.
  ENDIF
  IF nCopias=NIL
  	nCopias=1
  ENDIF

PrnSetSize(nAncho*100, nLargo*100)
  //Creo objeto tprinter
  IF !lSel_imp .AND. !lPreview
		PRINT oImp TITLE cNom_Spooler
	ELSEIF lSel_imp .and. !lPreview
		PRINT oImp TITLE cNom_Spooler FROM USER
	ELSEIF !lSel_imp .and. lPreview
		PRINT oImp TITLE cNom_Spooler PREVIEW
	ELSEIF lSel_imp .and. lPreview
		PRINT oImp TITLE cNom_Spooler FROM USER PREVIEW
	ENDIF
	IF lLnds
		oImp:SetLandscape()
  ENDIF
  //establezco las copias
	oImp:SetCopies(nCopias)
  //calculo anchos de fila y columna segun la resolucion de la impresora
  aAnchop[1]:=oImp:nVertRes()/nFilas
	aAnchop[2]:=oImp:nHorzRes()/nColumnas  	//ancho en pixels de columna
	aAnchop[3]:=nColumnas  									//hago publica nColumas en vector
	aAnchop[4]:=lLnds						    				//hago publica lLnds en el vector
	//Defino Fonts
	//Font normal
  DEFINE FONT aoFont[1] NAME "Lucida Console" SIZE 0, -10 OF oImp
  //Font Comprimida
  DEFINE FONT aoFont[2] NAME "Lucida Console" SIZE 0,  -8 OF oImp
  //Font Muy Grande
  DEFINE FONT aoFont[3] NAME "Lucida Console" SIZE 0, -24 OF oImp
  //Font Grande
  DEFINE FONT aoFont[4] NAME "Lucida Console" SIZE 0, -16 OF oImp
RETURN NIL

/*Fin Funcion IniImp
----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnSay( nFila, nColum, Var, oFuente, nC )
LOCAL i, wVar, nesp, nCorr
/*Sintaxis:
	PrnSay( nFila, nColum, Var [, oFuente, nC ] )
	nFila es la fila donde se hace la impresion
	ncolum es la columna donde comienza
	var es una variable de cualquier tipo que contiene lo que se va a imprimir
	nC es el total de columnas base (80 o 120)

El parámetro var es convertido a texto sin espacios al final y alineado a la derecha.
*/
	IF nC=NIL
		//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
		aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
	ELSE
		//Si se especifico cant. de columnas recalculo el ancho de columna
		aAnchop[2]:=oImp:nHorzRes()/nC
	ENDIF
	//Convierto Var a texto para imprimir
	IF VALTYPE(Var)="A" .or. VALTYPE(Var)="B" .or. VALTYPE(Var)="M" .or. VALTYPE(Var)="O" .or. VALTYPE(Var)="U"
		wVar=Space(1)
	ELSEIF valtype(Var)="C"
		wVar=Rtrim(Var)
	ELSEIF VALTYPE(Var)="D"
		wVar:=Transform(Var,"@D")
	ELSEIF VALTYPE(Var)="L"
		IF Var
			wVar="Si"
		ELSE
			wVar="No"
		ENDIF
	ELSEIF VALTYPE(Var)="N"
		wVar:=Alltrim(Str(Var))
	ENDIF
  //paso fila y columna a pixels
	nFila   := nFila  * aAnchop[1]
	nColum  := nColum * aAnchop[2] 		//Columna en pixels
	nesp=( len(wVar) - len( Ltrim( wVar ) ) ) * aAnchop[2]
	wVar:=Ltrim(wVar)
	IF wVar<>Space(1)
		IF Pcount()=3 //Si no indique fuente
			oImp:Say( nFila, (nColum + nesp), wVar, if( aAnchop[3]<=80, aoFont[1], If( aAnchop[4], aoFont[1], aoFont[2] ) ) )
			//                                          si menos 80 cols uso aofont[1] sino si es apaisado, aofont[1] o sino aofont[2]
		ELSE  //si indique fuente
			oImp:Say(nFila,(nColum + nesp),wVar, oFuente)
		ENDIF
	ENDIF
RETURN NIL
/*Fin Funcion PrnSay
----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnBox(nFila1, nCol1, nFila2, nCol2, oPen, nC)
/*Sintaxis:
	PrnBox( nFila, nCol1, nFila2, nCol2, oPen, nC )
	nFila es la fila donde se hace la impresion
	ncolum es la columna donde comienza
	var es una variable de cualquier tipo que contiene lo que se va a imprimir
	nC es el total de columnas base (80 o 120)
*/
	IF nC=NIL
		//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
		aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
	ELSE
		//Si se especifico cant. de columnas recalculo el ancho de columna
		aAnchop[2]:=oImp:nHorzRes()/nC
	ENDIF
	//paso fila y columna a pixels
	nFila1 := nFila1 * aAnchop[1]
	nCol1  := nCol1  * aAnchop[2]
	nFila2 := nFila2 * aAnchop[1]
	nCol2  := nCol2  * aAnchop[2]
	//dibujo el cuadro
	oImp:Box(nFila1, nCol1, nFila2, nCol2, oPen)
RETURN NIL

/*Fin Funcion PrnBox
---------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnLine(nFila1, nCol1, nFila2, nCol2, oPen, nC)
	IF Pcount()=6
		//si se especifico cant. de columnas recalculo el ancho de columna
		aAnchop[2]:=oImp:nHorzRes()/nC
	ELSE
		//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
		aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
	ENDIF
	//paso fila y columna a pixels
	nFila1 := nFila1 * aAnchop[1]
	nCol1  := nCol1  * aAnchop[2]
	nFila2 := nFila2 * aAnchop[1]
	nCol2  := nCol2  * aAnchop[2]
	//Dibujo la linea
	oImp:Line(nFila1, nCol1, nFila2, nCol2, oPen)
RETURN NIL
/*Fin Funcion PrnLine
---------------------------------------------------------------------------------------------------------------------*/
FUNCTION FinImp()
//Destruyo las fuentes
	//finalizo la impresión
  ENDPRINT
  //elimino los fonts
	aoFont[1]:End()
	aoFont[2]:End()
	aoFont[3]:End()
RETURN NIL
/*Fin Funcion FinImp
----------------------------------------------------------------------------------------------------------------------*/
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Alguien tiene clase "TRepDos"

Post by karinha »

Maestro Antônio, el enlace está roto; ¿podría volver a publicarlo, por favor?

Gracias, tks.

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Alguien tiene clase "TRepDos"

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply