Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinicius Santanna

Exclusão em ListBox e arrays

Recommended Posts

Boa Noite Pessoal!

 

Estou com uma probleminha em um form do meu programa. Nesse Form o usuario deverá cadastrar uma equipe de no maximo dez pessoas. Ao Fazer o cadastro o programa joga as informações para os seus arrays respectivos e tambem adiciona as informações em um listbox, que posteriormente são armazenadas uma tabela.

 

Até aqui eu utilizei esse codigo:

procedure TFmFormarEq.BotAdicionarClick(Sender: TObject);VarvFuncionario: array[1..10] of String;vSetor: array[1..10] of String;vFuncao: array[1..10] of String;vTipo: array[1..10] of String;i: integer;beginvClick:= vClick + 1;  //---Rotina de inclusão para cadastro. Formulario: FmFormarEq------------  For i:= 1 to 10 do   Begin	  If vClick = i then		Begin		  //--Confere BoxTipoEquipe		  If (vRepeatCoordenador = True) and (BoxTipoEquipe.Text = 'Coordenador') then			  Begin			  ShowMessage('Não é possível ter mais de um coordenador na mesma equipe');			  end		  else			Begin			   If BoxTipoEquipe.Text = 'Coordenador' then				  Begin				  vRepeatCoordenador:= True;				  end;			   //--Distribuindo valores às variveis---			   vFuncionario[i]:= EditFuncionario.Text;			   vSetor[i]:= EditSetor.Text;			   vFuncao[i]:= EditFuncao.Text;			   vTipo[i] :=  BoxTipoEquipe.Text;			   //--Adicionando nomes à Lista----------			   ListCadastro.Items.Add(IntToStr(i) + '  ' + vTipo[i] + '  ' + vFuncionario[i]+ '   |   ' +vFuncao[i]+ '   |   '+ vSetor[i]);			   //--Zerando campos---------------------			   EditFuncionario.Text:='';			   EditSetor.Text:= '';			   EditFuncao.Text:= '';			end;		end;   end;  //----  //--Informa que o numero de integrantes esta completo  If vclick = 10 then	Begin	showmessage('Numero de integrantes da equipe completo. Pressione Avançar para continuar')	end;end;

 

O problema vem na hora de excluir algum membro da equipe. Para excluir, o usuario escolhe no ListBox o membro da equipe desejado e clica em excluir. Mas eu só sei excluir da ListBox, como eu faço pra excluir o cara da ListBox e ao mesmo tempo limpar sua respectiva array?

 

A opção que eu tinha pensado era pegar a primeira palavra(numero no caso) da linha selecionada no ListBox que corresponde ao numero da Array que eu quero excluir, dai então eu limpo a array correspondente e depois excluo a linha do ListBox. Mas tambem não sei como pegar esse numero. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Se alguem souber por favor me ajude.

 

Grato

Vinicius Sant'Anna

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nunca usei a TStringList, apenas olhei alguns exemplos na net, mas pelo oque eu entendi eu substiruiria as arrays pelo TStringList...certo??? Mas na hora de excluir, o usuario exclui pelo ListBox, e como eu vou saber qual a linha do ListBox é a correnpondente com a do TSringList?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, irá Substituir o array...

 

Conclui-se que você está fazendo da ListBox um espelho dos itens da StringList... logo o Index que estiver selecionado na ListBox você vai deletar da StringList, após feito isso você recarrega a ListBox com os Itens da StringList...

 

Mas também devem haver meios de busca... dê uma pesquisada na StringList... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.