Passwortabfrage mit VB05

skYraceR

Grünschnabel
Hey liebe Tutorials.de - Community,

ich muss für die Schule eine "einfache" Passwortabfrage in Virtual Basic 2005 realisieren.

Ich habe bereits ein Windows-Fenster erstellt mit einer TextBox, einem CommandButton und einem Label wo später ein Text erscheinen soll...

Mein erstes Probelm fing bei der TextBox an, da ich bei PasswortChar ein "*" eingeben habe, da ich möchte das die Eingabe in ***** angezeigt wird. Wenn ich allerdings dies teste, sehe ich immer noch meine normale Eingabe und nicht in *****. Woran kann das liegen?

So nun möchte ich nur zwei Passwort erstellen, beispielsweise einmal für die Leitung und einmal für Mitglieder, alle anderen die irgendein falsches Passwort eingeben werden nur als Gast angemeldet.

Ich habe versucht dies mit "Select Case" zu realisieren, das wenn man beispielsweise für die Leitung "chef" eingibt, in meiner Label steht "Sie sind als Leitung angemeldet." wenn ich dann beispielsweise für Mitglied auch "mitglied" als Passwort eingebe da steht "Sie sind nun als Mitglied angemeldet" ... mein Case Else habe ich eben als "Sie sind nur als Gast angemeldet"... naya irgendwie funktioniert das ganze nicht so, wie ich es möchte...

Kann man da vielleicht einer helfen bzw. kleinen Code schreiben ?!

Danke euch schon mal im voraus!
 
Hi und willkommen im Forum

Für das erste Problem:
Falls das setzen von PasswordChar nicht funktioniert (was ich mir nicht erklären kann), kannst du alternativ auch das Property "UseSystemPasswordChar" auf true setzen.

zu Problem 2:
Gegenvorschlag: poste doch mal deine Code und wir schauen wo das Problem liegen könnte ;)
Hast du deine Code schon mal debugged um zu sehen, wo das Problem liegen könnte?
Und was verstehst du unter: "irgendwie funktioniert das ganze nicht so, wie ich es möchte..."?
 
Danke erstmal für deine Antwort.

Also auch wenn ich UseSystemPasswordChar" auf "True" setze, sehe ich immer noch die normalen Eingaben, kann das irgendwas mit der TextBox zu tun haben?


Naya ich habe meinen bereits gecodeten Code nicht rein gepostet weil er eigentlich total unsinnig ist und ich eben irgendwie beispielsweise ein Denkanstöß brauch, aber ich poste ihn trotzdem mal =)

____________________________________________________
Public Class Passworteingabe


Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click


Dim Txt As String
Dim leitung As String
Dim mitglied As String = CInt(Txt)
Dim lblAusgabe As String = CInt(Txt)

Select Case txtEingabe

Case leitung
lblAusgabe = "Leitung PW is richtig"
Case mitglied
lblAusgabe = "Mitglied PW is richtig"
Case Else
lblAusgabe = "Sie sind nur als Gast angemeldet"

End Select

End Sub


End Class
____________________________________________________

Ich habe hier "Select Case" benutzt, weil ich dachte wenn ich dann beispielsweise "leitung" als Passwort eingebe, in meinem Label (lblAusgabe) steht "Leitung PW is richtig" ...

vielleicht habt ihr da einen bessere Durchblick als ich diesen habe hehe.

Danke im Voraus =)
 
Kann es sein, dass du so was willst (kann sein, dass Fehler drin sind, ich komm von der C-Seite)
Code:
Public Class Passworteingabe


Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click

Select Case txtEingabe.Text  'Falls txtEingabe eine TextBox ist
Case "leitung"
       lblAusgabe.Text = "Leitung PW is richtig"
Case "mitglied"
       lblAusgabe.Text = "Mitglied PW is richtig"
Case Else
       lblAusgabe.Text = "Sie sind nur als Gast angemeldet"
End Select

End Sub


End Class
 
Zuletzt bearbeitet:
Hey danke dir, aber das klappt leider nicht da ich dann von VB die Fehlermeldung erhalte ""Test" ist kein Member von "String"." und auch "TxT" wurde nicht deklariert... aber der Weg sieht gut aus =)

kann mir vielleicht jemand mal kurz nen code geben wo ne einfache ausgabe ist wenn ich irgendwas schreibe das es in das Label erscheint... weil es ist das erste mal das ich mich an so etwas waage bzw. ich muss es von der Schule ausmachen und ich habe bisher auch nicht geschafft in das label irgendwas zu schreiben ...

aber der Code von die Nico funktioniert eben nicht weil da noch nen Fehler mit lblAusgabe erscheint...
 
Zuletzt bearbeitet:
Du bist zwar neu im Forum und daher bin ich einigermaßen nachsichtig, aber halte dich bitte an die hier geforderte Groß- und Kleinschreibung. Wie in der Eingabebox der Post auch groß in rot ersichtlich. Danke.

Dann hast du dich wohl verschrieben und irgendwo irrtümlich statt Text einfach Test geschrieben. Das ist das eine.

Ausserdem ist die Abfrage ein wenig unsinnig. Ein if würde sich hier besser eignen. Ihmo ist das Passwort entweder richtig oder falsch, ein Case bringt es hier also nicht.
 
Dann hast du dich wohl verschrieben und irgendwo irrtümlich statt Text einfach Test geschrieben. Das ist das eine.
nehm ich auch mal an.

Trotzdem noch ne kleine Korrektur zu meinem Code:
Die Zeile Dim lblAusgabe... muss auch noch weg (Code oben ist geändert).
Ich bin bei meinem Code davon ausgegangen, dass txtEingabe und lblAusgabe ein TextBox bzw. ein Label sind.
 
Hey danke euch für eure Hilfe,

okay das mit der Groß- und Kleinschreibung habe ich dann wohl übersehen und werde versuchen dies nun zu ändern.

@Niggo: Nun funktioniert der Code, zwar irgendwie nicht immer manchmal wenigens schonmal ein Erfolg. Allerdings wird das Passwort leider immer noch nicht in ***** angezeigt. Hast du evtl. da noch eine Lösung?
Außerdem welchem Befehl muss ich in den Code einbauen das auch die "Return" bzw. "Enter" - Taste als "OK" akzeptiert wird.

*EDIT*

Ich sollte von meinem Lehrer aus die TextBox die Eigenschaft "Multiline" auf "True" setzen, dann funktioniert das mit dem PasswordChar nicht. Deshalb muss man diese Eigenschaft auf "False" lassen (setzen).

Nun brauch ich nur zwei kleinere Befehle damit der Cursor beim Start des Programms automatisch in der TextBox ist und das meine Eingabe auch mit "Enter" akzeptiert wird. Ich weiß das nur bei VBA aber das funktioniert nun bei VB05 leider nicht mehr.

Danke dir für deine Hilfe, hast mir sehr geholfen.

skYraceR =)
 
Zuletzt bearbeitet:
Hi

Die Klasse Form hat das Property AcceptButton. Dem musst du den Button zuweisen, der auf ENTER reagieren soll.

Die Klasse Control hat die Methode Focus. Mit der wird, wie der Name schon sagt, der Fokus auf das entsprechende Control gesetzt. Im Load-Event oder im Konstruktor kannst du beispielsweise die Methode für da entsprechende Control aufrufen.
Alternativ kannst du auch die Tab-Reihenfolge anpassen (View --> Tab Order --> Controls der Reihe nach anklicken), so dass der Tab-Index 0 bei deiner TextBox liegt.
 
Zurück