FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mal funcionamiento listbox con vector
Posts: 155
Joined: Fri Oct 21, 2005 06:35 PM
Mal funcionamiento listbox con vector
Posted: Wed Apr 02, 2008 02:26 PM

Hola.
Tengo el siguiente problema:
Creo un listbox usando un vector con cuatro elementos, cuando lo inicializo para que quede parado en el ultimo elemento y quiero usar la flecha del teclado para subir y seleccionar otro elemento no responde, note que si presiono la tecla end me refresca la pantalla y me permite seleccionar otro, no pasa esto cuando arranca en el primer elemento.
De esta manera lo creo:

Local VecComp:={"TICKET","FACTURA","CREDITO","REMITO"}

nItem1:=4

REDEFINE LISTBOX oLbxT;
FIELDS VecComp[nItem1],"";
HEAD "Tipo de comprobante","";
SIZES 250,1;
ID 1000 OF oDlg1;
ON DBLCLICK ModComp(nItem1,oLbx,Btn1,oDlg1,@CodC,ImpFisc,TipFiscal,ObsFacSiNo);
FONT oFontP

oLbxT:nClrBackFocus:=Amarillo
oLbxT:nClrForeFocus:=Negro
oLbxT:bKeyDown :={|nkey,nFlag| IF(nKey=13, ModComp(nItem1,oLbx,Btn1,oDlg1,@CodC,ImpFisc,TipFiscal,ObsFacSiNo), )}
oLbxT:bGoTop :={ || nItem1 := 1 }
oLbxT:bGoBottom :={ || nItem1 := Eval( oLbxT:bLogicLen ) }
oLbxT:bSkip :={ | nWant, nOld | nOld := nItem1, nItem1 += nWant,;
nItem1 := Max( 1, Min( nItem1, Eval( oLbxT:bLogicLen ) ) ),;
nItem1 - nOld }
oLbxT:bLogicLen :={ || Len( VecComp ) }
oLbxT:aJustify :={.t.,.f.}

Gracias
Jorge Jaurena

Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Mal funcionamiento listbox con vector
Posted: Wed Apr 02, 2008 06:20 PM

Prueba con:

oLbxT:SetArray( VecComp )

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Mal funcionamiento listbox con vector
Posted: Wed Apr 02, 2008 06:25 PM

Y le quitas:

oLbxT:bGoTop :={ || nItem1 := 1 }
oLbxT:bGoBottom :={ || nItem1 := Eval( oLbxT:bLogicLen ) }
oLbxT:bSkip :={ | nWant, nOld | nOld := nItem1, nItem1 += nWant,;
nItem1 := Max( 1, Min( nItem1, Eval( oLbxT:bLogicLen ) ) ),;
nItem1 - nOld }
oLbxT:bLogicLen :={ || Len( VecComp ) }

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 155
Joined: Fri Oct 21, 2005 06:35 PM
Mal funcionamiento listbox con vector
Posted: Thu Apr 03, 2008 11:45 AM

Hola Angel, probe el metodo que me sugeriste pero no funciona, solo se limita a repetir el texto del elemento con el cual lo inicializo, por ej. me pone REMITO en los cuatro elementos.
Lo raro es que esta misma clase (TWBrowse) funciona bien con las dbf, pero comete este error con los vectores.

Saludos
Jorge Jaurena

Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Mal funcionamiento listbox con vector
Posted: Thu Apr 03, 2008 12:42 PM

Esto me trabaja perfecto aquí:

Local VecComp:={"TICKET","FACTURA","CREDITO","REMITO"}

REDEFINE LISTBOX oLbxT;
FIELDS VecComp[oLbxT:nAt];
HEAD "Tipo de comprobante";
SIZES 250;
ID 1000 OF oDlg1

oLbxT:SetArray( VecComp )

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Mal funcionamiento listbox con vector
Posted: Thu Apr 03, 2008 12:54 PM

Claro! te repite el cuarto elemento porque es lo que le estás ordenando, debes utilizar:

VecComp[oLbxT:nAt]

y si quieres que comienze en el cuarto elemento debes hacer:

oLbxT:nAt:=4

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql

Continue the discussion