Page 1 of 2
Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 1:06 am
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
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 2:07 am
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.
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 2:53 am
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
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 12:40 pm
by nageswaragunupudi
For pasting initially set
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.
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 3:26 pm
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?
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 3:44 pm
by Armando
Mr. Rao:
Thank you so much, I'll try it.
With best regards
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 5:43 pm
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
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 8:31 pm
by cmsoft
Excelente, como siempre Mr. Rao.
Muchas gracias!
Consulta. Si el arreglo inicial esta vacio, puede ser que no me deje pegar?
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 9:03 pm
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
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 9:38 pm
by nageswaragunupudi
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 9:52 pm
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"
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 10:44 pm
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
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Fri Aug 18, 2023 11:20 pm
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 )
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Sat Aug 19, 2023 2:40 am
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
At the end of this function, you will see:
Please change this like as:
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.
Re: Actualizar xBrowse con un Clic del ratón?
Posted: Sat Aug 19, 2023 8:14 am
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