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 - Numero interno ricavato da array di byte
Forum - Visual Basic 6 - Numero interno ricavato da array di byte

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
8jack (Normal User)
Newbie


Messaggi: 15
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 15:20
Venerdė, 18/07/2008
Ciao a tutti, ho una domanda.

Ho una array di 2 componenti di tipo Byte.
Ricevo da un plc 2 byte che vengono messi in un array di due posizioni, il numero č composto da entrambi i byte quindi per calcolarlo con VB:

(Asc (array(0))) +  (Asc (array(1) * 256)).

Ora questo numero che mi sono calcolato voglio visualizzarlo in una label, č possibile?

Usanto l'istruzione: Label.Caption = (Asc (array(0))) +  (Asc (array(1) * 256))???

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 15:34
Venerdė, 18/07/2008
Veramente dovrebbe essere

Asc(array(0)) + Asc(array(1)) * 256


Ultima modifica effettuata da gantonio il 18/07/2008 alle 15:35
PM Quote
Avatar
8jack (Normal User)
Newbie


Messaggi: 15
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 17:27
Venerdė, 18/07/2008
Testo quotato

Postato originariamente da gantonio:

Veramente dovrebbe essere

Asc(array(0)) + Asc(array(1)) * 256




Si grazie, infatti cosė č corretto.

Un altra domanda, se io devo fare la cosa contraria.

Ho 2 stringhe.
Stringa1 vale 00000010
Stringa2 vale 01000000

ora devo inserire queste due stringe in un buffer composto da elementi di tipo byte. E' possibile?

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:36
Venerdė, 18/07/2008
Ma le stringhe sono scritte con 0 e 1 ?

O contengono il valore corrispondente al binario indicato?

Dai qualche info in piu' ...

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 17:37
Venerdė, 18/07/2008
devi conertire i bit in decimali e poi metterli nel buffer

PM Quote
Avatar
8jack (Normal User)
Newbie


Messaggi: 15
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 17:43
Venerdė, 18/07/2008
Testo quotato

Postato originariamente da gantonio:

Ma le stringhe sono scritte con 0 e 1 ?

O contengono il valore corrispondente al binario indicato?

Dai qualche info in piu' ...



Le stringhe sono composte da zeri e uni.

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:55
Venerdė, 18/07/2008
E allora devi convertirli prima in decimale e poi inserirli nel buffer ...

Sai come si converte da binario a decimale?

P.S. Una curiosita' ... ma come mai affrontate questo tipo di programmi senza avere idea dell'abc dell'informatica, come e' il binario ...?

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 18:00
Venerdė, 18/07/2008
N.B. in VB6.0, nn cč una funzione nativa bin-->dec ne viceversa

PM Quote
Avatar
M@d_Hacker (Ex-Member)
Expert


Messaggi: 254
Iscritto: 25/02/2008

Segnala al moderatore
Postato alle 0:05
Sabato, 19/07/2008
Io uso un codice per convertire i decimali in binario..

Ora te lo posto.. Poi te lo  modifiki te..

Codice sorgente - presumibilmente VB.NET

  1. Dim i As Long, x As Long, bin As String
  2.       Const maxpower = 30
  3.       Const maxlenght = 16
  4.       bin = ""
  5.       x = Val(txtdecimale.Text)
  6.       If x > 2 ^ maxpower Then
  7.          MsgBox "Il numero non deve essere pių grande di", vbCritical & Str$(2 ^ maxpower)
  8.          iblbinario.Caption = ""
  9.          Exit Sub
  10.       End If
  11. digit:
  12.       If x < 0 Then bin = bin + "1" Else bin = bin + "0"
  13.  
  14.       For i = maxpower To 0 Step -1
  15.          If x And (2 ^ i) Then
  16.             bin = bin + "1"
  17.          Else
  18.             bin = bin + "0"
  19.          End If
  20.       Next
  21.       iblbinario.Caption = bin
  22. If txtdecimale.Text = "" Then MsgBox "Inserisci numero", vbCritical
  23. End Sub


PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo