Fórum DELPHI - Adicionar dados em comum de 3 listbox em um quarto listbox #605561

23/09/2019

0

Olá pessoal,

Estou precisando de uma ajuda enorme (PARA DELPHI).

Tenho três listbox que possuem cada um uma quantidade diferente de nomes. As vezes o listbox 1 possui mais itens, as vezes o 2 ou as vezes o 3 (nunca saberei).

Gostaria de saber se existe algum código que selecione apenas os termos em comum nos 3 listbox e adicione em um quarto listbox?


Exemplo:

O listbox1 possui os nomes:
SICRANO
FULANO
MARIA

O listbox2 possui os nomes:
SICRANO
FULANO
JOÃO

O listbox3 possui os nomes:
SICRANO
FULANO
ANA
JOANA
JOSÉ

Logo, o listbox4 terá apenas os nomes:
SICRANO
FULANO

Pois são os únicos nomes comum aos 3 listbox anteriormente supracitados.

Agradeço desde já.
Augusto

Augusto

Responder

Posts

24/09/2019

Ricardo Araujo

Boa noite,

Conseguiu fazer desta forma, agora com este exemplo você pode adpatar, blz..

segue código:


procedure TForm1.Button1Click(Sender: TObject);
var
TempList: TStringList;
OutPutList: TStringList;
CurrentNumber: string;
CurrentNumberCount: Integer;
I: Integer;

begin
TempList := TStringList.Create;
// Copiamos la lista del TListBox a una temporal
TempList.Assign(ListBox4.Items);
// Ordenamos la lista para hacer más fácil el conteo
TempList.Sort;
OutPutList := TStringList.Create;
// Inicializamos la variable para obtener el primer número
CurrentNumber := '';
for I := 0 to Pred(TempList.Count) do
begin
if CurrentNumber <> TempList[i] then
begin
if CurrentNumber <> '' then
OutPutList.Add(Format('número %s hay %d repeticiones', [CurrentNumber, CurrentNumberCount]));
CurrentNumber := TempList[i];
CurrentNumberCount := 1
end
else
Inc(CurrentNumberCount)
end;

Memo1.Lines.Clear;
Memo1.Lines.Assign(OutPutList);

end;
Responder

Gostei + 0

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

Aceitar