Select Case +text.startswith("blaaa") probleme

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Select Case +text.startswith("blaaa") probleme

    Hallöle miteinander,
    ich habe ein programm geschrieben das mir einen string ausgibt.
    um mit dem string was anfange zü können schaue habe ich ein
    Select Case eingebaut.

    VB.NET-Quellcode

    1. Select Case message
    2. Case "hallo"
    3. messagebox.show("hallo")
    4. end select

    das klappt super.
    aber ich will da auch reinbekommen das

    VB.NET-Quellcode

    1. Case message.startswith("lol")
    2. messagebox.show("es fängt mit lol an")

    das klappt leider nicht.
    mit

    VB.NET-Quellcode

    1. select case True
    würde das klappen
    aber ich will halt .starts with("lol") und "hallo" im selben Select case haben.
    habt ihr da irgendwelche lösungsvorschläge ?
    währe voll nett :D

    versteht ihr was ich meine ? wenn nicht schießt los und fragt.
    sonst schonmal Vielen dank in Vorraus (*_*)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    ja mit

    VB.NET-Quellcode

    1. Select Case True


    klappt case message.startswith("lol")
    aber Case "hallo"
    zeigt dann fehler an (
    Spoiler anzeigen
    Ungültige Konvertierung von der Zeichenfolge lol in Typ Boolean.
    )
    ich will BEIDES ("hallo" und .startswith im selben Select Case behandeln können.)

    geht das überhaubt ?

    VB.NET-Quellcode

    1. Case True
    2. 'beginnt mit lol
    3. Case False
    4. '...net.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    ich habe jezzz

    VB.NET-Quellcode

    1. Select Case True
    2. Case TextBox1.Text.StartsWith("lol")
    3. MessageBox.Show("es startet mit lol")
    4. Case False
    5. Select Case TextBox1.Text
    6. Case "hallo"
    7. MessageBox.Show("hallo wurde geschrieben")
    8. End Select
    9. Case Else
    10. MessageBox.Show("errrror")
    11. End Select


    .startswith klappt aber bei Case "hallo" passiert nix :?


    an was kann das liegen ?

    VB.NET-Quellcode

    1. Select Case TextBox1.Text.StartsWith("lol")
    2. Case True
    3. MessageBox.Show("es startet mit lol")
    4. Case False
    5. Select Case TextBox1.Text
    6. Case "hallo"
    7. MessageBox.Show("hallo wurde geschrieben")
    8. End Select
    9. Case Else
    10. MessageBox.Show("errrror")
    11. End Select
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    teddygun300 schrieb:

    an was kann das liegen ?

    Hpts. daran, dass du select-case immer noch nicht wirklich verstanden hast. Dabei hatte ich es doch schon erklärt ...

    select case true
    case foo.startswith("bar")
    case bar="hello world"
    case i = 18
    case myfunction(z) > yourfunction(y)
    end select


    denn
    select case true
    ...
    case false

    wird übersetzt nach:
    if true = false then ...

    Und das trifft extrem selten zu ...
    Der Code von Lukas ist Schrott!

    Ein Select Case mit einem True oder False Case ???
    Das ist doch Humbug. Dafür kann man If (bzw früher IIf) nehmen.

    Picoflop hat dir doch genau erklärt wie es funktioniert...

    select case true
    case foo.startswith("bar")
    case bar="hello world"
    case i = 18
    case myfunction(z) > yourfunction(y)
    case Textbox1.Text = "Hallo"
    end select

    Gruss
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich habe nur seinen Fehler ausgebessert und keinen Wert auf Stil gelegt...er sollte begreifen, wo sein Fehler liegt ;)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    Lukas schrieb:

    er sollte begreifen, wo sein Fehler liegt

    Wäre besser, wenn er begreift, wie select-case funzt ...

    Nochmal für ... langsamversteher

    select case a
    case 1
    case 2
    case 3
    case else
    end select

    wird "übersetzt" zu:

    if a = 1 then
    elseif a = 2 then
    elseif a = 3 then
    else
    endif

    jetzt kommts ... aber ... ;)
    if könnte AUCH schreiben:
    if 1 = a then
    elseif 2 = a then
    elseif 3 = a then
    else
    endif

    macht keinen unterschied. Ich vergleich zwei "Sachen" und welche links und welche rechts steht ist ja egal.

    DANN kann ich aber auch schreiben

    select case 1
    case a
    case b
    case c
    end select

    dh wenn a=1 dann .... sonst wenn b=1 dann ... sonst wenn c=1 dann

    Und GENAUSO funzt auch der "Trick" mit dem "select case True" !
    @pico: Ja, wäre besser gewesen. Ich merk's mir für den nächsten Select-Case-Thread ;)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.