vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Codefehler 
Autor: GhostRE
Datum: 05.06.08 15:01

Hallo,

dein Code hat mehrere Fehler bzw. Schönheitsfehler.

1. die Abfrage
If vorname.Text = "" Then
umfasst den ganzen Codeblock, also, sobald du etwas in das Feld vorname eingegeben hast, trifft diese Bedingung nicht mehr zu, und es wird nichtsmehr ausgeführt.

2. die Abfrage
If vorname.Text = "" Then
steht in der falschen Ereignisprozedur. Sie darf nicht in
vorname_KeyDown
stehen sondern muß in
vorname_TextChanged
.
Grund dafür, in der
vorname_KeyDown
Prozedur ist deine Eingabe noch nicht verarbeitet, also steht im Textfeld vorname das grade eingegebene Zeichen noch nicht. Du würdest also immer ein Zeichen "hinterher hängen"

3. Warum zweimal die gleiche Selectanweisung? Geht alles in einer

4. Um nicht immer beide Schreibweisen (groß und klein) prüfen zu müssen einfach den Text des Textfeldes in Groß oder Kleinbustaben wandeln.
vorname.Text.ToUpper
oder
vorname.Text.ToLower
und die Case sieht dann so aus
case "VASILIS"
bzw.
case "vasilis"
Der ganze Code sähe dann so aus
    Private Sub vorname_KeyDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.KeyEventArgs) Handles vorname.KeyDown
 
        'Durch Drücken der Taste "Enter" werden diese Funktionen ausgeführt
        If e.KeyCode = Keys.Enter Then
 
            'Markieren der Textbox "vorname" nach Drücken von "Berechnen"
            vorname.Focus()
            vorname.SelectAll()
 
            Select Case vorname.Text.ToLower
                Case "vasilis"
                    lbl_Namenstag.Text = "01. Januar"
                    lbl_Namenstag2.Text = ""
                    Bedeutung.Text = "Vasilis ist auf Platz 8167 der" & _
                      "beliebtesten männlichen Vornamen von" & _
                    vbCr & "insgesamt 27792 männlichen Namen."
                Case Else
                    lbl_Namenstag.Text = "Leider gibt es für Ihren Namen" & _
                    vbCr & "keinen Namenstag!"
                    lbl_Namenstag2.Text = ""
                    Bedeutung.Text = ""
            End Select
        End If
    End Sub
 
    Private Sub vorname_TextChanged(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles vorname.TextChanged
        If vorname.Text = "" Then
            lbl_Namenstag.Text = ""
            lbl_Namenstag2.Text = ""
            Bedeutung.Text = "Bitte geben Sie einen Namen ein:"
 
        Else
            Bedeutung.Text = ""
        End If
 
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Codefehler909Angelika05.06.08 14:26
Re: Codefehler652Jonny13205.06.08 15:00
Re: Codefehler678GhostRE05.06.08 15:01
Re: Codefehler649Angelika05.06.08 15:16
Re: Codefehler620GhostRE05.06.08 15:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel