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 18.07.2001

Diese Seite wurde zuletzt aktualisiert am 18.07.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...

Ascii mittendrin

Zurück...


Anzeige

(-hg) mailto:hg_ascm@aboutvb.de

Sie kennen die Visual Basic-Funktion Asc, die den Ascii-Wert des ersten Zeichens eines String zurückgibt? Und Sie kennen auch deren Byte- und Unicode-Varianten AscB und AscW? Die Funktion AscM und deren Varianten AscMB und AscMW werden Sie aber nicht nicht kennen. Lebenswichtig ist sie auch nicht. Sie reduziert aber den Code, der zum Ermitteln des Ascii-Wertes eines Zeichens weiter innerhalb eines String notwendig ist. Und zum Ersetzen eines Zeichens in einem String unter Angabe des Ascii-Wertes folgt sie dem Vorbild der Mid$-"Funktion", die ja auch in umgekehrter Richtung arbeitet.

Dim nText As String

nText = "Hallo_Welt"
Debug.Print AscM(nText, 6)

ergibt den Ascii-Wert des Unterstrichs (95). Und um den Unterstrich beispielsweise durch ein Leerzeichen (Ascii-Wert 32) zu ersetzen, können Sie nun folgendes schreiben:

AscM(nText, 6) = 32
Debug.Print nText

ergibt wie gewünscht:

Hallo Welt

Sie werden sich vielleicht wundern, wie die Verwendung einer Funktion mit einer Zuweisung möglich sein kann. Sie ist genau so möglich, wie ja auch die Verwendung der Mid$-"Funktion" (Aha, Anführungszeichen...!) in einer Zuweisung schon seit eh und je in Basic-Dialekten möglich ist. Im Grunde arbeitet die Mid$-"Funktion" im Prinzip schon immer auf die gleiche Weise, wie wir sie erst seit Visual Basic 4 selbst an die Hand bekommen haben: als Paar von Eigenschaften-Prozeduren. Diese können ja nicht nur in Klassen und Forms usw. verwendet werden, sondern auch in Standard-Modulen, sozusagen als "globale" Eigenschaften. Und wer schreibt schließlich vor, dass in Eigenschaften-Prozeduren eines Moduls tatsächlich ein für dieses Modul privater, gekapselter Wert zu behandeln sei? Die AscM-"Funktion" sieht demnach als Paar von Eigenschaften-Prozeduren so aus:

Public Property Get AscM(Str As String, _
 Optional ByVal CharIndex As Long = 1) As Integer

  AscM = VBA.Asc(Mid$(Str, CharIndex, 1))
End Property

Public Property Let AscM(Str As String, _
 Optional ByVal CharIndex As Long = 1, New_AscM As Integer)

  Mid$(Str, CharIndex, 1) = Chr$(New_AscM)
End Property

Die entsprechenden "B"- und "W"-Varianten haben wir natürlich auch nicht vergessen:

Public Property Get AscMB(Str As String, _
 Optional ByVal CharIndex As Long = 1) As Integer

  AscMB = VBA.AscB(MidB$(Str, CharIndex, 1))
End Property

Public Property Let AscMB(Str As String, _
 Optional ByVal CharIndex As Long = 1, New_AscMB As Integer)

  MidB$(Str, CharIndex, 1) = ChrB$(New_AscMB)
End Property

Public Property Get AscMW(Str As String, _
 Optional ByVal CharIndex As Long = 1) As Integer

  AscMW = VBA.AscW(Mid$(Str, CharIndex, 1))
End Property

Public Property Let AscMW(Str As String, _
 Optional ByVal CharIndex As Long = 1, New_AscMW As Integer)

  Mid$(Str, CharIndex, 1) = ChrW$(New_AscMW)
End Property

Modul modAscM (modAscM.bas - ca. 1 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