GARANTIR DESCONTO

Fórum ListBox - Substituir Caracter #322465

29/05/2006

0

Boa noite,

Estou com uma dificuldade em localizar uma string em um ListBox e substituir ela

Exemplo:

No meu Sistema tem 2 ListBox, em um tem uma sequencia de numeros, que vai de 001 a 120, no outro ListBox tenho 39 valores Randomico dentre esses 120. Queria que ao apertar um botão, ele localizasse na ListBox1, os numeros contidos na ListBox2 e acrescentasse um X na frente do numero que estiver na ListBox2 e nos demais, gostaria que saisse um Z nakeles que não estiverem na ListBox2.
Exemplo grafico

ListBox1      ListBox2   ListBox1(Após aperto do botão)
001           005            001 X
002           001            002 Z
003           110            003 Z
004           098            004 Z
.                                005  X
.                                 .
.                                 .
098                             .
.                                 098 X
.                                 . 
.                                 .
120                             . 
                                  120 Z



Espero ter me espressado bem


Facc

Facc

Responder

Posts

30/05/2006

Marcio.theis

Uma das formas:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
    x, z: integer;
begin
for x:=0 to ListBox2.Count - 1 do
    begin
    for z:=0 to ListBox1.Count - 1 do
        begin
        if ListBox2.Items.Strings[x] = ListBox1.Items.Strings[z] then
            ListBox1.Items.Strings[z]:=ListBox1.Items.Strings[z] + ´ X´;
        end;
    end;
for x:=0 to ListBox1.Count - 1 do
    if ListBox1.Items.Strings[x][Length(ListBox1.Items.Strings[x])] <> ´X´ then
        ListBox1.Items.Strings[x]:=ListBox1.Items.Strings[x] + ´ Z´;
end;



Responder

Gostei + 0

30/05/2006

Facc

[quote:b23b29cbfd=´/]/]@t´]Uma das formas:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
    x, z: integer;
begin
for x:=0 to ListBox2.Count - 1 do
    begin
    for z:=0 to ListBox1.Count - 1 do
        begin
        if ListBox2.Items.Strings[x] = ListBox1.Items.Strings[z] then
            ListBox1.Items.Strings[z]:=ListBox1.Items.Strings[z] + ´ X´;
        end;
    end;
for x:=0 to ListBox1.Count - 1 do
    if ListBox1.Items.Strings[x][Length(ListBox1.Items.Strings[x])] <> ´X´ then
        ListBox1.Items.Strings[x]:=ListBox1.Items.Strings[x] + ´ Z´;
end;
[/quote:b23b29cbfd]


Valeu Mat!!! Funcionou do jeito que eu queria!!!

valeu mesmo!

Abraço


Responder

Gostei + 0

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

Aceitar