Page 1 of 1

Array - Ayuda please

Posted: Thu Jan 03, 2008 11:31 pm
by rolando
Sigo con el asunto del array.

Lo que necesito hacer es "cargar" un array con los datos de dos de _ de una DBF y luego hacer un browse de dos columnas con ese array para que, al hacer doble click sobre una fila realice una acción.

Estuve viendo el ejemplo testarr5.prg pero no me sirve ya que al array lo carga con la función directory( "*.prg" ).

Lo que necesito es un ejemplo completo de como cargarlo y como hojearlo.

Gracias.

Rolando :D

Posted: Fri Jan 04, 2008 12:01 am
by alex_cyr
que tal Rolando, espero esto te sirva:

(lalias)->(dbgotop())
do while (lalias)->(!eof())
aadd(adatosh,{(lalias)->columna1,(lalias)->columna2})
(lalias)->(dbskip())
enddo

TWBrowse():lHScroll:= .f.
@ 34,02 LISTBOX agets[8] FIELDS "";
HEADERS 'Columna 1','Columna2';
FIELDSIZES 60,100;
ON DBLCLICK haceralgo();
SIZE 228,82 OF ODlg PIXEL

agets[8]:bLine:= {|nAt| nAt:= agets[8]:nAt, If( Len(adatosh) <1 .or. nAt>Len(adatosh),Array(2),;
{adatosh[nAt,1],;
transform(adatosh[nAt,2],'999,999,999.99')
})}

agets[8]:SetArray( adatosh )


saludos.
Alex.

Posted: Fri Jan 04, 2008 3:55 am
by Willi Quintana
Pan chancay.... (expresion que significa.... fácil.....)


local aArray:={}

DO WHILE !EOF()
AADD(aArray , {((cAlias)->MODELO) , ((cAlias)->CHASIS)})
DBSKIP()
ENDDO

IF LEN(aArray) = 0 // por si no se lleno el arreglo
AADD(aArray,{"",""})
ENDIF

DEFINE DIALOG oDlg RESOURCE 1009 OF oWnd
REDEFINE LISTBOX oLbx ;
FIELDS aArray[oLbx:nAt, 1], aArray[oLbx:nAt, 2] ;
HEADERS "MODELO", "CHASSIS" ;
ON DBLCLICK oDlg:End() ; // aqui le pones alguna funcion
SIZES 100, 100 ;
ID 102 OF oDlg

oLbx:SetArray(aArray)
oLbx:cTooltip:='Doble click para selectar ítem y salir'

ACTIVATE DIALOG oDlg CENTER
....