URLLINK + XBROWSE
- Silvio.Falconi
- Posts: 7104
- Joined: Thu Oct 18, 2012 7:17 pm
Re: URLLINK + XBROWSE
+3
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Re: URLLINK + XBROWSE
Leandro, cual és el problema en usar de esta forma?
Gracias.
Regards, saludos.
Code: Select all | Expand
oCol:bLDClickData := { || Shellexecute( 0, "Open", oCol:Value ) }
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: URLLINK + XBROWSE
karinha, ninguno, así lo implementamos finalmente.
Code: Select all | Expand
oCol:bLDClickData := { || Shellexecute( 0, "Open", aInfo[oBrw:nArrayAt]["url"] ) }
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
Re: URLLINK + XBROWSE
Leandro en mi humilde opinión me parece excelente. Usted es muy inteligente. Cuando sea mayor quiero ser como tú. jajajajaja.leandro wrote:karinha, ninguno, así lo implementamos finalmente.Code: Select all | Expand
oCol:bLDClickData := { || Shellexecute( 0, "Open", aInfo[oBrw:nArrayAt]["url"] ) }
Gracias.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Silvio.Falconi
- Posts: 7104
- Joined: Thu Oct 18, 2012 7:17 pm
Re: URLLINK + XBROWSE
leandro wrote:karinha, ninguno, así lo implementamos finalmente.Code: Select all | Expand
oCol:bLDClickData := { || Shellexecute( 0, "Open", aInfo[oBrw:nArrayAt]["url"] ) }
probablemente no estemos diciendo lo mismo: no necesariamente tiene que abrir un enlace en el navegador pero podría abrir un popup o una función específica. Para la visualización pretendo que tenga la misma forma que el texto de la clase Turllink o la clase tsayref, es decir cuando el usuario final pasa con el mouse sobre el texto (subrayado) cambia de color (sobre color y color normal).
no necesariamente tiene que ser una dirección para abrir, puede ser cualquier información, imagina por ejemplo una tabla xbrowse donde hay datos numéricos correspondientes a pedidos, el usuario podría abrir la ficha de ese pedido, o de ese cliente con un clic .
Ejemplo tangible de archivo de movimiento de artículos (carga/descarga).
Se muestra el nombre del proveedor. pues para ver los datos de ese proveedor el usuario final debe cerrar la gestión de almacén y abrir el registro de proveedores y buscar ese proveedor para abrir la tarjeta.
Tenerlo como enlace URL en el xbrowse del almacén podría abrir directamente el perfil de ese proveedor.
Last edited by Silvio.Falconi on Tue Feb 27, 2024 2:18 pm, edited 1 time in total.
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Re: URLLINK + XBROWSE
Lo único adicional que agregamos fue un tooltip para indicarle al usuario que puede hacer doble clic sobre esa columna.
Quizás para que parezca un enlace, se podría colocar la fuente subrayada, pero eso si no lo hemos hecho hasta el momento.
Quizás para que parezca un enlace, se podría colocar la fuente subrayada, pero eso si no lo hemos hecho hasta el momento.
Code: Select all | Expand
oCol:bCellToolTip := { |oCol| "Doble clic para abrir en enlace"}
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
Re: URLLINK + XBROWSE
Silvio, si entiendo (me cuesta seguir tu razonamiento), simplemente activaría una función con un DIÁLOGO y usaría SSAY.PRG o URLLINK para activar con la URL. Si no entendí, lo siento.
Silvio, if I understand (I have difficulty following your reasoning), I would simply trigger a function with a DIALOG and use SSAY.PRG or URLLINK to trigger with the URL. If I didn't understand, I'm sorry.
Regards, saludos.
Silvio, if I understand (I have difficulty following your reasoning), I would simply trigger a function with a DIALOG and use SSAY.PRG or URLLINK to trigger with the URL. If I didn't understand, I'm sorry.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: URLLINK + XBROWSE
Espero te sirva esta idea:
Code: Select all | Expand
#include "FiveWin.ch"
Function Inicio()
LOCAL oDlg, oBrw, oFont[2]
LOCAL aData := {{"xHarbour" , "http://www.xharbour.org/" , 1},;
{"Cualquier cosa" , "Ejecuta proceso Tres" , 3},;
{"Fivetech" , "www.fivetechsoft.com" , 1},;
{"Forum Fivetecht" , "https://forums.fivetechsupport.com" , 1},;
{"Tarea adicional" , "Ejecuta proceso Dos" , 2}}
DEFINE FONT oFont[1] NAME "TAHOMA" SIZE 0,-14
DEFINE FONT oFont[2] NAME "TAHOMA" SIZE 0,-14 UNDERLINE
DEFINE DIALOG oDlg SIZE 537,300 PIXEL TRUEPIXEL TITLE "xBrowse con UrlLink"
@ 20,20 XBROWSE oBrw DATASOURCE aData OF oDlg PIXEL SIZE 500,200 AUTOSORT AUTOCOLS LINES CELL;
HEADERS "Empresa / Mensaje", "URL / Acción" COLSIZES {150,300} FONT oFont[1]
WITH OBJECT oBrw:aCols[2]
:bLDClickData := { || Opciones(aData, oBrw) }
:oDataFont := {|| iif( aData[oBrw:nArrayAt, 3] == 1, oFont[2], oFont[1]) }
:aClrText := {|| Iif( aData[oBrw:nArrayAt, 3] == 1, nRGB(50,50,200), nRGB(0,0,0) )}
:bCellToolTip := { |oCol| {"Doble clic para abrir enlace o ejecutar Proceso","Selecciona:"} }
END
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED
Return(NIL)
//-------------------------------------------------//
Function Opciones(aData, oBrw)
LOCAL nOpcion := aData[oBrw:nArrayAt, 3]
DO CASE
CASE nOpcion == 1
Shellexecute( 0, "Open", aData[oBrw:nArrayAt, 2] )
CASE nOpcion == 2
Dos()
CASE nOpcion == 3
Tres()
ENDCASE
Return(NIL)
//-------------------------------------------------//
Function Dos()
MsgInfo("Opción Dos")
Return(NIL)
//-------------------------------------------------//
Function Tres()
MsgInfo("Opción Tres")
Return(NIL)
//-------------------------------------------------//
Last edited by Cgallegoa on Tue Feb 27, 2024 4:35 pm, edited 1 time in total.
Saludos,
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Re: URLLINK + XBROWSE
Excelente ejemplo Carlos, para causar un mejor efecto solo faltaría que apareciera la manito (cursor) sobre el link.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
Re: URLLINK + XBROWSE
Carlos, marabilloso d+
Gracias.
Regards, saludos.
Code: Select all | Expand
// C:\FWH\SAMPLES\SILVIURL.PRG
#include "FiveWin.ch"
FUNCTION Inicio()
LOCAL oDlg, oBrw, oFont[ 2 ]
LOCAL aData := { { "xHarbour", "http://www.xharbour.org/", 1 }, ;
{ "Cualquier cosa", "Ejecuta proceso Tres", 3 }, ;
{ "Fivetech", "www.fivetechsoft.com", 1 }, ;
{ "Forum Fivetecht", "https://forums.fivetechsupport.com", 1 }, ;
{ "Tarea adicional", "Ejecuta proceso Dos", 2 } }
LOCAL oCursorBtn := TCursor():New(, 'HAND' )
DEFINE FONT oFont[ 1 ] NAME "TAHOMA" SIZE 0, - 14
DEFINE FONT oFont[ 2 ] NAME "TAHOMA" SIZE 0, - 14 UNDERLINE
DEFINE DIALOG oDlg SIZE 537, 300 PIXEL TRUEPIXEL ;
TITLE "xBrowse con UrlLink"
oDlg:lHelpIcon := .F.
@ 20, 20 XBROWSE oBrw DATASOURCE aData OF oDlg PIXEL SIZE 500, 200 ;
AUTOSORT AUTOCOLS LINES CELL ;
HEADERS "Empresa / Mensaje", "URL / Acción" COLSIZES { 150, 300 } ;
FONT oFont[ 1 ]
oBrw:cTooltip := { "Click-Me", ;
"Silvio Falconi", 1, CLR_WHITE, CLR_CYAN }
BrwColors( oBrw, .T. )
WITH OBJECT oBrw:aCols[ 2 ]
:bLDClickData := {|| Opciones( aData, oBrw ) }
:oDataFont := {|| iif( aData[ oBrw:nArrayAt, 3 ] == 1, oFont[ 2 ], oFont[ 1 ] ) }
:aClrText := {|| iif( aData[ oBrw:nArrayAt, 3 ] == 1, nRGB( 50, 50, 200 ), nRGB( 0, 0, 0 ) ) }
:bCellToolTip := {| oCol | { "Doble clic para abrir enlace o ejecutar Proceso", "Selecciona:" } }
END
oBrw:oCursor := oCursorBtn
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
STATIC FUNCTION BrwColors( oBrw, lFoot )
local cClrBack
DEFAULT lFoot := .F.
oBrw:l2007 := .F.
oBrw:nRowHeight := 24
oBrw:nHeaderHeight := 24
oBrw:lFooter := lFoot
//oBrw:lRecordSelector := .F.
//oBrw:lColDividerComplete := .F.
//oBrw:lRowDividerComplete := .F.
oBrw:lFlatStyle := .T.
oBrw:bClrHeader := { || { CLR_BLACK, CLR_WHITE, CLR_WHITE } } //RGB( 232, 255, 232 ), RGB( 232, 255, 232 ) }}
oBrw:lFullGrid := .F.
oBrw:nRowDividerStyle := LINESTYLE_NOLINES //DARKGRAY //LINESTYLE_LIGHTGRAY //
oBrw:nColDividerStyle := LINESTYLE_NOLINES //LIGHTGRAY // LINESTYLE_NOLINES
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:bClrStd = { || If( oBrw:KeyNo() % 2 == 0, ;
{ If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_BLUE ),;
RGB( 198, 255, 198 ) }, ;
{ If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_BLUE ),;
RGB( 232, 255, 232 ) } ) }
oBrw:bClrSel = { || { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_WHITE ),;
RGB( 34, 177, 76 ) } } //RGB( 0x33, 0x66, 0xCC ) } }
cClrBack = Eval( oBrw:bClrSelFocus )[ 2 ]
oBrw:bClrSelFocus := { || { If( ( oBrw:cAlias )->( Deleted() ), CLR_HRED, CLR_WHITE ),;
cClrBack } }
oBrw:SetColor( CLR_BLUE, RGB( 232, 255, 232 ) )
RETURN NIL
FUNCTION Opciones( aData, oBrw )
LOCAL nOpcion := aData[ oBrw:nArrayAt, 3 ]
DO CASE
CASE nOpcion == 1
Shellexecute( 0, "Open", aData[ oBrw:nArrayAt, 2 ] )
CASE nOpcion == 2
Dos()
CASE nOpcion == 3
Tres()
ENDCASE
RETURN NIL
FUNCTION Dos()
MsgInfo( "Opción Dos" )
RETURN NIL
FUNCTION Tres()
MsgInfo( "Opción Tres" )
RETURN NIL
// FIN / END
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: URLLINK + XBROWSE
Leandro,
Lo del cursor esta complicado, encontré dos inconvenientes:
1.- xBrowse permite definir cursor general a todo el Browse, no a columnas individuales, que sería lo interesante.
2.- Así lo definas un cursor al Browse, en la columna en la que se asinge ToolTip, se anula el cursor.
Ojalá Antonio o Mr.Rao nos dan una mano.
Lo del cursor esta complicado, encontré dos inconvenientes:
1.- xBrowse permite definir cursor general a todo el Browse, no a columnas individuales, que sería lo interesante.
2.- Así lo definas un cursor al Browse, en la columna en la que se asinge ToolTip, se anula el cursor.
Ojalá Antonio o Mr.Rao nos dan una mano.
Saludos,
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***