Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Zeichen ersetzen ab 256 in der ASCII Tabelle

Begonnen von bungev, August 26, 2022, 20:34:11

⏪ vorheriges - nächstes ⏩

bungev

Hallo zusammen,

wie kann ich Zeichen ab ASCII 256 ersetzen?

Konkret geht es gerade um das Zeichen 2116 (Calibri) welches No (o ist noch unterstrichen) darstellt.

Gehe ich mit ASC("<Zeichen kopiert und eingefügt>") her, ist es ein ? und liefert 63. Ersetzt mit Replace wird es natürlich nicht, da es ja 2116 ist.

Mit CHR(2116) kann ich auch nicht arbeiten, da CHR nur bis 255 geht.

Kann mir hier jemand helfen?

Gruß

Volker

daolix

verwende ascw und chrw, dann sollte auch das Zeichen 2116 funnktionieren

bungev

#2
Hallo daolix,

vielen Dank für den Hinweis.

Jetzt habe ich eigentlich gedacht, dass es lief, aber mit 2116 war leider nichts zu machen.

Dann habe ich mir mal jedes Zeichen mit ASCW anzeigen lassen und siehe da, es war 8470. Mit diesem Wert klappt es dann auch mit dem ersetzen.

Hier mal eine schnelle Lösung für das Löschen.

    ' Zeichen über ASCII 255 löschen
    For z = 1 To Len(Me.Bezeichnung)
        If AscW(Mid(Me.Bezeichnung, z, 1)) > 255 Then
            Me.Bezeichnung = Replace(Me.Bezeichnung, ChrW(AscW(Mid(Me.Bezeichnung, z, 1))), "  ")
        End If
    Next z
    Me.Bezeichnung = Replace(Me.Bezeichnung, "  ", " ") ' gehört dann zur obrigen Schleife dazu und muss am Ende auf jeden Fall folgen

Will man einzelne Zeichen ersetzen, dann bleibt nur eine lange Liste zu erstellen oder eine Abfrage.

Somit ist wieder ein kleines Problem gelöst.

Gruß

Volker

daolix

Zitat von: bungev am August 27, 2022, 10:14:50Jetzt habe ich eigentlich gedacht, dass es lief, aber mit 2116 war leider nichts zu machen.
doch, nur hast du die zahlensysteme gemixt, 2116 ist der hexadezimalwert für 8470 dezimal.

bungev

Vielen Dank für den Hinweis.

Mit den ganzen Zahlensystem ist es aber auch nicht immer leicht.

markusxy

Zitat von: bungev am August 28, 2022, 09:12:55Mit den ganzen Zahlensystem ist es aber auch nicht immer leicht.

In der Regel werden wird beim char-code ja auch ein Hex Wert angegeben.
Du müsstest ja selbst wissen auch welcher Quelle du das hast und ob es sich um Dezimal/Hex Werte handelt.
Aber so lernt man eben ständig dazu.