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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Montar um array de bytes
Defende
JARINÚ
SP - BRASIL
Postada em 10/07/2006 16:09 hs            
Seguinte, tenho esta string:

25487512365478204958471530269845 - 32 numeros

Presciso montar uma rotina onde eu tenho de transformar este numero acima em 16 bytes.
Nao tenho a minima ideia de como fazer isto.
Alguem poderia me ajudar???
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 10/07/2006 16:37 hs            
Não estou entendendo... tem mais algum detalhe??  Sempre irá vir numérico??
Olha... variáveis tipo double e currency contém 8 bytes. Não há variáveis q contém mais de 8 bytes a não ser a string mesmo...até 2^31 ...quase 2.0 GB sem tamanho definido... qual a intenção de transformar o nº acima colega??
     
Defende
JARINÚ
SP - BRASIL
Postada em 10/07/2006 17:01 hs            
Eh o seguinte, eu tenho de gravar dados em um cartao Mifare (Smart Card) e o formato para esta gravacao eh o seguinte:

Dim Numero(16) as Byte

e o numero a ser gravado eh aquele lah. Ateh na rotina esta escrito assim - byteWriteBuffer onde isso equivale ao array acima.

Eu ateh consegui uma funcao:

Public Function ArrayFunction(b As Byte) As Byte()
   Dim x(6) As Byte
   Dim y As Integer
  
   For y = 0 To 5
        x(y) = b
    Next
    
   ArrayFunction = x
End Function
mas como eu vou passar aquele numero monstruoso para esta funcao??
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 10/07/2006 17:35 hs            
vixi nem sei se entendi direito, tb nem sei se o q vou escrever pra vc será besteira ou se funcionará mas se vc tem q trabalhar com bytes então pegue o número mostruoso e passe o valor de 2 numeros... assim:
 
Dim Matriz(15) as byte
 
Matriz(0) = 25
Matriz(1) = 48
Matriz(2) = 75
Matriz(3) = 12
.
.
.
E assim por diante...
 
tentei...Emoções
 
precisando é só postar
 
t+
 
     
Defende
JARINÚ
SP - BRASIL
Postada em 10/07/2006 17:45 hs            
Consegui.
Ficou meio loco mas funciona.
Ele converte em Bytes e depois em numero de novo - eh soh analizar o codigo e ver.

=================== codigo ===============================
Dim vx(15) As Byte
Private Function NumeroByte() As Byte
Dim vN As Integer
Dim x As Integer

Dim y As Integer
y = 1

For x = 0 To Len(Text1.Text)
    If y = 33 Then
        Exit For
    End If
    cp = Mid(Text1.Text, y, 2)
    cp = Hex(cp)
    vx(x) = "&H" & cp
    y = y + 2
Next
  
NumeroByte = vx
End Function
Public Function ByteArrayToString(bytArray() As Byte) As String
    Dim sAns As String
    Dim iPos As String
    
    sAns = StrConv(bytArray, vbUnicode)
    iPos = InStr(sAns, Chr(0))
    If iPos > 0 Then sAns = Left(sAns, iPos - 1)
    
    ByteArrayToString = sAns

End Function

Private Sub Command1_Click()
Text2.Text = ""
NumeroByte

For xx = 0 To 15
    If Len("&H" & Hex(vx(xx))) = 1 Or "&H" & Hex(vx(xx)) = 0 Then
        zero = "0"
    End If
    Text2.Text = Text2.Text & zero & CByte(vx(xx))
    zero = ""
Next

End Sub

==============================================

Valeu
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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