FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour popupbrowse
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
popupbrowse
Posted: Fri Sep 09, 2016 01:56 PM
Es una interesante posibilidad utilizar el popupbrowse, pero he notado que en mi caso tengo dificultades para que funcione debidamente en una ventana y no en una dialog, quiz谩 porque haya algo que no est茅 tomando en cuenta.
Podr铆an por favor chequear este c贸digo?

Son dos ejemplos uno con dialog y otro con ventana no ha sido modificado mas que lo estrictamente necesario en el c贸digo, ver谩n que (o al menos a mi me pasa) en el caso de la ventana, no se abre el browse y en el caso de la dialog funciona perfectamente.

Pueden probar estos dos ejemplos simplemente comentando y descoment谩ndo, deje comentado el que no funciona, es decir el de la ventana.


Otra pregunta....

Como hago para seleccionar el dato de que columna del browse quiero que coloque en el get?

Gracias desde ya por vuestra ayuda.

Code (fw): Select all Collapse
#include "fivewin.ch"

function maindialog()
聽 聽 local oDlg, oGet, cVar, aItems

聽 聽 aItems:={ {"Vaca", "Va", "Hereford", 2}, ;
聽 聽 聽 聽 聽 聽 {"Novillo", "Nov", "Angus", 2}, ;
聽 聽 聽 聽 聽 聽 {"Vaquillona", "Vaq", "Holando", 2}, ;
聽 聽 聽 聽 聽 聽 {"Toro", "To", "Cruza", 2} 聽}

聽 聽 DEFINE DIALOG oDlg FROM 0,0 to 40, 70
聽 聽 聽 聽 @ 50, 50 GET oGet VAR cVar SIZE 200, 22 OF oDlg ACTION PopupBrowse( aItems, oGet, { || .t. } ) Pixel
聽 聽 聽 聽 oGet:bKeyDown := { | nKey | If( nKey == VK_F4, PopupBrowse( aItems, oGet, { || .t. } ), ) } 
聽 聽 ACTIVATE DIALOG oDlg Center
聽 聽 
return nil

/*
function mainwindow()
聽 聽 local oWnd, oGet, cVar, aItems

聽 聽 aItems:={ {"Vaca", "Va", "Hereford", 2}, ;
聽 聽 聽 聽 聽 聽 {"Novillo", "Nov", "Angus", 2}, ;
聽 聽 聽 聽 聽 聽 {"Vaquillona", "Vaq", "Holando", 2}, ;
聽 聽 聽 聽 聽 聽 {"Toro", "To", "Cruza", 2} 聽}

聽 聽 DEFINE WINDOW oWnd FROM 0,0 to 200, 200
聽 聽 聽 聽 @ 50, 50 GET oGet VAR cVar SIZE 200, 22 OF oWnd ACTION PopupBrowse( aItems, oGet, { || .t. } ) Pixel
聽 聽 聽 聽 oGet:bKeyDown := { | nKey | If( nKey == VK_F4, PopupBrowse( aItems, oGet, { || .t. } ), ) } 
聽 聽 ACTIVATE WINDOW oWnd Center
聽 聽 
return nil
*/
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: popupbrowse
Posted: Sat Sep 10, 2016 12:35 AM

Creo esta segun lo revisado por mi hasta ahora para funcion con GET en DLG, saludos... :shock:

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: popupbrowse
Posted: Sat Sep 10, 2016 01:32 AM

Muchas gracias por tu comentario, Jos茅 Luis, sip, parece que si, me pregunto si funcionar铆an gets de estas caracter铆sticas en controles como la ribbon....
Como podr铆a hacer que devuelva el valor de una celda espec铆fica de la fila?

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Sat Sep 10, 2016 07:39 AM

Jos茅,

Esta nueva funci贸n PopupBrowse() ha sido probada por el momento en GETs en di谩logos y en XBrowses en di谩logos.
A煤n no hab铆a sido probada en ventanas.

En la pr贸xima versi贸n de FWH 16.08, se incluye un ejemplo completo de facturaci贸n en samples\yunus.prg que usa
la funci贸n PopupBrowse() desde GETs y desde el xbrowse.

Hemos modificado la funci贸n para que admita un nuevo par谩metro que indica la columna del browse de la cual
queremos el valor. Por defecto se toma el valor 1. Tu ejemplo queda asi:

... ACTION PopupBrowse( aItems, oGet,, 2 )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Sat Sep 10, 2016 08:28 AM
La funci贸n PopupBrowse() funciona tambien con el alias seleccionado, por lo que es
id贸nea para seleccionar un campo de una DBF 贸 recordset con SQL:

Code (fw): Select all Collapse
#include "fivewin.ch"

function main()
聽 聽 local oDlg, oGet, cVar

聽 聽 USE Customer

聽 聽 DEFINE DIALOG oDlg FROM 0,0 to 40, 70
聽 聽 聽 聽 @ 50, 50 GET oGet VAR cVar SIZE 100, 12 OF oDlg ACTION Customer->( PopupBrowse( nil, oGet ) ) Pixel
聽 聽 聽 聽 oGet:bKeyDown := { | nKey | If( nKey == VK_F4, Customer->( PopupBrowse( nil, oGet ) ), ) } 
聽 聽 ACTIVATE DIALOG oDlg Center
聽 聽 
return nil


regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: popupbrowse
Posted: Sat Sep 10, 2016 03:27 PM

Excelente Antonio!! ser铆a bueno agregar esta funcionalidad para usar en controles como ribbon y en ventanas :)

Me parece excelente esta mejora, ya que descubr铆 esta funcionalidad a trav茅s de este post pues no hab铆a notado que estaba en mi versi贸n, y me parece excelente.

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 03:58 PM
la funci贸n PopupBrowse() ya funciona correctamente en ventanas:

Esta versi贸n mejorada se incluye en FWH 16.08

Code (fw): Select all Collapse
#include "fivewin.ch"

function main()

聽 聽local oGet, c := space(10)
聽 聽local oWnd

聽 聽USE STATES

聽 聽DEFINE WINDOW oWnd

聽 聽@ 20,20 GET oGet VAR c SIZE 100,24 PIXEL OF oWnd ;
聽 聽 聽 ACTION PopupBrowse( Alias(), oGet )

聽 聽@ 60,20 BUTTON "OK" SIZE 100,40 PIXEL OF oWnd

聽 聽ACTIVATE WINDOW oWnd CENTERED

return nil


regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:10 PM
Esta es la forma de usar la funci贸n PopupBrowse() con un GET que use una cierta cla煤sula VALID:

This is the way to combine the use of function PopupBrowse() with the VALID of a GET:

Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

   local oGet, c := Space(10)
   local oDlg

   USE STATES

   DEFINE DIALOG oDlg TRUEPIXEL

   @ 20,20 GET oGet VAR c SIZE 100, 24 PIXEL OF oDlg ;
      ACTION PopupBrowse( Alias(), oGet ) ;
      VALID If( oGet:Cargo == nil, ( MsgInfo( "Valid" ), .T. ), .F. )

   @ 60,20 BUTTON "OK" SIZE 100, 40 PIXEL OF oDlg

   ACTIVATE DIALOG oDlg CENTERED

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:26 PM
Antonio Linares wrote:la funci贸n PopupBrowse() ya funciona correctamente en ventanas:

Esta versi贸n mejorada se incluye en FWH 16.08



Espl茅ndido Antonio, estar茅 pendiente de su lanzamiento :-)
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:33 PM

Antonio, algun sample de como usarse en un xBrowse.? gracias, saludos... :shock:

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:36 PM
Jose Luis,

Code (fw): Select all Collapse
 聽 oBrw:aCols[ 1 ]:nEditType = EDIT_BUTTON
聽 聽oBrw:aCols[ 1 ]:bEditBlock = ;
聽 聽 聽 { | nRow, nCol, oCol, nKey | Items->( PopupBrowse( nil, oCol:oBtnElip, bInit ) ) }


bInit se define asi:
Code (fw): Select all Collapse
   bInit = { | oBrwItems | oBrwItems:oWnd:bValid := ;
      { || oBrw:Code:Value  := oWndItems:oClient:Code:Value,;
           oBrw:Name:Value  := oWndItems:oClient:Name:Value,;
           oBrw:Units:Value := 1,;
           oBrw:Price:Value := oWndItems:oClient:Price:Value, .T. } }


Tenemos planes de soportar un par谩metro extra que seria el browse entero a usar, por lo que
se podria configurar totalmente a gusto del programador.



En FWH 16.08 proporcionamos una completa aplicaci贸n de facturaci贸n (samples\yunus.prg) que usa este c贸digo
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:41 PM
Antonio Linares wrote:Jose Luis,

Code (fw): Select all Collapse
 聽 oBrw:aCols[ 1 ]:nEditType = EDIT_BUTTON
聽 聽oBrw:aCols[ 1 ]:bEditBlock = ;
聽 聽 聽 { | nRow, nCol, oCol, nKey | Items->( PopupBrowse( nil, oCol:oBtnElip, bInit ) ) }




En FWH 16.08 proporcionamos una completa aplicaci贸n de facturaci贸n (samples\yunus.prg) que usa este c贸digo

Muchas gracias Antonio por tu rapida respuesta, saludos... :-)
Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 04:43 PM

Jose Luis,

Revisa mi respuesta porque la he editado despu茅s de escribirla :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: popupbrowse
Posted: Mon Sep 12, 2016 05:28 PM
Antonio Linares wrote:Jose Luis,

Revisa mi respuesta porque la he editado despu茅s de escribirla :-)


Listo Antonio, revisada de nuevo tu respuesta. gracias, saludos... :-)
Dios no est谩 muerto...



Gracias a mi Dios ante todo!

Continue the discussion