FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Array - Ayuda please
Posts: 593
Joined: Sat May 12, 2007 11:47 AM

Array - Ayuda please

Posted: Thu Jan 03, 2008 11:31 PM

Sigo con el asunto del array.

Lo que necesito hacer es "cargar" un array con los datos de dos de los campos 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

Posts: 77
Joined: Wed Jun 28, 2006 06:38 PM

Array - Ayuda please

Posted: Fri Jan 04, 2008 12:01 AM

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.

Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM

Array - Ayuda please

Posted: Fri Jan 04, 2008 03:55 AM

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
....

Continue the discussion