Melhor forma para compara conteúdo de ListBox
Pessoal, boa tarde!!
Tenho um ListBoxArquivosDescompactado com arquivos carregados em tempo de execução e pego o conteúdo de outro diretório com os seus arquivos com a função GetFileList , no momento de adicionar o conteúdo no ListBoxArquivosOrigem.Items.Add(listaArqvTemp[k]); eu quero preencher o mesmo apenas com o conteúdo que não existe no ListBoxArquivosDescompactado. Da forma que estou fazendo seria a melhor maneira para isso?
agradeço
//pega os arquivos do dir atual para visualização e logo depois comparação
listaArqvTemp := TStringList.Create;
listaArqvTemp.Clear;
GetFileList(dirAtualArquivos + '*.*', listaArqvTemp);
for k := 0 to listaArqvTemp.Count - 1 do
begin
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k])= 0 then
begin
ListBoxArquivosOrigem.Items.Add(listaArqvTemp[k]);
end;
end;
FreeAndNil(listaArqvTemp);
Tenho um ListBoxArquivosDescompactado com arquivos carregados em tempo de execução e pego o conteúdo de outro diretório com os seus arquivos com a função GetFileList , no momento de adicionar o conteúdo no ListBoxArquivosOrigem.Items.Add(listaArqvTemp[k]); eu quero preencher o mesmo apenas com o conteúdo que não existe no ListBoxArquivosDescompactado. Da forma que estou fazendo seria a melhor maneira para isso?
agradeço
//pega os arquivos do dir atual para visualização e logo depois comparação
listaArqvTemp := TStringList.Create;
listaArqvTemp.Clear;
GetFileList(dirAtualArquivos + '*.*', listaArqvTemp);
for k := 0 to listaArqvTemp.Count - 1 do
begin
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k])= 0 then
begin
ListBoxArquivosOrigem.Items.Add(listaArqvTemp[k]);
end;
end;
FreeAndNil(listaArqvTemp);
Itamar Souza
Curtidas 0
Respostas
Bruno Leandro
17/01/2013
Ola Itamar, eu costumo utilizar assim tambem, mas se o indexof = 0 quer dizer que encontrou no indice 0 para saber se encontrou ou nao ficaria assim
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k]) > -1 then
showmessage('achou')
else
showmessage('nao achou')
ou
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k]) >= 0 then
showmessage('achou')
else
showmessage('nao achou')
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k]) > -1 then
showmessage('achou')
else
showmessage('nao achou')
ou
if ListBoxArquivosDescompactado.Items.IndexOf(listaArqvTemp[k]) >= 0 then
showmessage('achou')
else
showmessage('nao achou')
GOSTEI 0