Page 1 of 1

Modificación a Clase RPreview

PostPosted: Tue Aug 25, 2009 7:26 pm
by jrestojeda
Hola a todos...
Acabo de hacer una pequeña modificación a la clase TPreview...
Lo que modifiqué fue el tema de los factores... la clase tiene la posibilidad de cambiar los factores de vista entre los valores de 1 a 10.
Funciona correctamente, pero lo que yo modifiqué es la relación en la que se modifican las vistas, había demasiada diferencia entre cada uno de los factores, siendo en muchos casos engorroso para el usuario, y en la mayoría de los casos, (por lo menos en mi caso), los factores 5 a 9 pocas veces eran utilizados, ya que el tamaño del reporte era realmente inmeso.

Reporte original con Factor 1:
Image

Reporte original con factor 2:
Image


La modificación que le hice a la clase es la siguiente: (Solo partes modificadas)
Code: Select all  Expand view

METHOD BuildWindow() CLASS TPreview

   @ 3, 325 COMBOBOX ::oFactor VAR ::nZFactor ;
      ITEMS {"100 %","110 %","120 %","130 %","140 %","150 %","160 %","170 %","180 %","190 %","200 %"} ;
      OF ::oBar FONT ::oFont PIXEL SIZE 65,200 ;
      ON CHANGE oThis:SetFactor( oThis:nZFactor )
 


Code: Select all  Expand view

METHOD SetFactor( nValue ) CLASS TPreview

   //::oMeta1:SetZoomFactor( ::nZFactor, ::nZFactor * 2 )  Esta es la línea que estaba antes
   // Yo aguegué así, escribí los 11 Factores ya que no son tantos...

   DO CASE
      CASE ::nZFactor = 1
         ::oMeta1:SetZoomFactor( ::nZFactor, ::nZFactor * 2 )
      CASE ::nZFactor = 2
         ::oMeta1:SetZoomFactor( 2 * 0.55  , 2 * 1.10 )
      CASE ::nZFactor = 3
         ::oMeta1:SetZoomFactor( 2 * 0.60  , 2 * 1.20 )
      CASE ::nZFactor = 4
         ::oMeta1:SetZoomFactor( 2 * 0.65  , 2 * 1.30 )
      CASE ::nZFactor = 5
         ::oMeta1:SetZoomFactor( 2 * 0.70  , 2 * 1.40 )
      CASE ::nZFactor = 6
         ::oMeta1:SetZoomFactor( 2 * 0.75  , 2 * 1.50 )
      CASE ::nZFactor = 7
         ::oMeta1:SetZoomFactor( 2 * 0.80  , 2 * 1.60 )
      CASE ::nZFactor = 8
         ::oMeta1:SetZoomFactor( 2 * 0.85  , 2 * 1.70 )
      CASE ::nZFactor = 9
         ::oMeta1:SetZoomFactor( 2 * 0.90  , 2 * 1.80 )
      CASE ::nZFactor = 10
         ::oMeta1:SetZoomFactor( 2 * 0.95  , 2 * 1.90 )
      CASE ::nZFactor = 11
         ::oMeta1:SetZoomFactor( 2 * 1.00  , 2 * 2.00 )
   ENDCASE
 


Con esta pequeña modificación a la clase, logro tener mejor relación al cambiar el factor, y también aprovecho más todos los Items del combo, (Incluso yo le agregué dos Items más)

Reporte original Factor 100 %
Image

Reporte original Factor 110 %
Image

Espero sea de utilidad esta modificación.
Saludos.

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 9:00 am
by dobfivewin
Muy bueno...

me parece que son mas proporcionales los cambio de factores a factores...

te felicitos


david

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 1:39 pm
by ADBLANCO
Muy Buena Modificación, Ya la implementé (A mi manera)

Gracias!!

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 1:39 pm
by nageswaragunupudi
Can the code be simplified like this ?
Code: Select all  Expand view
METHOD SetFactor( nValue ) CLASS TPreview
   local n, lInit := .f.
   
   < other code >
   n :- 1 + ( nValue - 1 ) * 0.1  
   ::oMeta1:SetZoomFactor( n, 2 * n  )
   < other code >
return nil
 

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 1:42 pm
by ADBLANCO
Solo le falta
Esto: en buildmenu()

Code: Select all  Expand view
              MENUITEM  "&Factor"  MESSAGE TXT_ZOOM_FACTOR
               MENU
               FOR nFor := 1 TO len(aFactor)
                    MENUITEM aFactor[nFor]                         ;
                     PROMPT STR(VAL('1'+ltrim(str(nFor))+'0')-10)+' %';
                         MESSAGE "Factor " + LTrim( Str( nFor ) )  ;
                         ACTION ( oFactor:Set( oMenuItem:nHelpId ),;
                                  Eval( oFactor:bChange ) )
               NEXT
 

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 2:31 pm
by QAZWSX2K
Saludos, ni sabia que habia otro PREVIEW aparte de los DLL que estan en el directorio fivewin, si me pueden decir donde bajarla o mandarla a mi email, gracias
alex_patino74@hotmail.com

gracias

alejandro Patiño

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 3:11 pm
by Willi Quintana
METHOD SetFactor( nValue ) CLASS TPreview
local n, lInit := .f.

< other code >
n :- 1 + ( nValue - 1 ) * 0.1
::oMeta1:SetZoomFactor( n, 2 * n )
< other code >
return nil

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 3:56 pm
by ADBLANCO
Alejandro:
La Puedes encontrar en la carpeta de Fuentes del FiveWin, 'RPREVIEW.PRG'


:roll:

Re: Modificación a Clase RPreview

PostPosted: Wed Aug 26, 2009 4:35 pm
by jrestojeda
Angel...
Muchas gracias por el detalle del menú, realmente se me pasó por completo!
Ya la modifiqué en el menú también!
Ahora quedó bien!

Re: Modificación a Clase RPreview

PostPosted: Thu Aug 27, 2009 1:09 pm
by ADBLANCO
Good Idea! :wink:

Re: Modificación a Clase RPreview

PostPosted: Sun Aug 30, 2009 4:36 am
by anserkk
Hi,

This seems to be a very good update to Preview class
Regards
Anser

Re: Modificación a Clase RPreview

PostPosted: Sun Aug 30, 2009 1:52 pm
by FranciscoA
Hola Esteban. Gracias por el aporte. Ya lo he implementado.
Saludos.

Re: Modificación a Clase RPreview

PostPosted: Mon Aug 31, 2009 11:33 pm
by jrestojeda
FranciscoA wrote:Hola Esteban. Gracias por el aporte. Ya lo he implementado.
Saludos.

Me alegro que te sirva esta modificación.
Saludos.