FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Alguien tiene clase "TRepDos"
Posts: 1078
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: 8523
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: 537
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: 476
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: 8523
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: 537
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: 44162
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

Continue the discussion