Newsgroup: it.comp.lang.visual-basic
Titolo: convertire un file di testo da unix

 con un editor tipo notepad gli a capo siano correttamente interpretati ?
Devi sostituire tutti gli LF (x0A) con i CRLF (x0D x0A)di Windows.
Oppure aprirlo in Word e salvarlo.
Oppure usare uno dei mille strumenti disponibili in rete
per questo scopo.





 con un editor tipo notepad gli a capo siano correttamente interpretati ?
Se i file sono piccoli, come lascia supporre il tuo accenno a Notepad, puoi
usare una sub di queste; le avevo fatte tempo fa, magari si potrebbero
ottimizzare...
_____________________________
Sub FiltraUnix(FileIngresso$, FileUscita$)
    Dim strTemp As String * 1
    Dim FileLibero1 As Integer, FileLibero2 As Integer
    FileLibero1 = FreeFile
    Open FileIngresso$ For Binary As #FileLibero1
    If Dir$(FileUscita$) <> "" Then Kill FileUscita$ ' non si sa mai
    FileLibero2 = FreeFile
    Open FileUscita$ For Output As #FileLibero2
    While Not EOF(FileLibero1)
        Get #FileLibero1, , strTemp
        If strTemp = vbLf Then
            Print #FileLibero2,
        Else
            Print #FileLibero2, strTemp;
        End If
    Wend
    Close FileLibero1, FileLibero2
End Sub
_____________________________
Questa occupa piů memoria, ma č un bel po' piů veloce:
_____________________________
Sub FiltraUnix2(FileIngresso As String, FileUscita As String)
    Dim strInput As String, strOutput As String
    Dim lngPosPrecedente As Long
    Dim lngPosTrovato As Long
    Dim FileLibero1 As Integer, FileLibero2 As Integer
    FileLibero1 = FreeFile
    Open FileIngresso For Input As #FileLibero1
    strInput = Input(LOF(FileLibero1), #FileLibero1)
    If Dir$(FileUscita) <> "" Then Kill FileUscita ' non si sa mai
    FileLibero2 = FreeFile
    Open FileUscita For Output As #FileLibero2
    lngPosPrecedente = 1
    Do
        lngPosTrovato = InStr(lngPosPrecedente, strInput, vbLf)
        If lngPosTrovato <> 0 Then
            Print #FileLibero2, Mid$(strInput, lngPosPrecedente, _
            lngPosTrovato - lngPosPrecedente)
            lngPosPrecedente = lngPosTrovato + 1
        Else
            Print #FileLibero2, Right$(strInput, LOF(FileLibero1) _
            - lngPosPrecedente + 1)
            Exit Do
        End If
    Loop
    Close FileLibero1, FileLibero2
End Sub
_____________________________
Ovviamente le chiami cosě:
FiltraUnix "C:\tmp\profile.asm", "C:\tmp\profile.txt"
oppure
FiltraUnix2 "C:\tmp\profile.asm", "C:\tmp\profile.txt"
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

...


con un editor tipo notepad gli a capo siano correttamente interpretati ?
Devi cercare  i \n e sostituire con \n\r (tradotto in vb-ese: cercare i
chr$(10) e sostituire con la coppia chr$(10)+chr$(13)
ciao...
-- 
Sidewinder  
---------------------------------------------------------------------
Writing is easy; all you do is sit staring at the blank sheet of paper until
drops of blood form on your forehead.
		-- Gene Fowler
---------------------------------------------------------------------