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