01. februar 2006 - 21:03Der er
16 kommentarer og 1 løsning
Konverter fra Ascii til Char
Jeg har et problem med at få konverteret nogle værdier jeg modtager fra en maskine i ascii kode. Jeg får fx 3132, som jo vil blive til tallet 12, men jeg kan ikke få computeren til at vise tallet 12. Jeg har prøvet med VBA.Asc og VBA.Hex på forskellige måder, men synes ikke jeg kan se mig ud af det. Nogen der har en ide til hvad jeg skal gøre? Forresten arbejder jeg i Excel.
Lige et til spørgsmål. når jeg nu skriver 3030, så giver den mig kun et 0. Jeg skal gerne have vist ALLE de tegn der bliver lavet om, også selv om det er 0. Kan jeg gøre det ved at lave CLng om til Cstr?
Der er så bare et problem. Så længe jeg viser den i en msgbox virker det fint, men smider jeg den ind i en celle, skriver den jo kun et 0. Kan der også gøres noget ved det? noget med at konvertere den til en tekst eller sådan noget?
Bemærk den lille apostrof, der sørger for at det bliver tekst. Alternativt skal du i forvejen eller under programafviklingen formatere cellen som tekst.
Bare glem det. Har fundet ud af det. Men jeg kan åbenbart blive ved med at finde ud af spørgsmål. Hvis jeg nu har et varenr, på 6 tal, som jeg laver om til ascii og gemmer det i 1 variabel, så jeg fx får 303335343132. Det vil jo give nummeret 035412. Kan jeg få den til at teste dem 2 og 2. Kan se på din anden kode at du først tester 2 fra venstre og så 2 fra højre, men den går jo ikke rigtig her!?
håber ikke du stadig vil hjælpe. Vil gerne give flere point hvis det er! :)
Jeg vil gerne have sådan at jeg kan skrive et tal ind i en msgbox, lave det om til ascii kode, til hex og så tilbage til det originale tal. Jeg har lavet følgende kode ud fra det du allerede har lavet til mig, men det virker ikke.
A = InputBox("dm1206: ", "Test") 'dm(1206)
For B = 1 To Len(A) Step 1 Y = Y & Asc(CLng("&H" & Mid(A, B, 1))) Next
Y = VBA.Hex(Y)
For I = 1 To Len(A) Step 2 X = X & Chr(CLng("&H" & Mid(Y, I, 2))) Next
Nu har jeg siddet og bikset lidt med det, og jeg er kommet frem til denne kode (som virker):
Dim A As Variant Dim X As Variant Dim Y As Variant Dim Z As Variant
A = InputBox("dm1206: ", "Test") 'dm(1206)
For B = 1 To Len(A) Step 1 Y = Y & Asc(CLng("&H" & Mid(A, B, 1))) Next
[b2] = "'" & Y
For C = 1 To Len(Y) Step 2 Z = Z & Hex(CLng(Mid(Y, C, 2))) Next
[b3] = "'" & Z
For I = 1 To Len(Z) Step 2 X = X & Chr(CLng("&H" & Mid(Z, I, 2))) Next
MsgBox X
[a1] = "'" & X
MEN er det HELT korrekt?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.