VERIFICAR LINHA A LINHA

MOKOVA666 23/06/2015 13:38:35
#448059
Olá Todos, preciso de uma pequena ajuda que já estou a um tempim tentando resolver, só que está difícil.
O que eu gostaria de fazer é algo bem simples mas difícil para mim =X

Tenho um FileListBox e um ListBox, onde o FileListBox apresenta todos os .txt de uma pasta, e tambem tenho um Timer que executa o comando File1.Refresh , assim, quando houver algum .txt novo na pasta, o FileListBox atualiza a sua lista com esse novo item. Até ai tudo bem.

Só que eu preciso pegar todos os itens que está na FileListBox e jogar para uma ListBox , com o objetivo de que, a cada item novo, o que está na FileListBox é jogado na ListBox , se futuramente esse item vir a aparecer novamente na FileListBox , ele verifica se já existe na ListBox , caso existir, ele não adiciona novamente.

é basicamente isso, eu já fiz um codigo, só que o mesmo não está verificando a ListBox inteira e só adicionando o que está de novo.
Se alguem conseguir me ajudar, agradeço
DAMASCENO.CESAR 23/06/2015 14:01:45
#448060
pelo que eu entendi parace ser assim: todos os arquivos txt que foram criados na pasta estão no listbox e no filelistbox somente os que não foram deletados

pra mim é só comparar cada nome no filelistbox com cada nome da list, se existir pula, se não insere

pega o primeiro nome do filelistbox e compara com todos do listbox se for diferente, insere
pega o segundo, e assim por diante use um for para o filelist e dentro dele um for para o listbox
ou use while, o que for melhor pra voce
MOKOVA666 23/06/2015 14:46:14
#448063
Citação:

:
pelo que eu entendi parace ser assim: todos os arquivos txt que foram criados na pasta estão no listbox e no filelistbox somente os que não foram deletados

pra mim é só comparar cada nome no filelistbox com cada nome da list, se existir pula, se não insere

pega o primeiro nome do filelistbox e compara com todos do listbox se for diferente, insere
pega o segundo, e assim por diante use um for para o filelist e dentro dele um for para o listbox
ou use while, o que for melhor pra voce



Eu fiz o código quase que parecido, olha só:

  Dim i As Integer
Dim j As Integer

For i = 0 To File1.ListCount - 1
Text1.Text = File1.List(i)

For j = 0 To List1.ListCount
If Text1.Text = List1.List(j) Then
Else
List1.AddItem (Text1.Text)
End If
Next j

Next i


Só que não da certo, já tentei de varias maneiras, só que não funciona, ele adiciona vários itens e depois repeti dinovo,
DAMASCENO.CESAR 23/06/2015 15:08:11
#448066
Resposta escolhida
tenta assim:

Dim i As Integer
Dim j As Integer
Dim Ret as Boolean

For i = 0 To File1.ListCount - 1
Text1.Text = File1.List(i)

For j = 0 To List1.ListCount
If Text1.Text = List1.List(j) Then
Ret = True
Exit For
Else
Ret= False
End If
Next j
If Ret = False Then
List1.AddItem (Text1.Text)
End If
Next i
MOKOVA666 23/06/2015 15:12:40
#448067
Citação:

:
tenta assim:

Dim i As Integer
Dim j As Integer
Dim Ret as Boolean

For i = 0 To File1.ListCount - 1
Text1.Text = File1.List(i)

For j = 0 To List1.ListCount
If Text1.Text = List1.List(j) Then
Ret = True
Exit For
Else
Ret= False
End If
Next j
If Ret = False Then
List1.AddItem (Text1.Text)
End If
Next i



Deu certinho, gostei do modo de usar o Boolean,
Muito Obrigado pela ajuda.
Att.
Tópico encerrado , respostas não são mais permitidas