FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Crear un Browse tipo Excel.
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Crear un Browse tipo Excel.
Posted: Thu Dec 01, 2016 12:56 PM
Hola estoy queriendo crear un browse tipo excel con x columna e y filas, en prinicpio he puesto 7 columnas y añado una fila,que pueden ir cambiando según determine el usuario pero no lo consigo , si lo hago asi :
Code (fw): Select all Collapse
 DEFINE DIALOG oDDATOS RESOURCE "FOLDER" TITLE " " OF oApp:aMod[20]:oWnd

 REDEFINE BROWSE oBrwt ID 101 of oDDATOS

 OBrwt:SetArray( tfilas )


 VASCII:= 65

 for i:=1 to 7
 
     if i = 1
        ADD COLUMN to oBrwt ARRAY ELEMENT 1 HEADER " " size 100
     ELSE
         ADD COLUMN to oBrwt ARRAY ELEMENT i HEADER CHR(VASCII++) size 50
     endif

 next i
  aadd(tfilas,{"1","2","3","4","5","6","7"})

Me pone en la primera columna el 1 y despues en todas las demas el 7 . Supongo que sera porque todas las columna cogen el element 7

Tambien he probado asi, pero entonces no me saca ningún valor

Code (fw): Select all Collapse
 DEFINE DIALOG oDDATOS RESOURCE "FOLDER" TITLE " " OF oApp:aMod[20]:oWnd

 REDEFINE BROWSE oBrwt ID 101 of oDDATOS

 OBrwt:SetArray( tfilas )


 VASCII:= 65

 for i:=1 to 7
     if i = 1
        Define Column oCol Head "" Size 50
        oBrwt:AddColumn(oCol)
     else
        Define Column oCol Head CHR(VASCII++) Size 50
        oBrwt:AddColumn(oCol)
     endif


 next i
  aadd(tfilas,{"1","2","3","4","5","6","7"})


¿Alguna ayuda?

Muchas Gracias
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Crear un Browse tipo Excel.
Posted: Fri Dec 02, 2016 12:47 PM

Hola , no se si me habre explicado quiero crear distintas columnas pero a la hora de asignarle el element de el array siempre se queda con el ultimo valor del for.

Lo que necesito es saber como crear "x" columnas que pueden variar.

Supongo que debo usar addcolumn pero como le asigno el element del array.

Por favor necesito ayuda, estoy parado y necesito seguir.

Muchas Gracias.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Crear un Browse tipo Excel.
Posted: Fri Dec 02, 2016 12:58 PM
Hola,


Necesitas aplicar el concepto detached locals. Si lo buscas en el foro, hay muchos ejemplos de ello "detached".
En el caso que nos trae, la necesidad de su utilizacion se deberá a que la clausula ELEMENT del comando ADD COLUMN debe estar convirtiendo i a codeblock, y por eso tiene el valor último de la variable.

En tu caso seria asi:

Code (fw): Select all Collapse
 for i:=1 to 7
 
     if i = 1
        ADD COLUMN to oBrwt ARRAY ELEMENT 1 HEADER " " size 100
     ELSE
         // ADD COLUMN to oBrwt ARRAY ELEMENT i HEADER CHR(VASCII++) size 50
         FunDetached(oBrwt, i, VASCII++)
     endif

 next i

STATIC FUNCTION FunDetached(oBrwt, i, VASCII)

ADD COLUMN to oBrwt ARRAY ELEMENT i HEADER CHR(VASCII) size 50
RETURN NIL


Saludos
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Crear un Browse tipo Excel.
Posted: Fri Dec 02, 2016 12:59 PM

Muchísimas Gracias. Lo pruebo y comento el resultado.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Crear un Browse tipo Excel.
Posted: Fri Dec 02, 2016 01:23 PM

Funcionó perfectamente, lo tendré muy encuenta.

Muchísimas gracias

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com

Continue the discussion