Steuerzeichen zu *

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Steuerzeichen zu *

    Moin,
    eigentlich wollte ich vorhin
    @Haudruferzappeltnoch meine Lösung vorschlagen. Ich habe dann aber gemerkt, dass er leicht etwas anderes vorhat. Damit nichts durcheinanderkommt, hab' ich einen neuen Thread erstellt.
    In meiner Funktion geht es darum, unsichtbare Zeichen / Steuerzeichen durch
    * zu ersetzen, damit, wenn der String in eine Textdatei geschrieben wird, kein ungewollter Backslash / TAB / Zeilenumbruch stattfindet. Die einzelnen Bytes kommen aus einem Byte-Array einer beliebigen Datei.
    Könntet ihr das mal bewerten?

    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Byte to Char
    3. ''' </summary>
    4. ''' <returns></returns>
    5. Private Function BtC(i As Integer) As Char
    6. Dim C1 As Char
    7. If Data(i) > CByte(32) AndAlso Data(i) < 128 Then
    8. C1 = Convert.ToChar(Data(i))
    9. Else
    10. C1 = "*"c
    11. End If
    12. Return C1
    13. End Function


    BtC(n + 4) & BtC(n + 5) & BtC(n + 6) & BtC(n + 7) wird also ein String hergestellt aus 4 nacheinanderfolgenden Bytes.
    @Bartosz Besser so:

    VB.NET-Quellcode

    1. If Data(i) > 31 AndAlso Data(i) < 128 Then
    Das Leerzeichen kann doch Leerzeichen bleiben.
    Wie genau ist Data() deklariert?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!