Riporto tutto il codice:
[code] Dim dlg As OpenDialog
Dim f As FolderItem
dlg = New OpenDialog
If Not TargetLinux Then
dlg.InitialDirectory = SpecialFolder.Documents
Else //open Home directory on linux
dlg.InitialDirectory = SpecialFolder.Home
End if
dlg.Title = “Leggi i dati sperimentali”
Dim txtType as New FileType
txtType.Name = “Text File (.csv)"
txtType.MacType = "TEXT (.csv)”
txtType.Extensions = “csv”
dlg.Filter=txtType
f = dlg.ShowModal
Dim I,J As Integer
Dim Stringa, Pessetto As String
Dim Giorno, Mese,Anno,AnnoStart,Ora,Minuto,Secondo,Misura,Deformazione,Tempo,Tempo0 As Double
Dim t As TextInputStream
Dim Acapo As String 'variabile per la scrittura su file dei risultati
Dim Cifra As Double 'variabile per la scrittura su file dei risultati
Dim Pezzo As String 'variabile per la scrittura su file dei risultati
Label2.Visible=true
Acapo = " "
Call ScriviRTF(Acapo, 0, False, False, 12, 1, “Courier New”, 0)
Stringa = “Tempo trascorso Deformazione”
Call ScriviRTF(Stringa, 0, False, True, 12, 1, “Courier New”, 0)
Stringa = " [ore]"
Call ScriviRTF(Stringa, 0, False, True, 12, 1, “Courier New”, 0)
Call ScriviRTF(Acapo, 0, False, False, 12, 1, “Courier New”, 0)
J=1
If f <> nil then
t=TextInputStream.Open(f)
'Sceglie le righe da processare
'Processa la riga selezionata
While Not t.EOF
If Round((J-900)/3600)=(J-900)/3600 or J<=900 then
Stringa=t.readline
Pessetto=Left(Stringa,2)
Giorno=CDbl(Pessetto)
Pessetto=Mid(Stringa,4,2)
Mese=CDbl(Pessetto)
Pessetto=Mid(Stringa,7,4)
Anno=CDbl(Pessetto)
Pessetto=Mid(Stringa,12,2)
Ora=CDbl(Pessetto)
Pessetto=Mid(Stringa,15,2)
Minuto=CDbl(Pessetto)
Pessetto=Mid(Stringa,18,2)
Secondo=CDbl(Pessetto)
Pessetto=Right(Stringa,10)
'Trasforma la virgola in punto nella misura dell'allungamento
For I=1 to 10
Stringa=Mid(Pessetto,11-I,1)
if Stringa="," Then
Pessetto=Left(Pessetto,10-I)+"."+Right(Pessetto,I-1)
Exit For
End if
Next I
Misura=CDbl(Pessetto)
'Registra l'istante di inizio della prova
If J=1 Then
Call ElapsedTime(Giorno,Mese,Anno,Ora,Minuto,Secondo,Tempo0)
AnnoStart=Anno
Else
Call ElapsedTime(Giorno,Mese,Anno,Ora,Minuto,Secondo,Tempo)
End if
If Anno=AnnoStart Then
Tempo=Tempo0-Tempo
Else
Tempo=Tempo0+Tempo
End if
'Ora "Tempo" effettivamente il tempo trascorso in ore
Deformazione=Misura/200.
'Scrive i risultati a monitor
If J=1 Then Tempo=0
If Not t.EOF Then
Cifra = ((Tempo+ 0.00001) * 10000) / 10000
Pezzo = " " + Replace(Format(Cifra, "0.0000"), ",", ".")
Stringa =Right(Pezzo, 11)
Cifra = ((Deformazione+ 0.0000001) * 1000000) / 1000000
Pezzo = " " + Replace(Format(Cifra, "0.000000"), ",", ".")
Stringa = Stringa + Right(Pezzo, 11)
Call ScriviRTF(Stringa, 0, False, False, 12, 1, "Courier New", 0)
J=J+1
End if
Else
Exit
End if
Label2.Text="Righe del file di imput processate="+Str(J-1)
Label2.Refresh
Wend
End if
PushButton2.Visible=true
PushButton2.Enabled=true
[/code]