FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Alguien tiene clase "TRepDos"
Posts: 1079
Joined: Thu Sep 27, 2007 03:47 PM

Alguien tiene clase "TRepDos"

Posted: Tue Dec 09, 2014 01:21 PM

Saludos al Forum
Alguien Tiene la Clase "TRepDos",

Gracias

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Alguien tiene clase "TRepDos"

Posted: Tue Dec 09, 2014 01:56 PM
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
Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM

Re: Alguien tiene clase "TRepDos"

Posted: Tue Dec 09, 2014 02:55 PM
Ruben:

Enviado a su correo.

Imagen de la clase:

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....
Posts: 539
Joined: Mon Jan 16, 2006 03:42 PM

Re: Alguien tiene clase "TRepDos"

Posted: Wed Dec 10, 2014 01:26 PM

Mauro me la podrias enviar por favor

jbricenotapia@gmail.com

saludos

Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM

Re: Alguien tiene clase "TRepDos"

Posted: Wed Dec 10, 2014 02:43 PM
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....
Posts: 483
Joined: Sat Feb 03, 2007 06:36 AM

Re: Alguien tiene clase "TRepDos"

Posted: Wed Dec 10, 2014 03:40 PM

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.

Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Alguien tiene clase "TRepDos"

Posted: Thu Dec 11, 2014 11:22 AM
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
Posts: 539
Joined: Mon Jan 16, 2006 03:42 PM

Re: Alguien tiene clase "TRepDos"

Posted: Thu Dec 11, 2014 07:29 PM

amigo en mis cositas encontre esto:

#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
----------------------------------------------------------------------------------------------------------------------*/
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Alguien tiene clase &quot;TRepDos&quot;

Posted: Fri Dec 12, 2014 08:12 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8716
Joined: Tue Dec 20, 2005 07:36 PM

Re: Alguien tiene clase &quot;TRepDos&quot;

Posted: Sat Sep 05, 2026 03:45 PM
Antonio Linares wrote:

https://bitbucket.org/fivetech/fivewin-contributions/downloads/Trepdos.zip

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
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Alguien tiene clase &quot;TRepDos&quot;

Posted: Sun Sep 06, 2026 10:02 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion