COMPARAR DOIS ARQUIVOS

GLOPES 20/11/2016 03:17:05
#469047
Olá pessoal, tudo bem? Sou novo por aqui e novo no VB hehe
Tenho um trabalho para entregar no curso e não faço ideia de como fazer. é uma aplicação bem simples, podem me ajudar?

Tenho dois arquivos TXT com uma lista de nomes. Um nome por linha. Preciso de uma aplicação que [Ô]abra o arquivo 01[Ô], [Ô]abra o arquivo 02[Ô] e que ao clicar em um botão, ele gere um terceiro aquivo TXT somente com os nomes que não estão repetidos, ou seja, somente com os nomes que não se repetem nos dois arquivos. E eu possa selecionar onde salvar esse terceiro arquivo.

Exemplo do layout: http://prntscr.com/d9hbqg

Obrigado desde já pela atenção pessoal. Um abraço!
KERPLUNK 20/11/2016 08:30:58
#469048
Geralmente em cursos, os professores ensinam a matéria envolvida em um trabalho previamente... Seria muito injusto passar um trabalho cuja matéria ele não explicou.
DS2T 20/11/2016 12:02:09
#469050
é em VB6 mesmo?

Primeiro você deve jogar esses nomes para vetores. Primeiro arquivo você joga para o vetor1 e o segundo para o vetor2.
Para isso, use a instrução [Ô]Open... For Input...[Ô] para abrir seu arquivo para leitura e poder pegar as informações.

A partir do momento que você tem os dois vetores em mão, fica fácil usando um loop dentro do outro e ir verificando se [Ô]Cada item do primeiro vetor não está no segundo[Ô] e se [Ô]Cada item do segundo vetor não está no primeiro[Ô].

Acredito que sua dúvida esteja em relação as síntaxes da linguagem né? Uma vez que o professor não passaria isso sem ter ensinado lógica de programação e algoritmos...

Qualquer dúvida sobre síntaxe, dá um toque e responderemos.
GLOPES 20/11/2016 14:37:32
#469059
Então, em relação a lógica de programação ou algoritmos não tenho dúvidas. Programo a muito tempo em PHP. O grande X da questão é sobre a sintaxe do VB, que não consegui compreender muito bem as explicações e fiquei meio perdido. A sintaxe lógica para resolver o problema já consegui visualizar, agora é escrever isso em VB.
GLOPES 20/11/2016 18:15:59
#469066
Olhem minha lógica:

-Abrir arquivo 01;
-Colocar dados do arquivo 01 em um vetor;
-Abrir arquivo 2;
-Colocar dados do arquivo 02 em um vetor;
-Loop para verificar cada item do vetor arquivo 02 se esta presente no vetor arquivo 01, se estiver presente então excluo o vetor do arquivo 01
-Gero um TXT com o arquivo 01 [Ô]atualizado[Ô]
KERPLUNK 20/11/2016 18:23:02
#469067
O loop deve verificar um terceiro vetor. Se o nome não constar, adicione. Fora isso, sua lógica está correta.
MARCELO.TREZE 21/11/2016 23:12:39
#469099
Alguns colegas vão me condenar aqui, porem este código ja criei a algum tempo, e encontra-se postado no forum.

o codigo a seguir compara dois arquivos texto, salva as coincidências em um arquivo e as diferenças em outro, estude-o

Public Function ComparaTXT(Original As String, Comparacao As String, Iguais As String, Diferentes As String)
Dim Arq1 As Integer
Dim Arq2 As Integer
Dim Arq3 As Integer
Dim Arq4 As Integer

Dim OrigLine As String [ô] Linha Original
Dim CompLine As String [ô] Linha de Comparação

Arq1 = FreeFile
Open Original For Input As #Arq1
Arq3 = FreeFile
Open Iguais For Output As #Arq3
Arq4 = FreeFile
Open Diferentes For Output As #Arq4

Do While Not EOF(Arq1)
Line Input #Arq1, OrigLine
Arq2 = FreeFile
Open Comparacao For Input As #Arq2
Do While Not EOF(Arq2)
Line Input #Arq2, CompLine
If OrigLine = CompLine Then
Print #Arq3, OrigLine
OrigLine = [Ô][Ô]
End If
Loop
Close #Arq2
If OrigLine <> [Ô][Ô] Then
Print #Arq4, OrigLine
End If
Loop

Close #Arq2
Close #Arq3
Close #Arq4
End Function


para usar cole em um botão

Private Sub Command1_Click()
ComparaTXT [Ô]c:    este1.txt[Ô], [Ô]c:    este2.txt[Ô], [Ô]c:\iguais.txt[Ô], [Ô]c:\diferentes.txt[Ô]
End Sub

Faça seu login para responder