Errore lettura numeri decimali con virgola

di Anonimizzato31477 il
8 risposte
Ciao a tutti,
ho necessità di scrivere alcuni numeri decimali separati dalla virgola (non dal punto), ma quando vado ad aprire il file nella textbox corrispondente viene inserito il numero senza decimale.
Mi spiego meglio: se salvo in un file il contenuto della textbox pari a 12,27, quando lo riapro nella stessa textbox mi scrive solo 12.
Il codice che ho scritto è questo:
Private Function Apridati()
With dlgCommonDialog
On Error GoTo Errore
.CancelError = True
.DialogTitle = "SELEZIONARE IL FILE DA APRIRE"
.Filter = "*.stim|*.stim"
.FilterIndex = 1
.DefaultExt = "prova"
.InitDir = "\_prova"
.ShowOpen
FileName = dlgCommonDialog.FileName
Screen.MousePointer = 11
Open FileName For Input As #1
Input #1, txt_renditacatastale
Close #1
Screen.MousePointer = 0
Direttory = FileName
lbl_apri = Left(.FileTitle, InStr(.FileTitle, ".") - 1)
End With
Exit Function

Errore:
MsgBox "Si è scelto di annullare l'operazione!"
End Function

8 Risposte

  • La Input intende la virgola come separatore e non legge oltre. Se c'è solo quel numero nel file allora puoi utilizzare la

    Line Input

    altrimenti dicci esattamente cosa c'è nel file
  • Buongiono,
    nel file da leggere ho il contenuto di 8 textbox e 3 combobox.
  • Ma come sono salvati questi dati?
    Uno per ogni riga?

    Hai provato ad usare la Line Input? Che succede? Dicci qualcosa di più...
  • Li salvo in un semplice file di testo:
    Private Function Salvadati()
    Dim sFile As String
    With dlgCommonDialog
    .DialogTitle = "Salva con nome"
    .CancelError = False
    .Filter = " *.prova|*.prova"
    .InitDir = "\_prova"
    .ShowSave
    If Len(.FileName) <> 0 Then
    Open dlgCommonDialog.FileName For Output As 1
    Print #1, txt_renditacatastale
    Print #1, txt_prova1
    Print #1, txt_prova2
    Print #1, txt_prova3
    Print #1, txt_prova4
    Print #1, txt_prova5
    Print #1, txt_prova6
    Print #1, txt_prova7
    Print #1, txt_prova8
    Print #1, cmb_renditacatastale1
    Print #1, cmb_renditacatastale2
    Print #1, cmb_renditacatastale3

    End If
    Close #1
    Exit Function

    sFile = .FileName
    End With
    End Function
  • E quindi hai provato con la Line Input o no??
  • Ho provato ora e sembra che va.
    Grazie oregon, buona giornata.
  • Bene ... non capisco perché non l'hai fatto subito quando te l'ho detto nella prima risposta, ma alla fine ci siamo riusciti...
  • Hai ragione.... grazie
Devi accedere o registrarti per scrivere nel forum
8 risposte