codice:
Option Explicit
Dim WithEvents d As BinTree
Dim P As String
Dim fd As Integer

Private Sub LevaDuplicati_click()

Dim a, b
    Set d = New BinTree
    Dim dt As Double
    dt = CDbl(Now())
    fd = FreeFile()
    Open "c:\prova.txt" For Binary As fd
    Dim s As String
    
    s = String(LOF(fd), Chr(0))
    Get #fd, , s
    Close #fd
    
    a = Split(s, vbCrLf)
    s = ""
    
    'On Error Resume Next
    For Each b In a
        d.Add CStr(b)
    Next
       
    fd = FreeFile()
    
    Open "c:\log.txt" For Output As #fd
    d.traverse_rand
    Close #fd
    Debug.Print CDbl(Now() - dt)
    
End Sub

Private Sub d_nextNode(s As String)
    Print #fd, s
End Sub