in a module...
VB Code:
Option Explicit Private Type Players Name As String Country As String Goals As String End Type Private Type Goals Name As String Goals As String End Type Private Sub MergeFiles() Dim udtPlayer() As Players Dim udtGolas() As Goals Dim vSplit As Variant Dim ff As Integer Dim lLoop As Long Dim lRecords As Long ff = FreeFile Open "add.dat" For Input As #ff vSplit = Split(Input(LOF(ff), ff), vbCrLf) lRecords = UBound(vSplit) If Len(vSplit(lRecords)) = 0 Then lRecords = lRecords - 1 vSplit = Empty ReDim udtPlayer(lRecords) Seek ff, 1 For lLoop = 0 To lRecords Input #ff, udtPlayer(lLoop).Name, udtPlayer(lLoop).Country Next lLoop Close ff ff = FreeFile Open "goals.dat" For Input As #ff vSplit = Split(Input(LOF(ff), ff), vbCrLf) lRecords = UBound(vSplit) If Len(vSplit(lRecords)) = 0 Then lRecords = lRecords - 1 vSplit = Empty ReDim udtGolas(lRecords) Seek ff, 1 For lLoop = 0 To lRecords Input #ff, udtGolas(lLoop).Name, udtGolas(lLoop).Goals Next lLoop Close ff For lLoop = 0 To UBound(udtPlayer) For lRecords = 0 To UBound(udtGolas) If udtPlayer(lLoop).Name = udtGolas(lRecords).Name Then udtPlayer(lLoop).Goals = udtGolas(lRecords).Goals End If Next lRecords Next lLoop ff = FreeFile Open "final.dat" For Output As #ff For lLoop = 0 To UBound(udtPlayer) Write #ff, udtPlayer(lLoop).Name, udtPlayer(lLoop).Country, udtPlayer(lLoop).Goals Next lLoop Close ff End Sub




Reply With Quote