String Zeichen für Zeichen speichern und ausgeben (MID Funktion klappt not)

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    String Zeichen für Zeichen speichern und ausgeben (MID Funktion klappt not)

    Quellcode

    Hallo, habe mich hier angemeldet,
    weil ich eine Sache nicht verstehe -und irgendwie auch auf keinen Nenner komme, wieso das nich funktioniert.

    Bin jetzt nicht Jesus in VB, deswegen hoffe ich mal, ihr könnt mir da helfen.

    Es geht darum, Zeichen für Zeichen eines Strings abzufragen.
    Dabei wird ein Wert hochgezählt(wert=wert+4) bis dieser gleich dem Wert des benutzers ist.
    Und am Ende soll der string bis zum besagten zeichen abgespeichert und angezeigt werden.
    (Das nur zur Erklärung, ist im code nicht dabei, weils wo anders hängt)

    "20010db885a308d313198a2e03707347" ist der string
    '''''''''''''''''''''''''''''''''''''''''''''''''''''


    Dim adresseOhneDoppelpunkte As String = TextBox1.Text
    For z = 1 To adresseOhneDoppelpunkte.Length()
    MsgBox(Mid$(adresseOhneDoppelpunkte, z, z))
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Probiert es mal aus. Eigentlich müsste durch Mid und z immer nur 1(!) Zeichenhen angezeigt werden.
    Das Programm zeigt aber mal 2 mal 3 an.
    Liegt wohl auch nicht an den Nullen, was ich mal dachte...


    Das muss doch gehen?!

    Danke Euch

    mfg VBderNoob

    VBderNoob schrieb:

    Zeichen für Zeichen eines Strings abzufragen.
    So:

    VB.NET-Quellcode

    1. Dim adresseOhneDoppelpunkte As String = "20010db885a308d313198a2e03707347"
    2. For Each c In adresseOhneDoppelpunkte
    3. MessageBox.Show(c.ToString)
    4. Next
    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!

    VB.NET-Quellcode

    1. If wert = TextBox2.Text Then
    2. telleporter(adresseOhneDoppelpunkte, hostteil, wert)
    3. End If
    4. Sub telleporter(ByVal adresseOhneDoppelpunkte As String, ByVal hostteil As String, ByVal wert As Integer)
    5. 'MessageBox.Show("hat geklappt")
    6. For Each c In adresseOhneDoppelpunkte
    7. If hostteil.Length = (wert / 4) Then
    8. 'Continue For
    9. MessageBox.Show(hostteil)
    10. End If
    11. hostteil = hostteil & c


    Jetzt hab ichs mit dem Quellcode ^^

    Ging dann doch noch mit for each, weswegen ichd as aber in ne funktion packen musste.
    Fraga: Gibts ne Möglichkeit von der funktion aus irgendwo im code fortzusetzen, sozusagen nen Anker setzen: ab da gehts weiter ?

    mfg


    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VBderNoob“ ()

    Eierlein schrieb:

    VB6
    Sorry, ist mir auch gerade aufgefallen. :whistling:
    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!