Alguien tiene clase "TRepDos"

Alguien tiene clase "TRepDos"

Postby ruben Dario » Tue Dec 09, 2014 1:21 pm

Saludos al Forum
Alguien Tiene la Clase "TRepDos",

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Alguien tiene clase "TRepDos"

Postby karinha » Tue Dec 09, 2014 1: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
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Alguien tiene clase "TRepDos"

Postby MauroArevalo » Tue Dec 09, 2014 2:55 pm

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....
User avatar
MauroArevalo
 
Posts: 107
Joined: Thu Jan 19, 2006 11:47 pm
Location: Bogota DC. Colombia

Re: Alguien tiene clase "TRepDos"

Postby jbrita » Wed Dec 10, 2014 1:26 pm

Mauro me la podrias enviar por favor

jbricenotapia@gmail.com

saludos
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Alguien tiene clase "TRepDos"

Postby MauroArevalo » Wed Dec 10, 2014 2: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....
User avatar
MauroArevalo
 
Posts: 107
Joined: Thu Jan 19, 2006 11:47 pm
Location: Bogota DC. Colombia

Re: Alguien tiene clase "TRepDos"

Postby csincuir » Wed Dec 10, 2014 3: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.
csincuir
 
Posts: 407
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala

Re: Alguien tiene clase "TRepDos"

Postby karinha » 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
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Alguien tiene clase "TRepDos"

Postby jbrita » Thu Dec 11, 2014 7: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
----------------------------------------------------------------------------------------------------------------------*/
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Alguien tiene clase "TRepDos"

Postby Antonio Linares » Fri Dec 12, 2014 8:12 am

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 53 guests