Dúvidas com ListBox

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Dúvidas com ListBox

Mensagem por Marcos »

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.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

Poxa ninguém manja de ListBox?!
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

: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
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

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.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

:-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
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

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

Código: Selecionar todos

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



________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

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
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

:))

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.
-:]
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

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.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

:(
CRIE UM PEQUENO EXEMPLO COM DBF,CDX,PRG E ENVIE PARA MEU EMAIL OK
:D
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

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
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Mensagem por HASA »

:-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
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

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.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Adtendickster

Mensagem por Adtendickster »

Terbastardder3

Mensagem por Terbastardder3 »

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