Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Codice binario
Forum - Visual Basic 6 - Codice binario

Avatar
acromangelo (Ex-Member)
Rookie


Messaggi: 25
Iscritto: 19/06/2008

Segnala al moderatore
Postato alle 8:34
Domenica, 31/05/2009
Dopo il materiale passatomi da kanap57 ho deciso di cominciare a fare qualcosa in binario.
Ho fatto una funzione che converte i numeri decimali da 0 a 255 in binario a 8 bit, ed una successiva funzione che permette di trasformare le parole o una frase di qualsiasi lunghezza in codice binario sempre a 8 bit. Questo potrebbe essere per esempio usato per comunicare con un pic esterno collegato al pc tramite la porta parallela, ma su questo ci devo ancora studiare, anche se i pic ce li ho già a casa xD.

Queste sono le funzioni:
Codice sorgente - presumibilmente VB.NET

  1. ' In un modulo
  2. Public Function DecToBin(numero As Integer) As String
  3. Dim bin As Double, finale As String
  4. bin = 128
  5. conta = 0
  6. Do Until bin = "0,5"
  7.     If numero / bin >= 1 Then
  8.         finale = finale & "1"
  9.         numero = numero - bin
  10.         bin = bin / 2
  11.     Else
  12.         finale = finale & "0"
  13.         bin = bin / 2
  14.     End If
  15.     DoEvents
  16. Loop
  17. DecToBin = finale
  18. End Function
  19.  
  20. Public Function TxtToBin(testo As String, Optional divisorio As String = "") As String
  21. Dim finale As String
  22. For n = 1 To Len(testo)
  23.     If n <> Len(testo) Then
  24.         finale = finale & DecToBin(Asc(Mid(testo, n, 1))) & divisorio
  25.     Else
  26.         finale = finale & DecToBin(Asc(Mid(testo, n, 1)))
  27.     End If
  28. Next
  29. TxtToBin = finale
  30. End Function



Spero possa essere d'aiuto a qualcuno e che kanap57, tramite questo, possa creare qualcos'altro di più difficile.

Ultima modifica effettuata da acromangelo il 31/05/2009 alle 8:36
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:21
Domenica, 31/05/2009
La funzione di conversione non lavora correttamente ...

Ti consiglio questa

Codice sorgente - presumibilmente VB.NET

  1. Public Function DecToBin(ByVal numero As Long) As String
  2.     While numero
  3.         DecToBin = Abs((numero Mod 2)) & DecToBin
  4.         numero = numero \ 2
  5.     Wend
  6. End Function



piu' semplice e funzionante.

Se ti interessi di elettronica con i PC, anche se un po' vecchiotti, ti consiglio di leggere questi articoli

http://www.visual-basic.it/articoli/agvbhw.htm
http://www.visual-basic.it/articoli/agvbhw2.htm
http://www.visual-basic.it/articoli/agvbhw3.htm
http://www.visual-basic.it/articoli/agNewInOut.htm


PM Quote