limpar listbox

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

elaineosm
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 04 Jul 2019 13:14
Localização: BM/RJ

limpar listbox

Mensagem por elaineosm »

Olá!
Alguém sabe informar como limpar o conteúdo de uma listbox?

Tenho uma listbox com 4 opções e ela só fica ativa (propositalmente) se o campo opc1 for vazio..

Código: Selecionar todos

get cOpc1 valid setLista()
get lbLISTA
LISTBOX {"teste1","teste2,"teste3","teste4"} when empty(cOpc1)

//até ai td bem.

// Esta função abaixo é para apagar o conteúdo do listbox caso o campo cOpc seja preenchido.
function setLista
  if ! empty(cOpc1)
     lbLISTA = space(06)
  endif
return .t.
acontece q quando altero o conteúdo de cOpc1 para vazio, a listbox não fica em branco...
Editado pela última vez por JoséQuintas em 06 Ago 2020 22:16, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 783
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

limpar listbox

Mensagem por Fernando queiroz »

Código: Selecionar todos

LOCAL oCIDADE;
	, nI;

	DO WHILE .T.
	
		FOR nI = Len( aMunicipios ) TO 1 STEP -1
		   hb_ADel( aMunicipios, nI, .T. )
		NEXT
		IF Len(aMunicipios) <= 0
			EXIT
		ENDIF
	ENDDO
	FOR EACH oCIDADE IN SEFAZ_CIDADE
		IF oCIDADE[1] == mUF
			AAdd(aMunicipios,oCIDADE[3])
		ENDIF
	NEXT

 RETURN NIL
Editado pela última vez por JoséQuintas em 06 Ago 2020 22:17, em um total de 2 vezes.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
HARBOUR 3.2, HWGUI 2.23 B7, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart, Python + FASTAPI , Android Kotlin
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

limpar listbox

Mensagem por JoséQuintas »

Não sei se dá pra limpar a lista, uma vez que ela é criada na montagem dos GETs.
Em todo caso, teste com um array.

Código: Selecionar todos

LOCAL cOpc1, aOpcList := {}

@ 1, 0 get cOpc1 VALID SetLista( cOpc1, @aList )
@ 2, 0 get aList LISTBOX aOpcList when empty( cOpc1 )

function setLista( cOpc1, aList )

  if empty( cOpc1 )
      aList := {"teste1","teste2,"teste3","teste4"}
   else
     aList := {}
  endif

   return .t.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

limpar listbox

Mensagem por JoséQuintas »

Só dá certo assim, mas é até melhor, porque isola o fonte.

Código: Selecionar todos


PROCEDURE Main

   LOCAL cOpc1 := Space(3), x := Space(1), GetList := {}

   SetMode( 30, 100 )
   CLS
   @ 1, 0 GET cOpc1 VALID Check( @cOpc1 )
   @ 3, 0 GET x
   READ

   RETURN

FUNCTION Check( cOpc1 )

   LOCAL nTest := 1, GetList := {}
   LOCAL aList := { "teste1","teste2","teste3","teste4" }

   IF ! Empty( cOpc1 )
      RETURN .T.
   ENDIF
   SAVE SCREEN
   @ 2, 0, 8, 10 GET nTest LISTBOX aList 
   READ
   RESTORE SCREEN

   RETURN .T.
Muita atenção ao LOCAL GetList := {}
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
elaineosm
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 04 Jul 2019 13:14
Localização: BM/RJ

limpar listbox

Mensagem por elaineosm »

Na verdade nem precisava remover os itens da lista... apenas deixar o campo em branco, ou seja, pra que no campo do arquivo o valor seja vazio.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 783
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

limpar listbox

Mensagem por Fernando queiroz »

Tem esta opção tambem


hwg_Sendmessage( ThisNFE:oCombo4:handle, CB_RESETCONTENT, 0, 0 )
HARBOUR 3.2, HWGUI 2.23 B7, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart, Python + FASTAPI , Android Kotlin
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

limpar listbox

Mensagem por JoséQuintas »

Fernando queiroz escreveu:Tem esta opção tambem
hwg_Sendmessage( ThisNFE:oCombo4:handle, CB_RESETCONTENT, 0, 0 )
Acho que confundiu.
O Listbox em questão é da GETSYS, console.
O que mostrou é do combox, componente do Windows (apesar do comando parecer da hwgui, é a troca de mensagens do Windows)
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder