If Not Fehler

  • VB.NET

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

    If Not Fehler

    Hallo,

    VB.NET-Quellcode

    1. Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    2. If ComboBox1.Text = "YouTube" Then
    3. Form3.Label1.Text = 1
    4. ElseIf ComboBox1.Text = "CHIP Forum" Then
    5. Form3.Label1.Text = 2
    6. ElseIf ComboBox1.Text = "PSD Tutorials" Then
    7. Form3.Label1.Text = 3
    8. ElseIf ComboBox1.Text = "VB Paradise" Then
    9. Form3.Label1.Text = 4
    10. ElseIf ComboBox1.Text = "ICQ" Then
    11. Form3.Label1.Text = 5
    12. ElseIf ComboBox1.Text = "Google" Then
    13. Form3.Label1.Text = 6
    14. End If
    15. Me.Hide()
    16. Form4.Show()
    17. Form4.Label1.Text = "Möchten Sie das Passwort von " & ComboBox1.Text & " wirklich anzeigen lassen?"
    18. If ComboBox1.Text = Not "YouTube" Or "CHIP Forum" Or "PSD Tutorials" Or "VB Paradise" Or "ICQ" Or "Google" Then
    19. MsgBox("Bitte machen Sie eine gültige Eingabe!")
    20. End If
    21. End Sub


    wenn ich auf einen Button drücke und der Text in der Combobox1 nicht "YouTube, Google, etc. ist, dann soll eine MSGBox mit der Meldung "Bitte machen Sie eine gültige Eingabe!" erscheinen.

    Es kommt folgender Fehler: Ungültige Konvertierung von der Zeichenfolge Wählen Sie das gewünschte Passwo in Typ Double.

    Hinweis: Der Standard Text von combobox1 ist "Wählen Sie das gewünschte Passwort..."

    Was mache ich denn falsch und wie muss ich meinen Code verändern, dass kein Fehler mehr kommt?


    gamer-bn

    *Topic verschoben*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „hal2000“ ()

    Es müsste dann schon heißen:

    VB.NET-Quellcode

    1. If not ComboBox1.Text = "YouTube" Or ComboBox1.Text = "CHIP Forum" Or ComboBox1.Text = "PSD Tutorials" Or ComboBox1.Text = "VB Paradise" Or ComboBox1.Text = "ICQ" Or ComboBox1.Text = "Google" Then
    2. MsgBox("Bitte machen Sie eine gültige Eingabe!")
    3. End If

    Allerdings wäre es deutlich einfacher, denn du das ganze so machst:

    VB.NET-Quellcode

    1. select case ComboBox1.Text
    2. case "YouTube"
    3. Form3.Label1.Text = 1
    4. case "CHIP Forum"
    5. Form3.Label1.Text = 2
    6. case "PSD Tutorials"
    7. Form3.Label1.Text = 3
    8. case "VB Paradise"
    9. Form3.Label1.Text = 4
    10. case "ICQ"
    11. Form3.Label1.Text = 5
    12. case "Google"
    13. Form3.Label1.Text = 6
    14. case else
    15. MsgBox("Bitte machen Sie eine gültige Eingabe!")
    16. end select

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FlashTek“ ()

    Option Strict On! zeigt dir die Fehler, die sonst insgeheim weiterbestünden.

    post#2 dürfte nämlich alle Eingaben ausser "YouTube" ablehnen.

    edit: na, jetzt ja nicht mehr ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Der Verwendungszweck ist aber reichlich fragwürdig. Ködersoftware für dumme Skriptkiddies, um ihnen Wannabe-Trojaner auf den Rechner zu schmuggeln oder was?

    #closerequest
    „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:

    Der Verwendungszweck ist aber reichlich fragwürdig. Ködersoftware für dumme Skriptkiddies, um ihnen Wannabe-Trojaner auf den Rechner zu schmuggeln oder was?

    #closerequest

    Wo liest du denn da einen fragwürdigen Verwendungszweck heraus?
    Warum soll er sich denn keine "Passwortverwaltung" erstellen dürfen? Ich finde es recht gewagt, dem TE automatisch zu unterstellen, das er damit illegale Vorhaben plant! Ich benutze selbst etwas ähnliches, wo ich meine häufig benutzten Passworte aus einer Liste auswählen kann.

    gamer-bn schrieb:

    VB.NET-Quellcode

    1. If ComboBox1.Text = Not "YouTube" Or "CHIP Forum" Or "PSD Tutorials" Or "VB Paradise" Or "ICQ" Or "Google" Then
    2. MsgBox("Bitte machen Sie eine gültige Eingabe!")
    3. End If

    Wenn Du mit derartigen Verknüpfungen arbeitest, setze Klammern, damit völlig Klar wird, worauf der Not-Operator angewendet werden soll.
    Desweiteren verwende den OrElse-Operator, um logische Ausdrücke zu verknüpfen und keine Bits.
    Also etwa so:

    VB.NET-Quellcode

    1. If Not ((ComboBox1.Text = "YouTube") OrElse (ComboBox1.Text = "CHIP Forum")) Then
    2. MsgBox("Bitte machen Sie eine gültige Eingabe!")
    3. End If
    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!