Page 2 of 2
Re:
Posted: Tue Jan 31, 2012 9:40 pm
by ACC69
Francisco Horta wrote:Wanderson,
yo uso wbrowse de HDC y me va bien con dbf o con arrays, como comenta Antonio uso campos logicos y con eso distingo mis selecciones,

salu2
paco
Buenas tardes Francisco Horta, como esta, un favor, como hace en tu codigo de marcar todos y desmarcar todos los checkbox, uso la clase de Hernan Ceccarelli,actualmente lo tengo definido en marcar uno por uno, pero como marcar todos con multiseleccion, porfas. Si me podria ayudar con ese detalle y si me funcionaria igual con arrays?
Buenas tardes a todos los ingenieros,alguien ha realizado rutina de marcar y desmarcar registros desde control de Checkbox,que no sea desde Button? Uso la clase de Hernan Ceccarelli,actualmente solo tengo la rutina de marcar uno por uno en cada linea, pero quisiera desde encabezado , desde control de checkbox, marcar y desmarcar registros, al darle click,algo parecido como el correo de MSN, cuando estamos leyendo nuestro correo en msn, y le damos click, a marcar todos a borrar,espero haberme explicado.
Gracias y saludos
Atte: Adrian C. C.
acc69@hotmail.comGracias , le envio saludos
Atte: Adrian C. C.
acc69@hotmail.com
Re: Twbrowse con multiselecion
Posted: Wed Feb 01, 2012 1:54 am
by jbrita
Amigo yo lo hago asi
DEFINE BUTTON OF oBar RESOURCE "Bar_Ord" NOBORDER;
TOOLTIP "Seleccionar Todas" ACTION SeleccionTodas(oLbx,aSel)
@ 0, 0 LISTBOX oLbx ;
FIELDS Desp_Mar(aX),Date2Txt((cRec_Desp)->Fec_Viaj),Str((cRec_Desp)->Gde_Carg,10),(cRec_Desp)->Nom_Chofe,(cRec_Desp)->Pat_Cami,TRANSFORM((cRec_Desp)->Pes_Cami,"99,999,999.99"),Str((cRec_Desp)->Cod_Carg,3),Str((cRec_Desp)->Cod_Viaj,3),(cRec_Desp)->Det_Viaj;
HEADERS "DESPACHAR","Fec.Viaje","Guia","Nombre del Chofer","Patente","Peso","Carga","Cod_Viaje","Origen/Destino";
SIZES 90,68,80,200,60,80,40,55,200;
OF oWChld ALIAS (cRec_Desp)->(Alias()) UPDATE FONT oVentPrinc:oFont
STAT FUNC SeleccionTodas(oLbx,aSel)
*--------------------------------------
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF len(aSel) > 0
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
ELSE
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
Endif
oLbx:Refresh()
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
Espero q te sirva
saludos
Re: Twbrowse con multiselecion
Posted: Wed Feb 01, 2012 3:00 pm
by ACC69
jbrita wrote:Amigo yo lo hago asi
DEFINE BUTTON OF oBar RESOURCE "Bar_Ord" NOBORDER;
TOOLTIP "Seleccionar Todas" ACTION SeleccionTodas(oLbx,aSel)
@ 0, 0 LISTBOX oLbx ;
FIELDS Desp_Mar(aX),Date2Txt((cRec_Desp)->Fec_Viaj),Str((cRec_Desp)->Gde_Carg,10),(cRec_Desp)->Nom_Chofe,(cRec_Desp)->Pat_Cami,TRANSFORM((cRec_Desp)->Pes_Cami,"99,999,999.99"),Str((cRec_Desp)->Cod_Carg,3),Str((cRec_Desp)->Cod_Viaj,3),(cRec_Desp)->Det_Viaj;
HEADERS "DESPACHAR","Fec.Viaje","Guia","Nombre del Chofer","Patente","Peso","Carga","Cod_Viaje","Origen/Destino";
SIZES 90,68,80,200,60,80,40,55,200;
OF oWChld ALIAS (cRec_Desp)->(Alias()) UPDATE FONT oVentPrinc:oFont
STAT FUNC SeleccionTodas(oLbx,aSel)
*--------------------------------------
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF len(aSel) > 0
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
ELSE
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
Endif
oLbx:Refresh()
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
Espero q te sirva
saludos
Hola buenos dias, gracias JBRITA, pero funcionara desde un encabezado con el control de Checkbox? marcar y desmarcar, parecido a la imagen contenido del Ing Francisco Horta, pero a diferencia que lo tiene con el control de button, yo lo que quiero es con checkbox, al darle click, no se si me haya explicado bien, de todas maneras probare, aunque no veo, si es falso o verdadero la condicion, que quiero marcar y desmarcar, ya que tengo un campo llogico, y al marcar todos en la pantalla principal, que me marque al darle click desde encabezado de checkbox
Re: Twbrowse con multiselecion
Posted: Thu Feb 02, 2012 2:39 am
by jbrita
bueno aca va de nuevo:
LOCAL aX[6]
aSel:= {}
aX[1]:=LoadBitMap(GetResources(),"C_ChF") //este es el cudradito
aX[2]:=LoadBitMap(GetResources(),"C_Azl") // aca esta el cuadradito pero con tick
DEFINE BUTTON OF oBar RESOURCE "Bar_Ord" NOBORDER;
TOOLTIP "Seleccionar Todas" ACTION SeleccionTodas(oLbx,aSel)
// cuando entra al browse pone toda el browse en cuadradito con la funcion desp_mar
@ 0, 0 LISTBOX oLbx ;
FIELDS Desp_Mar(aX),(cRec_Desp)->Det_Viaj;
HEADERS "DESPACHAR,"Origen/Destino";
SIZES 90,200;
OF oWChld ALIAS (cRec_Desp)->(Alias()) UPDATE FONT oVentPrinc:oFont
oLbx:aJustify :={.t.,.t.,.t.,.f.,.t.,.f.,.t.,.t.,.f.}
oLbx:bLDblClick :={|| Asigna_Ven(oLbx,aSel)}
STAT FUNC Desp_Mar(aX) // Marca 'check box'
LOCAL n:=1
n:=IF(AScan(aSel,(cRec_Desp)->(Recno()))<>0,2,n)
RETURN (aX[n])
STAT FUNC Asigna_Ven(oLbx,aSel) // Selecciona registro
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF x<>0
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
ELSE
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
ENDIF
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
STAT FUNC SeleccionTodas(oLbx,aSel)
*--------------------------------------
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF len(aSel) > 0
* aSel:={}
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
ELSE
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
Endif
oLbx:Refresh()
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
Re: Twbrowse con multiselecion
Posted: Fri Feb 03, 2012 9:33 pm
by ACC69
jbrita wrote:bueno aca va de nuevo:
LOCAL aX[6]
aSel:= {}
aX[1]:=LoadBitMap(GetResources(),"C_ChF") //este es el cudradito
aX[2]:=LoadBitMap(GetResources(),"C_Azl") // aca esta el cuadradito pero con tick
DEFINE BUTTON OF oBar RESOURCE "Bar_Ord" NOBORDER;
TOOLTIP "Seleccionar Todas" ACTION SeleccionTodas(oLbx,aSel)
// cuando entra al browse pone toda el browse en cuadradito con la funcion desp_mar
@ 0, 0 LISTBOX oLbx ;
FIELDS Desp_Mar(aX),(cRec_Desp)->Det_Viaj;
HEADERS "DESPACHAR,"Origen/Destino";
SIZES 90,200;
OF oWChld ALIAS (cRec_Desp)->(Alias()) UPDATE FONT oVentPrinc:oFont
oLbx:aJustify :={.t.,.t.,.t.,.f.,.t.,.f.,.t.,.t.,.f.}
oLbx:bLDblClick :={|| Asigna_Ven(oLbx,aSel)}
STAT FUNC Desp_Mar(aX) // Marca 'check box'
LOCAL n:=1
n:=IF(AScan(aSel,(cRec_Desp)->(Recno()))<>0,2,n)
RETURN (aX[n])
STAT FUNC Asigna_Ven(oLbx,aSel) // Selecciona registro
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF x<>0
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
ELSE
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
ENDIF
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
STAT FUNC SeleccionTodas(oLbx,aSel)
*--------------------------------------
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF len(aSel) > 0
* aSel:={}
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
ELSE
(cRec_Desp)->(DBGOTOP())
DO WHILE !(cRec_Desp)->(Eof())
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
(cRec_Desp)->(DbSkip())
ENDDO
(cRec_Desp)->(DBGOTOP())
Endif
oLbx:Refresh()
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
Hola JBRITA, gracias por responder, y mil disculpas, por no responder, estaba fuera de la ciudad, y pues ya mas o menos me esta dando una idea de implementarlo, solo que hay un detalle que me surgio la duda, se podra seleccionar los registros unicamente estando en la pantalla presente y si le doy siguiente pantalla, al igual se podra selecccionar y no seleccionar ALL, todos de un jalon, unicamente los registros, que esten presente en la pantalla, expero haberme explicado, pero con eso ya mas o menos me esta dando la idea.
Gracias y que tengan un excelente fin de semana, que me pondre a aplicarlo a mi sistema .
Saludos .
Atte: Adrian C. C.
acc69@hotmail.com
Re: Twbrowse con multiselecion
Posted: Fri Feb 03, 2012 11:23 pm
by joseluisysturiz
Es mi humilde comentario, con xBrowse es tan facil hacer lo que quieres, porque no usarlo si ya es casi nativo de FWH.? saludos...

Re: Twbrowse con multiselecion
Posted: Fri Feb 03, 2012 11:30 pm
by Daniel Garcia-Gil
joseluisysturiz wrote:porque no usarlo si ya es casi nativo de FWH
Es totalmente nativo de fivewin, no lo encontraras en ninguna otra GUI

Re: Twbrowse con multiselecion
Posted: Sat Feb 04, 2012 6:18 am
by joseluisysturiz
Daniel Garcia-Gil wrote:joseluisysturiz wrote:porque no usarlo si ya es casi nativo de FWH
Es totalmente nativo de fivewin, no lo encontraras en ninguna otra GUI

Saludos Daniel, gracias por dar por aclarado mi comentario, reitero, xBrowse hace todo eso y mas y es nativa de FWH, saludos...

Re: Twbrowse con multiselecion
Posted: Tue Feb 07, 2012 6:02 pm
by ACC69
joseluisysturiz wrote:Daniel Garcia-Gil wrote:joseluisysturiz wrote:porque no usarlo si ya es casi nativo de FWH
Es totalmente nativo de fivewin, no lo encontraras en ninguna otra GUI

Saludos Daniel, gracias por dar por aclarado mi comentario, reitero, xBrowse hace todo eso y mas y es nativa de FWH, saludos...

Gracias Daniel y Jose Luis, pero eso me llevaria tiempo, cambiar todo mi codigo fuente y la forma como llamo a otro browse,para mostrar datos de movimientos, he visto que el XBrowse, cada dia se va siendo mas robusto y elegante, un dia que me de tiempo, hare, pruebas y ejemplos, de todas maneras muchas gracias a los dos.
Saludos y buen dia a todos .
Atte: Adrian C. C.
acc69@hotmail.com