Clipper On Line • Ver Tópico - Dúvidas com ListBox
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

Dúvidas com ListBox

17 Mai 2006 08:43

Bom dia, estou com uma dúvida num ListBox que é a seguinte: Tenho para meu cadastro de clientes um cadastro de propriedades, assim, um cliente pode ter várias propriedades, pensei então no ListBox para listar as várias propriedades que pode ter um cliente, tenho um browse chamado clientes, de dentro dele pressiono uma tecla que abre o ListBox e na propriedade Items do ListBox amarrei uma rotina chamado Filtro que segue abaixo:
STATIC FUNCTION FILTRO()
xCodigoCli:=CODI
Select PROPRIED
DbSetOrder(3)
PROPRIED->(dbseek(xCodigoCli))
If Found()
ORDSCOPE(0,xCodigoCli)
ORDSCOPE(1,xCodigoCli)
Else
MsgExclamation('Não existe nenhuma Propriedade para este cliente!','Banco de Dados')
Endif
Return( nil )
Mas eu acredito que meu procedimento está todo errado, por isto peço ajuda dos senhores, para o Dudu está situação já é conhecida, uma vez ele me ajudou no mesmo problema.
Abraços,
Marcos.

18 Mai 2006 08:27

Poxa ninguém manja de ListBox?!

18 Mai 2006 19:18

:D ACRESCENTE NO FINAL DO SEU IF FOUND, ANTES DO ELSE CLARO:
*** Exclui todos os registros do Listbox
DELETE ITEM ALL FROM LIST_1 OF FORM_1

DBGOTOP()

DO WHILE .NOT. EOF() .AND. xCodigoCli:=CODI
ADD ITEM CAMPO TO LIST_1 OF FORM_1
DBSKIP()
ENDDO

FORM_2.LIST_1.SETFOCUS

RESPEITANDO SEUS FORM´s E CAMPOS OK

19 Mai 2006 08:32

Obrigado HASA por ter respondido, é o seguinte, fiz o teste como vc me passou, está dando erro na linha onde informo os Form's:
DELETE ITEM ALL FROM LIST_1 OF FORM_1
ADD ITEM CAMPO TO LIST_1 OF FORM_1
Eu troquei pelos meus form's e campos mas nada, outra coisa, desta forma não vai mas precisar do filtro que fiz usando ORDSCOPE(0,xCodigoCli)?
Marcos.

19 Mai 2006 09:12

:-o FAZ O SEGUINTE, POSTE AQUI SE POSSIVEL O MENOR EXEMPLO QUE PODER AONDE OCORRE O PROBLEMA E ACERTO PARA VC OK.
:)) CASO QUEIRA PODE ENVIAR TAMBÉM PARA SUPORTE@INFO2000INFORMA.COM

19 Mai 2006 09:15

Bom dia.
Eu adicione o While do Hasa e carreguei em uma matriz

Código:

// Carrego matriz da listbox
aItens := {}
DO WHILE .NOT. EOF() .AND. xCodigoCli:=CODI
   aadd(aItens,CAMPO)
   DBSKIP()
ENDDO
       
// Carrego o Form
DEFINE WINDOW Form_1 ;
        AT 0,0 WIDTH 640 HEIGHT 480 ;
        TITLE 'Teste' ;
        MAIN NOMAXIMIZE

        @ 50,010 LISTBOX ListBox_1 WIDTH 140 HEIGHT 110 ;
        ITEMS aItens ;
        value 1 ;       
        backcolor {0,255,255}

End Window
Activate Window Fom_1

Return Nil

19 Mai 2006 17:47

Cara funcionou 50%, ele só funciona uma vez, e na segunda tentativa ele só fica na opão que destaquei em vermelho, tenho que sair do programa e entrar novamente para funcionar mais uma vez.

xCodigoCli:=CODI
Select PROPRIED
DbSetOrder(3)
PROPRIED->(dbseek(xCodigoCli))
If Found()
aItens := {}
ORDSCOPE(0,xCodigoCli)
ORDSCOPE(1,xCodigoCli)
DBGOTOP()
DO WHILE .NOT. EOF()
aadd(aItens,NOME)
DBSKIP()
ENDDO
IF !IsWindowDefined(&mListPro)
LOAD Window ListaPro
ON KEY ESCAPE OF &mListPro ACTION SairListPro()
ENDIF
&mListPro..activate
Else
MsgExclamation('Não existe nenhuma Propriedade para este cliente!','Banco de Dados')
Endif
Return( nil )

Marcos

20 Mai 2006 08:49

:))

Isso porque você carrega o listbox ao acessar a função que tem o browse (me parece), faça com que cada chamada ao listbox os intens do litsbox sejam apagados e recarregados.
-:]

20 Mai 2006 10:39

Ao HASA e ao DUDU, obrigado pela grandiosa ajuda, eu fiz os testes não é por não deletar os itens do ListBox que não é possivel executar a função pela segunda vez com êxito, porque na segunda execução nem entra no laço onde carrega o ListBox, já fiz testes para ver se está perdendo a referência do Codigo na segunda tentativa mas nada!
Marcos.

20 Mai 2006 10:47

:(
CRIE UM PEQUENO EXEMPLO COM DBF,CDX,PRG E ENVIE PARA MEU EMAIL OK
:D

22 Mai 2006 08:27

Obrigado HASA pela ajuda, mas ainda não recebi o e-½ que vc enviou, vou listar abaixo meus e-½ que vc pode usar:

daroca@terra.com.br
marcosilva90@hotmail.com

22 Mai 2006 08:50

:-O
Bom dia Marcos, eu não enviei email para vc pedi um email com pequeno PRG, DBF, CDX, ETC... para poder visualisar o problema, corrigir e ai sim retornar solucionado ok. Porque só com esse PRG que vc enviou fica dificil detectar o problema ok :D

22 Mai 2006 16:19

Gostaria de encerrar este tópico como assunto resolvido, e deixar meus agradecimentos a todos que tiraram um tempo para me ajudar, em especial ao Dudu e o HASA que se dispuseram em resolver meu problema.
Também passar para todos a forma de como eu resolvi o problema:
Não sei ao certo como foi, mas acredito que o problema foi resolvido quando Cancelei o Filtro assim:

PROPRIED->(OrdScope( 0, NIL))
PROPRIED->(OrdScope( 1, NIL))

Como não estava entrando no laço para ativar o LisBox pensei que não poderia ser este o problema, mas é isto aí, foi vacilo meu mesmo!
Abraços e boa semana a todos.
Marcos.

12 Dez 2006 08:33

Shoking movie...

http://nakedparishilton.info/censored/135312

22 Dez 2006 10:29

check this 8=)
http://askbritneyspears.info/uncensored/46283
regards, Terbastardder3
Postar uma resposta