Tbrowse array c/multilinhas
Enviado: 10 Mai 2006 16:37
Olá companheiros, estou trabalhando no projeto abaixo, relativo a um tbrowse com array, para mostrar na segunda coluna diversas linhas.
Trata-se de uma tentativa de simulação do programa tbr33.prg do source do Clipper 5.2, só que com uma array.
Todavia, não estou conseguindo exibir corretamente os dados.
Infelizmente, os elementos (arquivos) da matriz aStru são alternadamente exibidos, ou seja, 1,3,5,7, etc.
Sei que o problema está na deifinção de nLine (ou não
?), mas não consigo solucionar o mesmo.
Alguém se habilita a ajudar.
Obrigado.
MarceloG
Compile, linkedit, execute e veja:
Trata-se de uma tentativa de simulação do programa tbr33.prg do source do Clipper 5.2, só que com uma array.
Todavia, não estou conseguindo exibir corretamente os dados.
Infelizmente, os elementos (arquivos) da matriz aStru são alternadamente exibidos, ou seja, 1,3,5,7, etc.
Sei que o problema está na deifinção de nLine (ou não
Alguém se habilita a ajudar.
Obrigado.
MarceloG
Compile, linkedit, execute e veja:
Código: Selecionar todos
#include "inkey.ch"
FUNCTION Main()
LOCAL aStru, oTbr, i, oTbc, nLine, GetList, uTbr
cls
aStru := directory()
oTbr:=TBROWSENEW(01,01,MAXROW()-2,MAXCOL()-3)
oTbr:COLORSPEC:="N/W*,N/GR*"
oTbr:COLSEP := ' '
oTbr:HEADSEP := 'ÄÄ'
nLine := 1
i := 1
oTbc:=TBCOLUMNNEW("Teste1",{||IIF(nLine == 1, aStru[i,1], "")})
oTbc:PICTURE:="@!"
oTbc:WIDTH :=20
oTbc:CARGO :="Teste1"
oTbr:ADDCOLUMN(oTbc)
oTbc:=TBCOLUMNNEW("Teste2",{||IIF(nLine == 1, aStru[i,2], aStru[i,3])})
oTbc:PICTURE:="@!"
oTbc:WIDTH :=10
oTbc:CARGO :="Teste2"
oTbr:ADDCOLUMN(oTbc)
oTbr:GOTOPBLOCK :={||nLine := 1, i := 1}
oTbr:GOBOTTOMBLOCK:={||nLine := 2, i := LEN(aStru)}
oTbr:SKIPBLOCK :={|n,nSavei|;
nSavei := i,;
i := IIF(n > 0,MIN(LEN(aStru),i+n),MAX(1,i+n)),;
IIF( (i % 2) == 0, nLine := 2, nLine := 1),;
i - nSavei}
GetList := {}
@ 01,01,MAXROW()-2,MAXCOL()-3 GET uTbr TBROWSE oTbr;
VALID {||Iif(LastKey() == K_ENTER,READKILL(.T.),.T.)}
READ
RETURN
//---------------------------------