Konvertierungen in VBS

Hexadezimal zu Dezimal

  1. ' ** wandelt Hex-Zahl in Dez-Zahl
  2. Function HxDz (strHex)
  3. HxDz = CLng("&H" & strHex)
  4. End Function

Dezimal zu Hexadezimal

  1. ' ** wandelt Dez-Zahl in 6-stellige Hex-Zahl
  2. Function DzHx (Dez)
  3. DzHx=right(Hex(Dez+&h1000000&),6)
  4. End Function

Hexadezimal zu ANSI

  1. ' ** wandelt Hex-Zahl in das korrespondierende ANSI-Zeichen
  2. Function HxAnsi (strHex)
  3. HxAnsi = Chr(CLng("&H" & strHex))
  4. End Function

Dezimal zu Binär

  1. Function DezToBin (ByVal lngZahl)
  2. ' ** Dezimal nach Binaer umrechnen
  3. Dim bytRest
  4. Dim lngResultat
  5. Do
  6. lngResultat = lngZahl\2
  7. bytRest = lngZahl Mod 2
  8. lngZahl = lngResultat
  9. DezToBin = DezToBin & bytRest
  10. Loop While (lngResultat >=1)
  11. DezToBin = StrReverse(DezToBin)
  12. End Function

Binär zu Dezimal

  1. Function BinToDez(ByVal strBin)
  2. ' ** Binaer nach Dezimal umrechnen
  3. Dim bytBit
  4. Dim bytBas
  5. Dim intStrLen
  6. Dim dblZwischenres
  7. Dim n
  8.  
  9. bytBas = 2
  10. intStrLen = Len(strBin)
  11. For n = 0 To (intStrLen - 1)
  12. bytBit = Mid(strBin, intStrLen - n, 1)
  13. If bytBit <> 0 Then
  14. dblZwischenres = bytBit * (bytBas ^ n)
  15. BinToDez = BinToDez + dblZwischenres
  16. End If
  17. Next
  18. If BinToDez = "" then BinToDez = 0
  19. End Function

Dezimalzahl zu 8-Bit-Binär-String

  1. Benötigt wird das z.B., wenn in einem zweiten Schritt einzelne Bits ausgewertet werden sollen.\\
  2. ' ** Umwandlung Dezimalzahl zu 8-BIT-Binär-String
  3. Function DezBin8(byVal Dez)
  4. Dim x
  5. Dez = Abs(Dez)
  6. For x = 1 To 8
  7. DezBin8 = (Dez mod 2) & DezBin8
  8. Dez = Dez \ 2
  9. Next
  10. End Function

Byte zu Kilobyte oder Megabyte

  1. ' Rechnet Byte, je nach Wertgröße in Kilo- oder Megabytewert um,
  2. ' gibt das Ergebnis - auf zwei Dezimalstellen gerundet - mit der
  3. ' Einheit Byte, kB oder MB zurück
  4. Function ByteVorsatz (ByVal bytewert)
  5. If bytewert < 1024 then ByteVorsatz = bytewert & " Byte"
  6. If bytewert >= 1024 and bytewert < 1048576 Then ByteVorsatz = Round(bytewert / 1024, 2) & " kB"
  7. If bytewert >= 1048576 then ByteVorsatz = Round(bytewert / 1048576, 2) & " MB"
  8. End Function

Farbwerte

Das Dialogsteuerelement Color liefert als Ergebnis den RGB-Wert ("000 000 000" bis "255 255 255").

RGB-Wert zu Einzelwerten r, g und b

Werden die RGB-Werte einzeln benötigt wie z.B. bei FF_ExtendCanvas, so splittet man diesen Wert.

  1. RGB_Array = split(RGB)
  2. call FF_ExtendCanvas(left,right,top,bottom,RGB_Array(0),RGB_Array(1),RGB_Array(2))

RGB-Wert zu Farbreferenz (colorref)

Viele FF-Befehle wie z.B. FF_NewImage oder FF_MakeBanner benötigen zur Farbangabe den Referenzwert colorref (0 - 16777215).

  1. call FF_NewImage(width,height,Farbreferenz(RGB))
  2.  
  3. ' ** Umwandlung RGB-Wert ("000 000 000" bis "255 255 255") zu Farbreferenz (0 - 16777215)
  4. Function Farbreferenz (RGB_Wert)
  5. Dim C_Array
  6. C_Array = split(RGB_Wert," ")
  7. Farbreferenz = C_Array(0) + C_Array(1) * (2^8) + C_Array(2) * (2^16)
  8. End Function

Farbreferenz (colorref) zu RGB-Wert

  1. Den Referenzwert kann man zurück wandeln zum RGB-Wert\\
  2. ' ** Farbreferenz (0 - 16777215) zu RGB-Wert ("000 000 000" bis "255 255 255")
  3. Function RGB_Farbwerte (Referenz)
  4. RGB_Farbwerte = Right(1000 + (Referenz and &HFF),3) & " " &_
  5. Right(1000 + ((Referenz\256) mod 256),3) & " " & Right(1000 + (Referenz\&H10000),3)
  6. End Function

Pixel / Millimeter

Entscheidend für die Umrechnung zwischen Längeneinheit zu Pixel ist die Punktdichte, die üblicherweise in Punkte pro Zoll - Dots per Inch (DPI) angegeben wird,.

Millimeter zu Pixel

  1. Function mm_zu_px (Millimeter, Dpi)
  2. mm_zu_px = Millimeter * Dpi * 0.03937
  3. End Function

Pixel zu Millimeter

  1. Function px_zu_mm (Pixel, Dpi)
  2. px_zu_mm = Pixel / Dpi / 0.03937
  3. End Function