Actualizar xBrowse con un Clic del ratón?

User avatar
Armando
Posts: 3249
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Actualizar xBrowse con un Clic del ratón?

Post by Armando »

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
carlos vargas
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

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

Post by carlos vargas »

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
Armando
Posts: 3249
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

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

Post by Armando »

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
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

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

Post by nageswaragunupudi »

Code: Select all | Expand

oCol:VarPut( newValie _
For pasting initially set

Code: Select all | Expand

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
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Post by cmsoft »

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
Armando
Posts: 3249
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

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

Post by Armando »

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
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

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

Post by nageswaragunupudi »

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

Code: Select all | Expand

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
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Post by cmsoft »

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: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Post by cmsoft »

Si lo quiero hacer desde un xbrowse por codigo me da este error

Code: Select all | Expand

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

#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
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

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

Post by nageswaragunupudi »

Not

Code: Select all | Expand

     :aCols[ 9 ]:nEditType  := "P"  
 
Correct:

Code: Select all | Expand

     :aCols[ 9 ]:cDataType  := "P"  
 
Regards

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

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

Post by nageswaragunupudi »

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
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Post by cmsoft »

Perfecto, ahi funciona.
Tuve que agregar la clausula :nEditTypes := 1 para que permitiera editar y pegar

Code: Select all | Expand

#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: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Post by cmsoft »

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

#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

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
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

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

Post by nageswaragunupudi »

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

function WebPageContents( cUrl, lText )
At the end of this function, you will see:

Code: Select all | Expand

return cContents
Please change this like as:

Code: Select all | Expand

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: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

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

Post by nageswaragunupudi »

Code: Select all | Expand

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
Post Reply