Fórum Dorivan Sousa me ajuda amigo por favor.... #523908

24/06/2015

0

estou com um unico problema.....veja


//uso essa funçao pra selecionar os items da listbox sem precisar clickar nos items.....

//para chamar a funçao uso: //btnShowSelectedClick;

procedure TForm1.btnShowSelectedClick;
var
vSelected: TStrings;
begin
vSelected := TStringList.Create;
try

GetSelectedItems(ListBox2, vSelected);

finally
vSelected.Free;
end;
end;

ate ai tudo bem.......
agora vamos para segunda parte...


//com essa funçao estou usando o Edit7..para passar um numero inteiro..seria a quantidade de items a ser selecionado.... e repassado para o Edit6... e depois deleto os items que foram selecionado.

//parar charmar essa funçao uso ://GetSelectedItems(ListBox2, vSelected); que esta sendo chamado na rotina de cima......



procedure Tform1.GetSelectedItems(ListBox2: TListBox; AList: TStrings);
var

i: Integer;
valor1: Integer;
numero: Integer;

begin
AList.Clear;
Edit6.Clear;

numero := StrToInt(edit7.Text);

for i := 0 to numero -1 do
begin

ListBox2.Selected[numero] := true;

AList.AddObject(ListBox2.Items[numero], ListBox2.Items.Objects[numero]);

Edit6.Text := AList.Text;

Listbox2.DeleteSelected;


if (ListBox2.ItemIndex = ListBox2.Items.Count -1) then
begin

Timer1.Enabled := false;
Timer2.Enabled := false;

end;
end;
end;



Porem se eu digitar no Edit7...o numero 3 ...a listbox começa selecionar os items so depois do terceiro item.... preciso que começe selecionar os items desdo primeiro item... Como posso arrumar isso ????


amigo aqui esta meu problema......

https://www.sendspace.com/file/5ksb8y

fiz um pequeno prejeto mostrando o meu problema....abaixe o codigo fonte aberto para avaliar.....

preencha o edit : Quant: com numeros 2 ou 3 e vai ver o pequeno erro...


grato pela atençao..........
Bruno

Bruno

Responder

Post mais votado

24/06/2015

Bruno por gentileza, quando for postar trechos de código fonte utilize a tag code:
[img]http://arquivo.devmedia.com.br/forum/imagem/269142-20150624-065606.png[/img]

Quanto a sua dúvida, experimente mudar o índice interno do loop de numero => i:
procedure Tform1.GetSelectedItems(ListBox2: TListBox; AList: TStrings);
var

i: Integer;
valor1: Integer;
numero: Integer;

begin
AList.Clear;
Edit6.Clear;

numero := StrToInt(edit7.Text);

for i := 0 to numero -1 do
begin

   ListBox2.Selected[i] := true;

   AList.AddObject(ListBox2.Items[i], ListBox2.Items.Objects[i]);

   Edit6.Text := AList.Text;

   Listbox2.DeleteSelected;

   if (ListBox2.ItemIndex = ListBox2.Items.Count -1) then
   begin

      Timer1.Enabled := false;
      Timer2.Enabled := false;

   end;
end;
end;

William

William
Responder

Gostei + 1

Mais Posts

24/06/2015

Bruno

Amigo Deu certinhoo Muito obrigado mesmo sem palavras.......
Responder

Gostei + 0

24/06/2015

Dorivan Sousa

que bom que vc resolveu seu problema Bruno eu executei o codigo que voce postou e nao entendi bem o que era que vc buscava fazer e acabei por esquecer de olhar novamente... quem sabe na proxima eu possa ajudar.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar