USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Montar Array de Bytes
Defende
JARINÚ
SP - BRASIL
Postada em 29/08/2006 09:08 hs            
Seguinte pessoal, tenho de montar um array de bytes com 5 arrays e dentro deles eu tenho de colar o seguinte valor = 8DA59B2C7F1E.

Estou usando esta funcao:

Public Function NumeroByte(varCampo As String) As Byte()
Dim vN As Integer
Dim x As Integer
Dim vx(15) As Byte
Dim vTexto As String
Dim y As Integer
Dim vc As String
y = 1

vTexto = varCampo

For x = 0 To 31
If y = 33 Then
    Exit For
End If
    cp = Mid(vTexto, y, 2)
        vc = CByte(cp)
        If Len(vc) = 1 Then
            vx(x) = "0" & vc
        End If
        vx(x) = vc
        y = y + 2
Next
  
NumeroByte = vx
End Function

Onde varCampo = 8DA59B2C7F1E

Soh que me parece que Byte permite apenas valores numericos entao eu pergunto como posso montar esse array usando alfanumericos?

Acontece que eu estou montando um sistema para gravacao de cartao Mifare (SmartCard) e o valor para ser gravado dentro dele tem de ser array.

Por favor quem puder me ajudar.
Grato
     
Jayme
não registrado
Postada em 29/08/2006 13:42 hs   
Se declarar o Array como Variant não resolve ?
 
Jayme
     
Defende
JARINÚ
SP - BRASIL
Postada em 29/08/2006 15:29 hs            
Nao porque tem de ser passado em byte mesmo.
como eu transfomo letra em numero? tem como? de repente pode ser isso.
     
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
Postada em 29/08/2006 23:41 hs         
cada letra tem um ascii correspondente e no vb tem uma api copymemory que divide qualquer valor em bytes basta passar pra ela o comprimento e se o valor seu estiver em hex informe pro vb &H8DA59B2C7F1E
CopyMemory &H8DA59B2C7F1E, CByte( 0 ), 6
Tente e poste acho que simplifica bastante
     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 30/08/2006 07:53 hs            
Nao precisa complicar nao... tenta o codigo assim:
 
Public Function NumeroByte(varCampo As String) As Byte()
 Dim vN As Integer
 Dim x As Integer
 Dim vx(15) As Byte
 Dim vTexto As String
 Dim y As Integer
 Dim vc As String
 y = 1
 vTexto = varCampo
 For x = 0 To 31
  If y = 33 Then Exit For
  cp = Mid(vTexto, y, 2)
  vc = CByte(cp)
  If Len(vc) = 1 Then
   vx(x) = Cbyte("&H0" & vc)
  Else
   vx(x) = CByte("&H" & vc)
  End If
  y = y + 2
 Next
 NumeroByte = vx
End Function
 
Eu não verifiquei sua logica. Apenas mudei a funcao pra guardar os bytes no lugar de Hex no Array... testa ai e fala se deu certo...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Defende
JARINÚ
SP - BRASIL
Postada em 31/08/2006 10:07 hs            
Valeu tanto para o Eliezer como para AMA - funcionou das duas maneiras, problema resolvido. Me ajudaram muito mesmo - de novo.

Valeu pessoal.
     
Página(s): 1/2      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página