ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 30.11.2001

Diese Seite wurde zuletzt aktualisiert am 30.11.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Hex und Oct - formatiert

Zurück...


Anzeige

(-hg) mailto:hg_hexoctformat@aboutvb.de

Die Funktionen Hex$ und Oct$ konvertieren eine Zahl aus dem Dezimalsystem in die Darstellung im Hexadezimal- und Oktalsystem. Oft wird dazu eine Formatierung in einer festgelegten Anzahl von Stellen (meistens 2, 4 oder 8) gewünscht. Eine einfache Möglichkeit bieten die beiden hier vorgestellten Funktionen Hex und Oct, Sie ersetzen VB-Originale, wenn Sie sie in einem Standard-Modul platzieren. Die Originale können Sie trotzdem weiterhin aufrufen, indem Sie die VBA-Bibliothek spezifizieren - beispielsweise mit VBA.Hex(123).

Im ersten Parameter übergeben Sie wie gewohnt den darzustellenden dezimalen Wert. Im zweiten optionalen Parameter Digits können Sie die Anzahl der gewünschten Stellen angeben. Lassen Sie den Parameter weg bzw. übergeben Sie den Wert 0, erfolgt keine Formatierung. Bei Werten größer als 0 wird die Darstellung gegebenenfalls linksseitig mit Nullen bis zur gewünschten Stellenzahl aufgefüllt. Reicht die angegebene Stellenzahl nicht aus, um die Darstellung unterzubringen, wird ein Laufzeitfehler ausgelöst (Fehlernummer 6, Überlauf).

Sie können anstatt einer Stellenzahl auch einen der Werte aus der Enumeration HexOctFormatConstants übergeben. Bei hoFormatVB (-1) wird der Darstellung die entsprechende Kennung in VB vorangestellt (hexadezimal: &H, octal: &O), bei hoFormatVBLongSuffix (-2) wird dazu noch die Kennzeichnung für einen Long-Datentyp ("&H...&") angehängt. Diese beiden Formatierungen können bei der Generierung oder der bloßen Ausgabe von Quelltext ganz nützlich sein.

Public Enum HexOctFormatConstants
  hoFormatNone = 0
  hoFormatVB = -1
  hoFormatVBLongSuffix = -2
End Enum

Public Function Hex(ByVal Value As Long, _
 Optional ByVal Digits As HexOctFormatConstants = hoFormatNone) _
 As String

  Dim nHex As String
  Dim nDigits As Integer
  
  Select Case Digits
    Case hoFormatNone
      Hex = VBA.Hex$(Value)
    Case Is > 0
      nHex = VBA.Hex$(Value)
      nDigits = Digits - Len(nHex) + 1
      If nDigits > 0 Then
        Hex = String$(Digits, "0")
        Mid$(Hex, nDigits) = nHex
      Else
        Err.Raise 6
      End If
    Case hoFormatVB
      Hex = "&H" & VBA.Hex$(Value)
    Case hoFormatVBLongSuffix
      Hex = "&H" & VBA.Hex$(Value) & "&"
    Case Else
      Err.Raise 5
  End Select
End Function

Public Function Oct(ByVal Value As Long, _
 Optional ByVal Digits As HexOctFormatConstants = hoFormatNone) _
 As String

  Dim nOct As String
  Dim nDigits As Integer
  
  Select Case Digits
    Case hoFormatNone
      Oct = VBA.Oct$(Value)
    Case Is > 0
      nOct = VBA.Oct$(Value)
      nDigits = Digits - Len(nOct) + 1
      If nDigits > 0 Then
        Oct = String$(Digits, "0")
        Mid$(Oct, nDigits) = nOct
      Else
        Err.Raise 6
      End If
    Case hoFormatVB
      Oct = "&O" & VBA.Oct$(Value)
    Case hoFormatVBLongSuffix
      Oct = "&O" & VBA.Oct$(Value) & "&"
    Case Else
      Err.Raise 5
  End Select
End Function

Modul modHexOctFormat (modHexOctFormat.bas - ca. 1,8 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer