due ultime piccole cose:
visto che non posso usare la funzione StrReverse (ho vb 5) mi trovo con una stringa tipo questa
a: 1000011 (mentre invece a: 1100001)
in questo caso come faccio da binario a riconvertire il tutto in testo senza riblatare la stringa?
poi, il prog è fatto così: (l'ho già risolto : non resettavo la variabile r) grazie
2 caselle di testo (text1 e text2) nella prima si inseisce il testo da convertire, nella seconda appare il tutto convertito.
il codice del bottone è questo:
codice:
lung = Len(Text1.Text)
For i = 1 To lung
If Mid(Text1.Text, i, 1) = " " Then
Else
nr = Asc(Mid(Text1.Text, i, 1))
Dim n As Integer
Dim r As String
n = nr
While n <> 1
n2 = n / 2
If Int(n2) = n2 Then
r = r & 0
Else
r = r & 1
End If
n = Int(n2)
Wend
r = r & 1
fin = fin & r
End If
Next i
Text2.Text = fin
in pratica traduce una lettera alla volta e nella casella text2 mette i risultati l'uno di fianco all'altro.
finchè traduco singole lettere tutto funziona bebe:
a: 1000011
1: 100011
{: 1101111
il problema insorge se utilizzo più lettere una vicino all'altra
a1 dovrebbe essere 1000011 (a) con vicino 100011 (1) quindi 1000011100011
invece il prgramma restituisce:
10000111000011100011
(che dovrebbe corrispondere alla stringa aa1)
in ugual modo, la stringa a{1 (dovrebbe essere 10000111101111100011)
viene elaborata così:
10000111000011110111110000111101111100011
cioè come aa{a{1
perchè?