Views en BEACON
Publicado: Sab May 29, 2021 10:36 am
Se pueden usar views en BEACON? Si, por supuesto
Este código está extraído del Test06.prg
Explicación: a partir de ese momento todo el código generado por BEACON estará disponible para ser guardado en un fichero "view"
Pero, al igual que permite generar y cargar views, también permite modificarlos.
SetView, en este caso, graba el codigo generado por BEACON hasta ese momento en el nombre del fichero designado, pero OJO, el comportamiento de este metodo es distinto si el metodo :SetAddCodetoView( .F. ) es seteado a .F. En este caso, BEACON carga el view y permite acumular más código. A partir de ese momento todo el código generado se añadirá al view anterior, y seteando :SetAddCodetoView( .T. ), al invocar de nuevo al metodo :SetView( <view> ) volverá a grabar en el fichero el view con la modificación añadida.
Código extraído del Test07.prg
Cuando usamos el :SetView( "comment.view" ) --> SaveView( "comment.view" ), es lo mismo, el seteo anterior a .T. del metodo SetAddCodeToView() se desactiva por lo que cualquier proceso posterior se ha de empezar el proceso de nuevo seteando el SetAddCodeToView como consideremos necesario.
Este uso del metodo SetAddCodeToView, no es necesario si solo queremos cargar un view con :SetView( <view>, .F. ) --- > LoadView( <view> )
Vean los ejemplos en el orden que se ha previsto visualizar y probar. Por defecto estos views no son proporcionados junto a los ejemplos.
Este código está extraído del Test06.prg
Código: Seleccionar todo
// Este metodo nos permite guardar el codigo generado en una view.
:SetAddCodetoView( .T. ) // Activa el uso de views
// El codigo generado se guardara
// en un view que se establecera
// con el metodo :SetView
// Ver ejemplo Test07.prg
Código: Seleccionar todo
//:SaveView( "head1.view" )
:SetView( "head1.view", ) //, lUseView ) -> .T. por defecto:
// Graba / Save ( crea ) el view, pero
// si :SetAddCodetoView( .F. ), carga el view
// para poder seguir acumulando codigo,
// y no graba el view
SetView, en este caso, graba el codigo generado por BEACON hasta ese momento en el nombre del fichero designado, pero OJO, el comportamiento de este metodo es distinto si el metodo :SetAddCodetoView( .F. ) es seteado a .F. En este caso, BEACON carga el view y permite acumular más código. A partir de ese momento todo el código generado se añadirá al view anterior, y seteando :SetAddCodetoView( .T. ), al invocar de nuevo al metodo :SetView( <view> ) volverá a grabar en el fichero el view con la modificación añadida.
Código extraído del Test07.prg
Código: Seleccionar todo
:SetAddCodetoView( .T. ) // Activa el uso de views
MyComments1( oMain )
:SetView( "comment.view", ) // Crea el view con el contenido generado en la function Mycomments1()
Este uso del metodo SetAddCodeToView, no es necesario si solo queremos cargar un view con :SetView( <view>, .F. ) --- > LoadView( <view> )
Código: Seleccionar todo
//:SetAddCodetoView( .T. ) // Activa de nuevo el uso de views.
// Por que?, porque hay que tener en cuenta
// que una vez creado un view, por defecto,
// se desactiva el uso de views.
// No es necesario activarlo solo para cargar el view.
//:LoadView( "head1.view" )
:SetView( "head1.view", .F. ) //, lUseView ) -> .F. : En este caso Load
// Si pasamos .T., y :SetAddCodetoView( .T. ), graba el view,
// pero si :SetAddCodetoView( .F. ), carga el view en la variable
// para poder seguir acumulando codigo, y no graba el view