String zwischen zwei positionen auslesen

  • VB6

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Patrick Schwarz.

    String zwischen zwei positionen auslesen

    Hallo Leute!
    habe mich mal hier angemelded, da ich in zukunft sehr viel mit vb machen muss. ich hoffe ich bekomme hier einige hilfe und hoffe auch ,dass ich einigen hier helfen kann!

    ich habe momentan ein kleines problem ,bei dem ich nicht mehr weiter weis.

    ich habe zwei positionen ermittelt. ich möchte den text dazwischen in eine variable speichern.

    bsp: hello

    pos1 = h
    pos5 = o

    wie bekomme ich nun ello heraus??
    geht es irgendwie mit instr...?
    ich habe leider keine ahnung

    wäre klasse, wenn mir da jemand bei helfen könnte!

    Gruß
    patrick
    Du brauchst den Mid-Befehl!

    MsgBox Mid$(Str, Pos1, Pos2)

    Edit: Moment, das kann glaube ich garnicht klappen, da war ich zu voreilig. Teste mal, ob's geht.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hi

    Doch Du hast recht Marcus. Geht mit dem Mid$ Befehl. Gehen wir mal davon aus, dass wir wie oben beschrieben den Begriff "Hello" haben.

    Quellcode

    1. Dim nPos1 As Integer
    2. Dim nPos2 As Integer
    3. Dim szString As String
    4. szString = "Hallo"
    5. nPos1 = InStr(szString, "H")
    6. nPos2 = InStr(szString, "o")
    7. MsgBox Mid$(szString, nPos1 + 1, nPos2 - nPos1)


    Aber beachte bitte, dass dies nur bedingt pauschal angewendet werden kann. Bei einem Begriff wie z. B. "Kommando" würde es so nicht funktionieren, weil das "o" ja zweimal darin vorkommt. Ist aber nur ein bischen Grübelarbeit um das auch hinzubekommen.

    Gruß
    Das Orakel
    Aus dem Grund würde ich z.B. auch nie die Buchstaben angeben sondern die Positionen der Zeichen direkt, da die ja immer gleich bleiben. Z.B.:

    Quellcode

    1. Private Sub Command1_Click()
    2. Dim strTest As String
    3. strTest = "Hello"
    4. MsgBox Mid$(strTest, 2, Len(strTest) - 2)
    5. End Sub


    mfG,

    Malcolm
    Einspruch Euer Ehren

    Original von Malcolm
    Aus dem Grund würde ich z.B. auch nie die Buchstaben angeben sondern die Positionen der Zeichen direkt, da die ja immer gleich bleiben. Z.B.:


    Genau das kannst Du eben nicht garantieren. Im Falle Hallo geht das ja noch. Aber stell Dir vor, Du liest eine Textbox aus, in der der User noch was eingeben kann. Dann ist Deine Annahme nicht mehr korrekt.

    Gruß
    Das Orakel
    Tut mir leid, da habe ich mich undeutlich ausgedrückt. Ich meinte natürlich vorausgesetzt den Fall, man will ein und die selbe Aktion (Zeichen 2- (vorletztes zeichen) auslesen) vornehmen, dann ist es egal wie lang das wort ist und welche buchstaben hat - die positionen bleiben gleich, die buchtaben hingegen nicht unbedingt.

    Du hast aber natürlich recht, dass es egal ist, wenn es sich nicht um ein einzelnes Wort handelt.

    mfG,

    Malcolm