Gå til innhold

string to short spørsmål


Anbefalte innlegg

Driver å lager ett program som styrer LPTporten. Hvis jeg f.eks bruker følgende kommando, med funksjon går det greit.

 

Out(&H378S, test)

 

 

Function test() As short

test = &HFFS

End Function

 

 

men det fungerer ikke når jeg prøver dette.

 

Function test() As Short

test = "&H" + "FF" + "S"

End Function

 

 

når jeg prøver -> msgbox(test) får jeg "&HFFS"

 

Jeg tror løsningen vil være å konvertere fra string til short, men jeg finner ikke ut hvordan man gjør det.

Lenke til kommentar
Videoannonse
Annonse

Man kan bruke Short.Parse eller Short.TryParse til dette (alt etter om man forventer mange Exceptions). Til nøds kan også Val() brukes (Val("&HFFS") eksempelvis), men da må deretter konvertere resultatet fra Double til Short. Det er òg noe unødvendig å anvende funksjoner i Microsoft.VisualBasic dersom det finnes fullgode alternativer i .NET-rammeverket.

Dim Value As Short, Number As String

 

Number = InputBox("Skriv inn et heksadesimalt tall.", "Hex", "FF")

 

If Short.TryParse(Number, Globalization.NumberStyles.HexNumber, Nothing, Value) Then

   MessageBox.Show(Value)

Else

   MessageBox.Show(String.Format("'{0}' er ikke et gyldig heksadesimalt tall.", Number))

End If

Endret av aadnk
Lenke til kommentar

Hei, og takk for svar. Desverre klarer jeg ikke å få det til. Jeg har ett binærtall f.eks "11111111" som skal konverteres til hex. Dette går greit, og jeg får "FF". Problemet mitt er å få sendt dette på LPT.

 

dim test as string

test = "&HFFS"

(så noe for å konvertere test til short)

Out(&H378S, test)

 

edit: skrivefeil

Endret av btl-norway
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...