Dove sto sbagliando ?

di il
1 risposte

Dove sto sbagliando ?

Salve
chi i può aiutare ne trovare l'errore?
Praticamente da un file devo leggere di file in formato binario a 16 bit, convertirli in decimale, infine scriver il risultato in un file di output, indicando tre intervalli low,normal, hig.
Il problema è che mi scrive bene solamente il primo valore, per i successivi mi fa la somma del valore decimale ottenuto con quello precedente.
Grazie
ecco il testo


Sub conversione_binaria()
Dim fileIn As String
Dim fileout As String
Dim i As Integer
Dim dec As sinlge
Dim bit As Integer
Dim riga As String
Dim j As integer
Dim contariga As Integer
Dim str() As String


fileIn = InputBox("inserisci nome del file in ingresso")
Open fileIn For Input As #1
fileout = InputBox(" nome del file da salvare")


Do While Not EOF(1)
Line Input #1, riga
contariga = contariga + 1
Loop
Close #1

ReDim str(1 To contariga)

Open fileIn For Input As #1
Open fileout For Output As #2
For i = 1 To contariga
Line Input #1, str(i)
For j = 0 To 16 - 1
bit = Mid(str(i), 16 - j, 1)
dec = dec + bit * 2 ^ j
Next
If dec < 4000 Then
Print #2, dec, " LOW"
ElseIf dec >= 4000 And dec <= 40000 Then
Print #2, dec, " NORMAL"
ElseIf dec > 40000 Then
Print #2, dec, "HIG"
End If
Next
Close #1
Close #2

MsgBox " sono state elaborate " & contariga & " righe"
End Sub

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte