|
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
|
|
|
|
|
Postada em 29/08/2006 13:42 hs
Se declarar o Array como Variant não resolve ? Jayme
|
|
|
|
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
|
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
|
|
|
|
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 _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
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.
|
|
|