meta data for this page
  •  

Dies ist eine alte Version des Dokuments!


Konvertierungen in VBS

Hexadezimal zu Dezimal

' ** wandelt Hex-Zahl in Dez-Zahl
Function HxDz (strHex)
     HxDz = CLng("&H" & strHex)
End Function

Dezimal zu Hexadezimal

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

Hexadezimal zu ANSI

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


Dezimal zu Binär

Function DezToBin (ByVal lngZahl)
' ** Dezimal nach Binaer umrechnen
    Dim bytRest
    Dim lngResultat
    Do
        lngResultat = lngZahl\2
        bytRest = lngZahl Mod 2
        lngZahl = lngResultat
        DezToBin = DezToBin & bytRest
    Loop While (lngResultat >=1)
    DezToBin = StrReverse(DezToBin)
End Function



Binär zu Dezimal

Function BinToDez(ByVal strBin)
' ** Binaer nach Dezimal umrechnen
    Dim bytBit
    Dim bytBas
    Dim intStrLen
    Dim dblZwischenres
    Dim n
    bytBas = 2
    intStrLen = Len(strBin)
    For n = 0 To (intStrLen - 1)
        bytBit = Mid(strBin, intStrLen - n, 1)
        If bytBit <> 0 Then
            dblZwischenres = bytBit * (bytBas ^ n)
            BinToDez = BinToDez + dblZwischenres
        End If
    Next
    If BinToDez = "" then BinToDez = 0
End Function


Dezimalzahl zu 8-Bit-Binär-String

Benötigt wird das z.B., wenn in einem zweiten Schritt einzelne Bits ausgewertet werden sollen.

' ** Umwandlung Dezimalzahl zu 8-BIT-Binär-String
Function DezBin8(byVal Dez)
     Dim x
     Dez = Abs(Dez)
     For x = 1 To 8
             DezBin8 = (Dez mod 2) & DezBin8
             Dez = Dez \ 2
     Next
End Function

Byte zu Kilobyte oder Megabyte

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

RGB_Array = split(RGB)
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).

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

Farbreferenz (colorref) zu RGB-Wert

Den Referenzwert kann man zurück wandeln zum RGB-Wert

' ** Farbreferenz (0 - 16777215) zu RGB-Wert ("000 000 000" bis "255 255 255")
Function RGB_Farbwerte (Referenz)
 RGB_Farbwerte = Right(1000 + (Referenz and &HFF),3) & " " &_
                 Right(1000 + ((Referenz\256) mod 256),3) & " " & Right(1000 + (Referenz\&H10000),3)
End Function
 

Pixel / Millimeter

Entscheident 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

Function mm_zu_px (Millimeter, Dpi)
     mm_zu_px = Millimeter * Dpi * 0.03937
End Function

Pixel zu Millimeter

Function px_zu_mm (Pixel, Dpi)
     px_zu_mm = Pixel / Dpi / 0.03937
End Function