Actualizar xBrowse con un Clic del ratón?

Actualizar xBrowse con un Clic del ratón?

Postby Armando » Fri Aug 18, 2023 1:06 am

Saludos amigos del foro:

Es posible actualizar la celda de un xBrowse (FastEdit) con solo un clic del ratón?

Pretendo que con un solo clic se actualice la celda con el valor que traigo
en una variable.

No me vale utilizar el RETURN para entrar a la celda, teclear el valor y luego RETURN
para salir de la celda editada.

Saludos y muchas gracias de antemano
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3227
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Actualizar xBrowse con un Clic del ratón?

Postby carlos vargas » Fri Aug 18, 2023 2:07 am

Armando, y como truco el copy/paste no te funcionara?
si no estoy mal el xbrowse tiene métodos para pegar el contenido del portapapeles a una celda.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Actualizar xBrowse con un Clic del ratón?

Postby Armando » Fri Aug 18, 2023 2:53 am

Carlos:

Suena bien, agradeceré un ejemplo pues aún soy ñoño en el tema.

Mientras tanto, voy a buscar en el foro.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3227
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Fri Aug 18, 2023 12:40 pm

Code: Select all  Expand view
oCol:VarPut( newValie _


For pasting initially set
Code: Select all  Expand view
oBrw:lCanPaste := .t.

Then, you can copy any text any where and then press Ctrl-V in the active cell. The value is pasted and browse updated.
This applies even for pasting images in memo fields.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Actualizar xBrowse con un Clic del ratón?

Postby cmsoft » Fri Aug 18, 2023 3:26 pm

Then, you can copy any text any where and then press Ctrl-V in the active cell. The value is pasted and browse updated.
This applies even for pasting images in memo fields.

Aprovechado el hilo, como debería definirse si quiero hacerlo con un Xbrowse con Array?
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Actualizar xBrowse con un Clic del ratón?

Postby Armando » Fri Aug 18, 2023 3:44 pm

Mr. Rao:

Thank you so much, I'll try it.

With best regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3227
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Fri Aug 18, 2023 5:43 pm

Aprovechado el hilo, como debería definirse si quiero hacerlo con un Xbrowse con Array?


Code: Select all  Expand view
function XbrPaste()

   local aData := { { "olga     ", MEMOREAD( "c:\fwh\bitmaps\olga1.jpg" ) }, ;
                    { "Two      ", "" }, { "Three      ", "" } }

   XBROWSER aData FASTEDIT SETUP ( ;
      oBrw:lCanPaste    := .t., ;
      oBrw:nRowHeight   := 100, ;
      oBrw:aCols[ 2 ]:cDataType:= "P" )

return nil


Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Actualizar xBrowse con un Clic del ratón?

Postby cmsoft » Fri Aug 18, 2023 8:31 pm

Excelente, como siempre Mr. Rao.
Muchas gracias!

Consulta. Si el arreglo inicial esta vacio, puede ser que no me deje pegar?
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Actualizar xBrowse con un Clic del ratón?

Postby cmsoft » Fri Aug 18, 2023 9:03 pm

Si lo quiero hacer desde un xbrowse por codigo me da este error
Code: Select all  Expand view
Error description: Error BASE/44  Assigned value is wrong class: TXBRWCOLUMN:HEDITTYPE
   Args:
     [   1] = C   P

Stack Calls
===========
   Called from:  => TXBRWCOLUMN:_HEDITTYPE( 0 )
   Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:_NEDITTYPE( 15905 )
   Called from: prueba.prg => MAIN( 19 )

Con este codigo
Code: Select all  Expand view

#include "Fivewin.ch"
#include "xbrowse.ch"
*****************************************************************
** Importar Articulos
FUNCTION Main()
LOCAL oDlg1, acor:= ARRAY(4), mrta:=.F., oBot1, oBot2, oBrwTmp,;
      aCols := {{0,SPACE(50),0,0,0,0,0,0,""}},;
      i, cError, cSql,cSql2
       
DEFINE DIALOG oDlg1 TITLE "Importar" FROM 03,15 TO 35,140
   @ 20, 05 XBROWSE oBrwTmp SIZE 465,180 pixel OF oDlg1 ARRAY aCols ;
      HEADERS "Codigo", "Descripcion","Costo","Utilidad","Precio Venta","Stock","Depto","IVA","Foto";
      COLUMNS 1, 2 ,3, 4, 5,6,7,8, 9;
      SIZES 60,250,70,70,70,50,50,50,100;
      CELL LINES NOBORDER FASTEDIT
   WITH OBJECT oBrwTmp
      :lCanPaste    := .t.
      :nRowHeight   := 100
      :aCols[ 9 ]:nEditType  := "P"  
      :bKeyDown := { |nKey| IF (nKey == VK_DELETE,oBrwTmp:Delete(),)}    
      :CreateFromCode()      
   END    
ACTIVATE DIALOG oDlg1 CENTER
RETURN nil
 

Algo estoy haciendo mal pero no puedo darme cuenta que
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Fri Aug 18, 2023 9:38 pm

Not
Code: Select all  Expand view
    :aCols[ 9 ]:nEditType  := "P"  
 


Correct:
Code: Select all  Expand view
    :aCols[ 9 ]:cDataType  := "P"  
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Fri Aug 18, 2023 9:52 pm

Consulta. Si el arreglo inicial esta vacio, puede ser que no me deje pegar?

Sorry, this was due to the mistake in my post.
Now corrected.
It will work now.
Set
oCol:cDataType := "P"
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Actualizar xBrowse con un Clic del ratón?

Postby cmsoft » Fri Aug 18, 2023 10:44 pm

Perfecto, ahi funciona.
Tuve que agregar la clausula :nEditTypes := 1 para que permitiera editar y pegar
Code: Select all  Expand view
#include "Fivewin.ch"
#include "xbrowse.ch"
*****************************************************************
** Importar Articulos
FUNCTION Main()
LOCAL oDlg1, acor:= ARRAY(4), mrta:=.F., oBot1, oBot2, oBrwTmp,;
      aCols := {{0,SPACE(50),0,0,0,0,0,0,""}},;
      i, cError, cSql,cSql2
       
DEFINE DIALOG oDlg1 TITLE "Importar" FROM 03,15 TO 35,140
   @ 20, 05 XBROWSE oBrwTmp SIZE 465,180 pixel OF oDlg1 ARRAY aCols ;
      HEADERS "Codigo", "Descripcion","Costo","Utilidad","Precio Venta","Stock","Depto","IVA","Foto";
      COLUMNS 1, 2 ,3, 4, 5,6,7,8, 9;
      SIZES 60,250,70,70,70,50,50,50,100;
      CELL LINES NOBORDER FASTEDIT
   WITH OBJECT oBrwTmp
      :lCanPaste    := .t.
      :nEditTypes   := 1
      :nRowHeight   := 100
      :aCols[ 9 ]:cDataType  := "P"  
      :bKeyDown := { |nKey| IF (nKey == VK_DELETE,oBrwTmp:Delete(),)}    
      :CreateFromCode()      
   END    
ACTIVATE DIALOG oDlg1 CENTER
RETURN nil
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Actualizar xBrowse con un Clic del ratón?

Postby cmsoft » Fri Aug 18, 2023 11:20 pm

Mr. Rao, abusando de su conocimiento, como puedo hacer para que si pongo una url en una celda para que traiga una imagen, y esa imagen no existe en el servidor web, que me muestre una imagen por default (o nada), ya que sino, da error
Este es el ejemplo:
Code: Select all  Expand view

#include "Fivewin.ch"
#include "xbrowse.ch"
*****************************************************************
** Vista de articulos
FUNCTION Main()
LOCAL oDlg1, oBrwTmp,;
      aCols := {;
{'VIRTUOSA CLASICA',  1900.00, 'Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010110.jpg'},;
{'VIRTUOSA CLASICA 2',  1900.00, 'Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010114.jpg'},;
{'VIRTUOSA MIX',  1900.00, 'Carne 120 grs. Cheddar, Huevo Bacon y BBQ. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000020.jpg'},;
{'VIRTUOSA CHEESE ONION', 1900.00, 'Carne 120 grs. Cheddar, Cebolla Caramelizada Bacon y BBQ. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000021.jpg'},;
{'VIRTUOSA MEGA', 1900.00, 'Carne 120grs. Cheddar, lechuga, pepinos, cebolla picada y salsa mil islas. Incluye papas fritas.','https://bcnresto.com/img/000010/00000022.jpg'},;
{'VIRTUOSA NAPO', 1900.00, 'Carne 120 grs. Jamón, Queso, Tomate y Mayonesa. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000023.jpg'},;
{'BRAHMA 1 L.', 300.00 , 'Bien fria','https://bcnresto.com/img/000010/00000054.jpg'};
}
       
DEFINE DIALOG oDlg1 TITLE "Visor de productos" FROM 03,15 TO 35,140
   @ 20, 05 XBROWSE oBrwTmp SIZE 465,180 pixel OF oDlg1 ARRAY aCols  ;
      HEADERS "Producto", "Descripcion","Precio","Foto";
      COLUMNS 1,2,3,4;
      SIZES 250,250,100,250;
      CELL LINES NOBORDER
   WITH OBJECT oBrwTmp
      :nRowHeight   := 100
      :aCols[4]:cDataType := "P"
      :CreateFromCode()      
   END  
ACTIVATE DIALOG oDlg1  
RETURN nil


El error lo da aqui
Code: Select all  Expand view

Error description: Error BASE/1109  Argument error: $
   Args:
     [   1] = C   base64
     [   2] = U  

Stack Calls
===========
   Called from: .\source\function\IMGTXTIO.PRG => WEBIMAGE( 2615 )
   Called from: .\source\function\IMGTXTIO.PRG => FW_READIMAGE( 1359 )
   Called from: .\source\classes\WINDOW.PRG => (b)TWINDOW( 602 )
   Called from: .\source\classes\WINDOW.PRG => TXBROWSE:READIMAGE( 0 )
 
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Sat Aug 19, 2023 2:40 am

First thing is to fix the runtime error in our library function. It is failing with non-existent URLs.

Please apply this fix in the file \fwh\source\function\imgtxtio.prg:
Please locate
Code: Select all  Expand view
function WebPageContents( cUrl, lText )

At the end of this function, you will see:
Code: Select all  Expand view
return cContents


Please change this like as:
Code: Select all  Expand view
return IfNil( cContents, "" )


Now, this fixes the runtime error.
Instead of getting runtime error, you will see a blank space instead of image.

Now how to use a default image?
Please wait for my next post.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Actualizar xBrowse con un Clic del ratón?

Postby nageswaragunupudi » Sat Aug 19, 2023 8:14 am

Code: Select all  Expand view
FUNCTION cmsoft()
LOCAL oDlg1, oBrwTmp,;
      aCols := {;
{'VIRTUOSA CLASICA',  1900.00, 'Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010110.jpg'},;
{'VIRTUOSA CLASICA 2',  1900.00, 'Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010114.jpg'},;
{'VIRTUOSA MIX',  1900.00, 'Carne 120 grs. Cheddar, Huevo Bacon y BBQ. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000020.jpg'},;
{'VIRTUOSA CHEESE ONION', 1900.00, 'Carne 120 grs. Cheddar, Cebolla Caramelizada Bacon y BBQ. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000021.jpg'},;
{'VIRTUOSA MEGA', 1900.00, 'Carne 120grs. Cheddar, lechuga, pepinos, cebolla picada y salsa mil islas. Incluye papas fritas.','https://bcnresto.com/img/000010/00000022.jpg'},;
{'VIRTUOSA NAPO', 1900.00, 'Carne 120 grs. Jamón, Queso, Tomate y Mayonesa. Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000023.jpg'},;
{'BRAHMA 1 L.', 300.00 , 'Bien fria','https://bcnresto.com/img/000010/00000054.jpg'};
}
   local cDefault := MEMOREAD( "c:\fwh\bitmaps\sea.bmp" )

   AEval( aCols, { |a,i| a[ 4 ] := WebPageContents( a[ 4 ] ), ;
                 If( Empty( a[ 4 ] ), a[ 4 ] := cDefault, nil ) } )

DEFINE DIALOG oDlg1 TITLE "Visor de productos" SIZE 700,700 PIXEL TRUEPIXEL RESIZABLE
   @ 20, 20 XBROWSE oBrwTmp SIZE -20,-20 pixel OF oDlg1 ARRAY aCols  ;
      HEADERS "Producto", "Precio", "Descripcion","Foto";
      COLUMNS 1,2,3,4;
      SIZES nil, nil, 150,200;
      CELL LINES NOBORDER
   WITH OBJECT oBrwTmp
      :nStretchCol   := 3
      :nRowHeight    := 150
      :aCols[4]:cDataType := "P"
      :CreateFromCode()
   END
ACTIVATE DIALOG oDlg1 CENTERED
RETURN nil
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10635
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Maurizio and 45 guests