FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour edicion con Xbrowser
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
edicion con Xbrowser
Posted: Wed Apr 15, 2015 10:57 AM
Quiero poder consultar y editar rapido unos datos. Si uso xbrowser a secas no me permite su edición .
Si pongo FASTEDIT o SETUP ( oBrw:nEditTypes := EDIT_GET ) si permite la edición lo que pasa que permite la edición "en linea"
Quiero poder hacer la edición pero solo desde el "boton" de editar...
¿ como tengo que ponerlo ?
Code (fw): Select all Collapse
  local cOrdenes := Abrimos("ordenes")
   ( cOrdenes )-> (OrdSetFocus(1))
    XBROWSER AUTOSORT  //SETUP ( oBrw:nEditTypes := EDIT_GET )
   close ( cOrdenes )
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 12:00 PM
Manuel

Tendrías que hacerlo por columna no colocar el FastEdit
Code (fw): Select all Collapse
oCol:=oBrw:AddCol()
   oCol:bStrData  := { || NOMBRE }
   oCol:cHeader:= "NOMBRE"
   oCol:nWidth:=150
   oCol:cSortOrder:="NOMBRE"
   oCol:nEditType := EDIT_GET
   oCol:bOnPostEdit := {|o, v, n| NOMBRE:=v }
//Sólo funciona al pulsar Enter
//Podemos agregar otras teclas por Ej. F2
  oBrw:bKeyDown:={ |nKey| iif(nKey=VK_F2, __KeyBoard(Chr(13)) , )}


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 12:21 PM

Manuel,

Ahora que te pillo por aquí y con xBrowse, siendo tu un master de las imágenes... He probado un xBrowse mostrando imagenes que originalmente estan en formato .jpg y su tamaño es 800 x 800. Las muestro en un tamaño de 33 pix, y las muestra bien, pero el xbrowse se vuelve horriblemente lento... creo que el problema puede estar en la filoadimg() que tiene que hacer conversiones... y muchas... tantas como el xBrowse lo invoca.

¿ Crees que el problema es el que te indico ? ¿ Algun workaround ?

Saludos

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 02:18 PM
hmpaquito wrote:Manuel,

Ahora que te pillo por aquí y con xBrowse, siendo tu un master de las imágenes... He probado un xBrowse mostrando imagenes que originalmente estan en formato .jpg y su tamaño es 800 x 800. Las muestro en un tamaño de 33 pix, y las muestra bien, pero el xbrowse se vuelve horriblemente lento... creo que el problema puede estar en la filoadimg() que tiene que hacer conversiones... y muchas... tantas como el xBrowse lo invoca.

¿ Crees que el problema es el que te indico ? ¿ Algun workaround ?

Saludos


Dos cosas ...
1ª¿ es necesario enseñar las miniaturas en las celdas del xbrowse o servirí algo asi ?:


2º si es necesario enseñar todas las miniaturas sería mucho mas rápido adaptar el xbrowse para que en vez usar filoadimg() para cargar los jpg use gdi+ y las reduzca a 33pix al vuelo , si el ordenador es medianamente moderno , eso aceleraría el xbrowse .
la funcion equivalente seria :

La funcion seria hBmpFromFile( cFile, nWith, nHeight ) en tu caso hBmpFromFile( cFile, 33 )
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 03:15 PM

Manuel,

Qué buena idea... me sirve de la primera forma, incluso me viene mejor.

Muchas gracias. saludos

pd. Desconocia la existencia de hBmpFromFile(). Supongo que esa funcion deberia ser incorporada al xBrowse para darle mayor velocidad.

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 03:58 PM
Manuel,

Pensando mejor sobre la segunda posibilidad y su solucion, creo que la solucion pasa por modificar el xBrowse para re-utilizar los hBmp, sea-la-funcion-de-lectura-del-jpg-la-que-sea.

La solucion pasaria por utilizar un hash con el nombre de la imagen a la que se le asignaria el hBmp. En oBrw:Destroy() se borrarian (deleteobject()) los hBmp. Asimismo, el calculo del HasAlpha() puede enlentecer... también se guardaría en el hash, de modo que el hash contendria tuplas con el siguiente valor {hBmp, lAlpha}


Saludos
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 04:50 PM

A mi me funciona perfectamente sin añadir nada ( ni en el SETUP ), pero solo lo he usado con arrays
Edito con el boton de edicion nada mas

--------------------------------------- EDITADO ------------------------------------------

Lo he comprobado y no permite editar con bases de datos

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 08:27 PM
mastintin wrote:Quiero poder consultar y editar rapido unos datos. Si uso xbrowser a secas no me permite su edición .
Si pongo FASTEDIT o SETUP ( oBrw:nEditTypes := EDIT_GET ) si permite la edición lo que pasa que permite la edición "en linea"
Quiero poder hacer la edición pero solo desde el "boton" de editar...
¿ como tengo que ponerlo ?
Code (fw): Select all Collapse
  local cOrdenes := Abrimos("ordenes")
   ( cOrdenes )-> (OrdSetFocus(1))
    XBROWSER AUTOSORT  //SETUP ( oBrw:nEditTypes := EDIT_GET )
   close ( cOrdenes )


Please try:
Code (fw): Select all Collapse
XBROWSER Alias() SETUP oBrw:bDataRow := { |o,c,l| TDataRow():New( o:uDataSource, c, l ) }
Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 08:41 PM

Ok, So it works well
Thanks

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 08:49 PM

My solution is for the specific rather uncommon requirement of Mr Manuel.

For all normal purposes
XBROWSER <anydata> FASTEDIT
or
XBROWSER <anydata> AUTOSORT SETUP oBrw:nEditTypes := EDIT_DATA

work well for viewing and editing any data

Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: edicion con Xbrowser
Posted: Wed Apr 15, 2015 10:52 PM

Mr Rao
Yo pienso que por defecto se deberia permitir editar con el boton "Edit" y usar FASTEDIT para Editar directamente si el usuario elige esa opcion
O implementar dos opciones distintas

Mr Rao
I think we should allow default edit the "Edit" button and use FASTEDIT to Edit directly if the user chooses that option
Or implement two different options
FASTEDIT and ....EDIT..

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: edicion con Xbrowser
Posted: Thu Apr 16, 2015 06:55 AM

¡¡Perfecto Sr.Rao !!!. Gracias.

Respecto al comportamiento creo que está bien que no permita editar por defecto pero deberiamos implementar un comando EDIT .
Mi propuesta para no mover casi el codigo es que el parametro lFastEdit pase a ser nEdit ...
nEdit := 0 -> no editable
nEdit:= 1 -> lFastEdit:= .t.
nEdit:= 2 -> editable

comandos a usar EDIT AND FASTEDIT seria algo asi :

xcommand XBROWSER [<uData>] ;

         [ TITLE &lt;cTitle&gt; ] ;
         [ &lt;autosort:AUTOSORT&gt; ] ;
         [ SETUP &lt;fnSetUp&gt; ] ;
         [ COLUMNS &lt;aCols,...&gt; ] ;
         [ SELECT &lt;fnSelect&gt; ] ;
         [ &lt;excel: CALC&gt; ];
         [ FASTEDIT]  [ &lt;nEdit: 1&gt; ]  ;
         [ EDIT ] [ &lt;nEdit: 2&gt; ] ;
         [ VALID &lt;uValid&gt; ] ;
         [ [SHOW] &lt;sl: RECID,SLNUM&gt; ] ;
  =&gt; ;
     XBrowse( [&lt;uData&gt;], [&lt;cTitle&gt;], [&lt;.autosort.&gt;], ;
        [\{|oBrw|&lt;fnSetUp&gt;\}], [\{&lt;aCols&gt;\}], ;
        [\{|oBrw,oCol|&lt;fnSelect&gt;\}],!&lt;.excel.&gt;, &lt;nEdit&gt;, [\{|oBrw|&lt;uValid&gt;\}], &lt;(sl)&gt; )

cambios en codigo de xbrowser ...

function XBrowse( uData, cTitle, lAutoSort, bSetUp, aCols, bSelect, lExcel, nEdit, ;
bValid, cSerial )
DEFAULT nEdit:= 0
.......

line 117+-

XBrwSetDataSource( oBrw, uData, lAddCols, lAutoSort, aCols ) // function in XBrowse.Prg
AEval( oBrw:aCols, { |o| If( o:cDataType == 'L', o:SetCheck(), nil ) } )

if nEdit == 1
oBrw:lFastEdit := .t.
AEval( oBrw:aCols, { |o| o:nEditType := 1 } )
elseif nEdit == 2
oBrw:bDataRow := { |o,c,l| TDataRow():New( o:uDataSource, c, l ) }
endif

......

Todo esto esta planteado al vuelo , como idea, no está probado ya que ahora mismo no estoy sobre el ordenador ...

Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: edicion con Xbrowser
Posted: Tue Aug 22, 2017 01:02 PM

Hola amigos,
necesito hacer un Xbrowser o xBrowse emulando al viejo DBU donde
se podía modificar los campos de una dbf, y no lo puedo hacer.
Probé con FASTEDIT, SETUP y todo lo que sugieren pero no lo puedo hacer que me edite
y grabe.
Quien me pueda ayudar se lo agradeceré!
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: edicion con Xbrowser
Posted: Tue Aug 22, 2017 04:25 PM
TOTOVIOTTI wrote:Hola amigos,
necesito hacer un Xbrowser o xBrowse emulando al viejo DBU donde
se podía modificar los campos de una dbf, y no lo puedo hacer.
Probé con FASTEDIT, SETUP y todo lo que sugieren pero no lo puedo hacer que me edite
y grabe.
Quien me pueda ayudar se lo agradeceré!
Roberto

Coloca codigo de como definistes el xBrowse para poder ayudarte, gracias...saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: edicion con Xbrowser
Posted: Tue Aug 22, 2017 06:19 PM

Disculpas... pero uso de la siguiente manera:

XBROWSER cAlias FASTEDIT

Gracias
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar