Tipp-Upload: VB 5/6 0058: Selbst erstellte PasswordBox
von OlimilO
Über den Tipp
Dieser Tippvorschlag ist noch unbewertet.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Fenster
- Sonstiges
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Passwort, Passwordbox, password, InputBox, PasswordChar
Der Vorschlag wurde erstellt am: 25.02.2008 15:25.
Die letzte Aktualisierung erfolgte am 02.12.2024 23:24.
Beschreibung
Um ein Passwort abzufragen würde die Funktionalität einer normalen InputBox, genügen, wenn sie das zusätzliches Feature hätte, daß das Passwort verdeckt eingegeben werden kann, damit man bei der Eingabe nur ein Ersatzzeichen sieht, wie zum Beispiel das Asterisc-Zeichen bzw das Stern-Zeichen "*".
Ein TextBox-Control bietet diese Möglichkeit mit dem Property PasswordChar.
Man könnte also entweder die Funktion InputBox (bzw das darauffolgende Fenster) verändern, oder aber man könnte so eine InputBox selber designen, das ergibt zusätzlich die Möglichkeit viele andere Parameter der verwendeten Controls zu verändern, wie z.B.:
* die Farbe der Buttons
* oder der Form,
* ein Icon auf das Formular legen etc.
* oder aber auch das Passwort bereits bei der Eingabe zu verschlüsseln. (wird hier nicht behandelt)
Schwierigkeitsgrad |
Verwendete API-Aufrufe: |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ------------- Anfang Projektdatei Projekt1.vbp ------------- ' --- Anfang Formular "FrmInputBox" alias FrmInputBox.frm --- ' Steuerelement: Beschriftungsfeld "LblPrompt" ' Steuerelement: Schaltfläche "BtnOK" ' Steuerelement: Textfeld "Text1" ' Steuerelement: Schaltfläche "BtnCancel" ' Steuerelement: Schaltfläche "BtnHelp" Option Explicit Private m_InputText As String Public StrHelpFile As String Public Function ShowGetString() As String Me.Show vbModal ShowGetString = m_InputText End Function Private Sub BtnHelp_Click() Shell StrHelpFile & " " & Me.HelpContextID End Sub Private Sub Form_Load() Dim L As Single, T As Single, W As Single, H As Single BtnOK.Caption = "OK" BtnOK.Default = True BtnCancel.Caption = "Abbrechen" BtnHelp.Caption = "Hilfe" LblPrompt.AutoSize = True Me.ScaleMode = 3 Me.Width = 371 * Screen.TwipsPerPixelX Me.Height = 152 * Screen.TwipsPerPixelY Call LblPrompt.Move(9, 10) L = 288: T = 10: W = 66: H = 23 Call BtnOK.Move(L, T, W, H): T = T + 3 + H Call BtnCancel.Move(L, T, W, H): T = T + 3 + H Call BtnHelp.Move(L, T, W, H) L = 9: T = 91: W = 345: H = 20 Call Text1.Move(L, T, W, H) End Sub Private Sub BtnCancel_Click() m_InputText = vbNullString Unload Me End Sub Private Sub BtnOK_Click() m_InputText = Text1.Text Unload Me End Sub ' ---- Ende Formular "FrmInputBox" alias FrmInputBox.frm ---- ' --------- Anfang Modul "Module1" alias Module1.bas --------- Option Explicit ' Folgende Formulare und Controls werden verwendet: ' ================================================= ' Formular: FrmInputBox ' mit den Controls: ' Label: LblPrompt ' TextBox: Text1 ' CommandButton: BtnOK ' CommandButton: BtnCancel ' CommandButton: BtnHelp ' Formular: Form1 ' mit den Controls: ' CommandButton: Command1 ' CommandButton: Command2 ' Public Function PassWordBox( _ ByVal Prompt As String, _ Optional ByVal Title As String, _ Optional ByVal Default As String, _ Optional ByVal XPos As Long, _ Optional ByVal YPos As Long, _ Optional ByVal HelpFile As String, _ Optional ByVal Context As Long _ ) As String With New FrmInputBox .Text1.PasswordChar = "*" .LblPrompt = Prompt .Caption = Title .Text1.Text = Default .BorderStyle = 1 .StrHelpFile = HelpFile .HelpContextID = Context If XPos <= 0 And YPos <= 0 Then XPos = (Screen.Width - .Width) / 2 YPos = (Screen.Height - .Height) / 2 - .Height End If If Len(HelpFile) = 0 Then .BtnHelp.Visible = False Call .Move(XPos, YPos) PassWordBox = .ShowGetString End With End Function ' ---------- Ende Modul "Module1" alias Module1.bas ---------- ' --------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command2" ' Steuerelement: Schaltfläche "Command1" Option Explicit Private Sub Command1_Click() Call ShowPWBox End Sub Private Sub Command2_Click() Call ShowPWBox(True) End Sub Private Sub ShowPWBox(Optional bolPWBox As Boolean) Dim s As String If bolPWBox Then s = PassWordBox("Geben Sie das Passwort ein:", "Passwort", "Administrator") Else s = InputBox("Geben Sie das Passwort ein:", "Passwort", "Administrator") End If If Len(s) > 0 Then MsgBox "Das eingegebene Passwort lautet: " & s Else MsgBox "Du kummst hier net rein !" End If End Sub ' ---------- Ende Formular "Form1" alias Form1.frm ---------- ' -------------- Ende Projektdatei Projekt1.vbp --------------
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.