Avatar billede blueice Nybegynder
25. maj 2005 - 16:40 Der er 1 kommentar og
1 løsning

Flette 2 txt filer sammen,

Okay jeg har 2 tekst filer som jeg gerne vil have flette sammen på følgende måde.
-----

[APP]  <--Findes i begge filer
Programnavn <---Finde i begge filer
Version1  <--- Findes kun i fil 1
Version2 <-- findes kun i fil 2
Kommentar <- findes kun i fil 2

> Forsætter min 3 gang sådan

Er der en måde så man kan få sat filerne sammen også selv om de programnavnet (Det der står efter [APP] ikke står i samme rækkefølge?


---Fil 1---
[APP]
program1
1.00

[APP]
program2
1.02

[App]
Program3
0.09

[END FILE]
--FIL 1 slut ---

---Fil 2---
[APP]
program1
1.05
kommentar1

[APP]
program2
1.09
kommentar2

[App]
Program3
5.03
kommentar3

[END FILE]
--FIL 2 slut ---

Håber du kan hjælpe...
Avatar billede blueice Nybegynder
25. maj 2005 - 16:42 #1
gør det lige lidt mere forståeligt:

Er der en måde, så man kan få sat filerne sammen i en given orden, også selvom programnavnet (Det der står efter [APP]) ikke står i samme rækkefølge?
Avatar billede blueice Nybegynder
25. maj 2005 - 20:41 #2
Fand ud af det: Skriver det bare via 2 lister til en ny liste :D
---Form1----
Dim Fil1
Dim Fil2
Dim OutFile

Function LoadFiler()
Dim linjeFil1 As String
Dim linjeFil2 As String

Open Fil1 For Input As #1
    Do Until linjeFil1 = "[ENDFILE]"
    Input #1, linjeFil1
   
      If linjeFil1 <> "[APP BEGIN]" And linjeFil1 <> "[APP END]" And linjeFil1 <> "[ENDFILE]" Then
          If linjeFil1 = "" Then
        programtal = programtal + 1
        Else
        lstFil1.AddItem (linjeFil1)
        End If
      End If
    Loop
  lstFil1.Refresh
Close #1


Open Fil2 For Input As #1
    Do Until linjeFil2 = "[ENDFILE]"
    Input #1, linjeFil2
   
      If linjeFil2 <> "[APP BEGIN]" And linjeFil2 <> "[APP END]" And linjeFil2 <> "[ENDFILE]" Then
          If linjeFil2 = "" Then
        Else
        lstFil2.AddItem (linjeFil2)
        End If
      End If
    Loop
      lstFil2.Refresh
Close #1
End Function
Function List()
Dim i
Do While lstFil2.ListCount >= 3 And lstFil1.ListCount >= 2
If lstFil1.List(0) = lstFil1.List(i) Then
lstFil2.RemoveItem (i) 'programnavn fra lstfil2



lstTemp.AddItem (lstFil1.List(0))
lstFil1.RemoveItem (0)  'programnavn fra lstfil1
lstFil1.Refresh

lstTemp.AddItem (lstFil1.List(0))
lstFil1.RemoveItem (0)  'version fra lstfil1
lstFil1.Refresh

lstTemp.AddItem (lstFil2.List(i)) 'version fra lstfil2
lstFil2.RemoveItem (i)
lstTemp.AddItem (lstFil2.List(i)) 'Kommentar fra lstfil2
lstFil2.RemoveItem (i)

Else
i = i + 1
End If
Loop




End Function

Private Sub Command1_Click()
Call LoadFiler
End Sub

Private Sub Command2_Click()
Call List
End Sub

Private Sub Form_Load()
Fil1 = App.Path & "\fil1.txt"
Fil2 = App.Path & "\fil2.txt"
End Sub
---Form1----
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester