excluir numeros iguais no listbox

Delphi

16/04/2012

Olá pessoal, estou precisando de fazer um codigo que é o seguinte,
tenho 100 numeros em um list box so que eles vão de 0 a 99 aonde o 0 é o 100
exemplo:  listbox1
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 0

ai em outro listbox coloco os numeros que quero escluir
exemplo= listbox 2
01 03 05 08 12 13 15 16 18 19 21 22 25 26 27 28 31 33 34 35
37 39 45 46 48 51 55 59 63 65 67 69 70 72 74 76 77 79 81 82
83 84 85 89 88 89 91 92 93 0  38 32  71 73 78 86 60 80 10 95
por ultimo pego o que restou  no listbox1 e jogo todo em uma linha
em outro listbox o listbox3. e também jogaria estes mesmos numeros que sobraram para um stringgrid.
sendo que abriria na string grid a quantidade celulas necessárias para abrigar os numeros da listbox2
se for 40 então 40 celulas, se for 30 30 celulas etc.
obrigado antecipado a quem atender este chamado.
sucesso a todos
geraldo leal
Geraldo Leal

Geraldo Leal

Curtidas 0

Respostas

Marco Salles

Marco Salles

16/04/2012

Dica

Pesquise por Sorted

Assim a lista ira colocar em ordem

batas compara o valor do item de cima com o de baixo

caso queira fazer isto ao inderir somentes items com valores diferentes pesquisie por
IndexOf()

tipo isto

if lista.IndexOf() < 0 then
posso aacrescentar na Lista pq não existe // lista.add()
else
faço nada e vou para o proximo
GOSTEI 0
Geraldo Leal

Geraldo Leal

16/04/2012

meus agradecimentos ao amigo marcos, por responder meu chamado, e meus agradecimentos ao meu amigo
joel rodrigues, por ter feito o código para mim, pois eu não sabia como fazer,como tem pessoas que estão
precisando deste codigo, pois vi outros chamados no forum, o codigo está ai a disposição de todos com
os abonos de joel, obrigado mais uma vez.
ai estou usando 3 listbox, um string grid e um botão.

procedure TFrm_retiranumeros.Button1Click(Sender: TObject);
var
i, j, k, m:integer;
src, rem, res:string;
lo, ld:TStringList;
begin
lo:=TStringList.Create;
ld:=TStringList.Create;
lo.Delimiter := ;
ld.Delimiter := ;


for i := 0 to Pred(ListBox1.Items.Count) do
begin
src := ListBox1.Items[i];
lo.DelimitedText := src;
for j := 0 to Pred(Listapostas.Items.Count) do
begin
rem := Listapostas.Items[j];

ld.DelimitedText := rem;
// res := EmptyStr;
for k:=0 to Pred(ld.Count) do
begin
if lo.IndexOf(ld.Strings[k]) >= 0 then
lo.Delete(lo.IndexOf(ld.Strings[k]));
end;
end;

for m:=0 to Pred(lo.Count) do
begin
res := res + lo.Strings[m]+ ;
// StringGrid1.RowCount := StringGrid1.RowCount + 1;
// StringGrid1.Cells[0, StringGrid1.RowCount-2] := lo.Strings[m];


StringGrid1.ColCount := StringGrid1.ColCount + 1;
StringGrid1.Cells[StringGrid1.ColCount-2,0] := lo.Strings[m];
end;

end;
ListBox3.Items.Add(res);
listBox3.Sorted := true;


end;
GOSTEI 0
Marco Salles

Marco Salles

16/04/2012

Obrigado geraldo por compartilhar o seu código com a comunidade , mesmo sendo a resolução em off
GOSTEI 0
POSTAR