quando vado a leggerlo in ambiente Win con notepad è scritto senza ritorni a capo, ho letto che vanno usati i caratteri speciali per gestire la fine di una riga e il ritorno a capo \n e \r.Per avere un'idea, puoi anche vedere il commento alla proprietà .EndOfLine della variabile di tipo File .
Public Sub Button1_Click()
Dim i As Integer
Dim fl As File
Dim fileName As String
Dim sNomi As String[] = ["PIPPO", "PLUTO", "PAPERINO", "MINNI", "ZIO PAPERONE", "GASTONE", "QUI", "QUO", "QUA"]
fileName = User.Home &/ Application.Name &/ "myFile.txt"
If Not Exist(fileName) Then
If Not Exist(User.Home &/ Application.Name) Then
Mkdir User.Home &/ Application.Name
Endif
Endif
fl = Open fileName For Create
For i = 0 To sNomi.Max
Write #fl, sNomi[i] & Chr(13) & Chr(10)
' Questo invece su Linux non funziona
'Write #fl, sNomi[i] & fl.EndOfLine
Next
fl.Close
End
Non so se succede anche a voi, ma se io scrivo questo codice poi leggo il file di testo con i nomi incolonnati. Mentre con EndOfLine no.Codice: [Seleziona]' Questo invece su Linux non funziona
'Write #fl, sNomi[i] & fl.EndOfLine
La proprietà .EndOfLine è precipuamente utilizzata in lettura: :-X
http://www.gambas-it.org/smf/index.php?topic=4168.msg36174#msg36174
Public Sub file_dat()
Dim datfile As Stream
Dim i As Integer
Dim k As Integer
Dim lng As Variant
Dim alt As Variant
Dim bss As Variant
Dim dst As Variant
Dim snt As Variant
Dim buss As Variant
Dim cli As Variant
datfile = Open mydir & "/" & Label2.Text & ".dat" For Create
Print #datfile, label2.Text
Print #datfile, "SURVEY NAME: " & label2.Text
Print #datfile, "SURVEY DATE: "
Print #datfile, "SURVEY TEAM: "
Print #datfile, "?"
Print #datfile, "DECLINATION: 0.00 FORMAT: DMMDUDRLADLN CORRECTIONS: 0.00 0.00 0.00"
Print #datfile, ""
Print #datfile, " FROM" & " TO" & " LENGTH" & " BEARING" & " INC" & " LEFT" & " UP" & " DOWN" & " RIGHT" & " FLAGS" & " COMMENTS"
Print #datfile, ""
For i = 0 To GridView3.Rows.Count - 1
k = i
lng = Replace$(Format(Val(GridView3[k, 2].Text) / 0.3048, "0.00"), ",", ".")
buss = Replace$(Format(Val(GridView3[k, 3].Text), "0.00"), ",", ".")
cli = Replace$(Format(Val(GridView3[k, 4].Text), "0.00"), ",", ".")
alt = Replace$(Format(Val(GridView3[k, 5].Text) / 0.3048, "0.00"), ",", ".")
bss = Replace$(Format(Val(GridView3[k, 6].Text) / 0.3048, "0.00"), ",", ".")
dst = Replace$(Format(Val(GridView3[k, 7].Text) / 0.3048, "0.00"), ",", ".")
snt = Replace$(Format(Val(GridView3[k, 8].Text) / 0.3048, "0.00"), ",", ".")
Print #datfile, Space$(12 - Len(GridView3[k, 0].Text)) & GridView3[k, 0].Text & Space$(13 - Len(GridView3[k, 1].Text)) & GridView3[k, 1].Text & Space$(9 - Len(lng)) & lng & Space$(9 - Len(buss)) & buss & Space$(9 - Len(cli)) & cli & Space$(9 - Len(snt)) & snt & Space$(9 - Len(alt)) & alt & Space$(9 - Len(bss)) & bss & Space$(9 - Len(dst)) & dst
Next
Close #datfile
End
Public Sub file_dat()
Dim datfile As Stream
Dim i As Integer
Dim k As Integer
Dim data As String
Dim lng As Variant
Dim alt As Variant
Dim bss As Variant
Dim dst As Variant
Dim snt As Variant
Dim buss As Variant
Dim cli As Variant
data = Format(Now, "mm dd yyyy ")
datfile = Open mydir & "/" & Label2.Text & ".dat" For Create
Write #datfile, label2.Text & Chr(13) & Chr(10)
Write #datfile, "SURVEY NAME: " & label2.Text & Chr(13) & Chr(10)
Write #datfile, "SURVEY DATE:" & Space$(12 - Len(data)) & data & "COMMENT:" & Chr(13) & Chr(10)
Write #datfile, "SURVEY TEAM: " & Chr(13) & Chr(10)
Write #datfile, "?" & Chr(13) & Chr(10)
Write #datfile, "DECLINATION: 0.00 FORMAT: DMMDUDRLADLN CORRECTIONS: 0.00 0.00 0.00" & Chr(13) & Chr(10)
Write #datfile, Chr(13) & Chr(10)
Write #datfile, " FROM" & " TO" & " LENGTH" & " BEARING" & " INC" & " LEFT" & " UP" & " DOWN" & " RIGHT" & " FLAGS" & " COMMENTS" & Chr(13) & Chr(10)
Write #datfile, Chr(13) & Chr(10)
For i = 0 To GridView3.Rows.Count - 1
k = i
lng = Replace$(Format(Val(GridView3[k, 2].Text) / 0.3048, "0.00"), ",", ".")
buss = Replace$(Format(Val(GridView3[k, 3].Text), "0.00"), ",", ".")
cli = Replace$(Format(Val(GridView3[k, 4].Text), "0.00"), ",", ".")
alt = Replace$(Format(Val(GridView3[k, 5].Text) / 0.3048, "0.00"), ",", ".")
bss = Replace$(Format(Val(GridView3[k, 6].Text) / 0.3048, "0.00"), ",", ".")
dst = Replace$(Format(Val(GridView3[k, 7].Text) / 0.3048, "0.00"), ",", ".")
snt = Replace$(Format(Val(GridView3[k, 8].Text) / 0.3048, "0.00"), ",", ".")
Write #datfile, Space$(12 - Len(GridView3[k, 0].Text)) & GridView3[k, 0].Text & Space$(13 - Len(GridView3[k, 1].Text)) & GridView3[k, 1].Text & Space$(9 - Len(lng)) & lng & Space$(9 - Len(buss)) & buss & Space$(9 - Len(cli)) & cli & Space$(9 - Len(snt)) & snt & Space$(9 - Len(alt)) & alt & Space$(9 - Len(bss)) & bss & Space$(9 - Len(dst)) & dst & Chr(13) & Chr(10)
Next
Close #datfile
Message.Info("file cretato")
End
il segreto è stato Write, infatti senza usare i caratteri speciali chr(13) e chr(10)
Write #datfile, label2.Text & Chr(13) & Chr(10)
....etc....
Dim lng, alt, bbs, dst, snt, buss, cli As Variant 'e questo lo puoi fare anche con VB perché ciò che non è specificato viene automaticamente cambiato in variant.'
Dim i, k As Integer, datfile As Stream, data As String ' Questo è solo possibile in Gambas
' Al posto di'
For i = 0 To GridView1.Rows.Count - 1
' Puoi usare'
For i = 0 To GridView1.Rows.Max
Hai ragione Gianluigi è un retaggio di VB , come sempre grazie dei suggerimenti :ciao:Prego,