Das glaube ich geht nicht
na geht doch mann kann einstellen mit rechtschreibfehler steht im code habs grade ausgetestet
Das glaube ich geht nicht
na geht doch mann kann einstellen mit rechtschreibfehler steht im code habs grade ausgetestet
Das Fenster, welches sich öffnet, steht in der Func Main() drin... (MsgBox(....)).
Hier mal nen Code für mehrere Benutzer ... du kannst für jeden Benutzer eine andere Funktion ausführen wenn du willst.
Global $Count = 2
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To 3
$bena = InputBox("Benutzername","Bitte Benutzername eingeben");Benutzernameabfrage
If @error = 1 Then Exit
$pwda = InputBox("Passwort","Bitte Passwort eingeben","","*");PAsswortabfrage
If @error = 1 Then Exit
If $bena == "test" and $pwda == "asd" Then
MsgBox(0,"Daten Richtig","Ok Daten sind Richtig")
_main()
ExitLoop
ElseIf $bena == "asd" and $pwda == "test" Then
MsgBox(0,"Daten Richtig","Ok Daten sind Richtig")
_main()
ExitLoop
ElseIf $bena == "SiLenCa" and $pwda == "Testpasswort" Then
MsgBox(0,"Daten Richtig","Ok Daten sind Richtig")
_main()
ExitLoop
else
Switch $Count
Case 2
MsgBox(0,"Falsch","Die Daten sind Falsch, du hast noch " & $Count & " versuche.")
Case 1
MsgBox(0,"Falsch","Die Daten sind Falsch, du hast noch " & $Count & " versuch.")
Case 0
MsgBox(0,"Falsch","Die Daten sind Falsch, du hast das Passwort 3mal falsch eingegeben." & @CRLF & "Programm wird Beendet.")
EndSwitch
$Count = $Count - 1
EndIf
Next
Exit
[/autoit] [autoit][/autoit] [autoit]Func _main()
;Hier dein Programm
EndFunc
Edit: So, habe den Code nochmal überarbeitet. Ich weiss, es gibt einen befehl für mein Switch, konnte ihn leider nicht mehr in der Hilfe finden
Hier mal mein Script (hatte mal eine Funktion dafür geschrieben):
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
; Array mit den korrekten Daten (jeweils: 'Benutzername', 'Passwort')
Global $aCorrect[5][2] = [['abcd', '123'],['efgh', '456'],['ijkl', '789'],['mnop', '012'],['qrst', '345']]
Global $iTry = 0 ; Variable zum zählen der Versuche
Do
; Mögliche Werte für die Sprache: 'Dansk|Deutsch|English|Français'
Global $aInput = _LogInBox('Test', 3, 'Deutsch', False) ; Fenstertitel = "Test", Passwort = min. 3 Zeichen, Sprache = Deutsch
If @error Then Exit ; wenn der Benutzer auf [Abbrechen] geklickt hat
$iLoginID = -1
For $i = 0 To UBound($aCorrect) - 1
If $aInput[0] == $aCorrect[$i][0] And $aInput[1] == $aCorrect[$i][1] Then ; "==" Groß-/Kleinschreibung beachten!
MsgBox(0, 'Test', 'Benutzername und Passwort sind richtig!')
$iLoginID = $i
ExitLoop
EndIf
Next
If $iLoginID = -1 Then $iTry += MsgBox(0, $iTry + 1 & '. Versuch', 'Benutzername und/oder Passwort falsch!')
If $iTry = 3 Then Exit ; nach 3 Versuchen beenden
Until $iLoginID <> -1
MsgBox(0, 'Test', 'Benutzer "' & $aCorrect[$iLoginID][0] & '" hat sich angemeldet!')
; Ab hier für das eigentliche Hauptprogramm
; \/
#cs
======================================================================================================================
Function Name: _LogInBox($sTitle [, $iMinLen [,$sStartLang [, $bPassVisible=True [, $iXPos=-1 [, $iYPos=-1]]]]])
Description: Eingabefenster für Benutzername und Passwort
Parameter(s): $sTitle = Fenstertitel
optional: $iMinLen = Mindestlänge des Passworts (Standard = keine Mindestlänge)
optional: $sStartLang = die Sprache auswählen (Standard = Deutsch)
optional: $bPassVisible = True/False = Passwort sichtbar anzeigen Ja/Nein (Standard = Ja)
optional: $iXPos = Horizontale Position des Fensters (Standard = zentriert)
optional: $iYPos = Vertikale Position des Fensters (Standard = zentriert)
Return Value(s): Array mit 2 Elementen (Benutzername und Passwort)
Bei "Abbrechen" oder "Schließen" wird @error = 1
Required: #include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiComboBoxEx.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
Author(s): Oscar (http://www.autoit.de)
======================================================================================================================
#ce
Func _LogInBox($sTitle, $iMinLen = 0, $sStartLang = 'Deutsch', $bPassVisible = True, $iXPos = -1, $iYPos = -1)
If $iMinLen < 0 Or $iMinLen = Default Then $iMinLen = 0
If $sStartLang = -1 Or $sStartLang = Default Then $sStartLang = 'Deutsch'
If $bPassVisible = -1 Or $bPassVisible = 'Default' Then $bPassVisible = True
If $iXPos < 0 Or $iXPos = Default Or $iXPos > @DesktopWidth Then $iXPos = -1
If $iYPos < 0 Or $iYPos = Default Or $iXPos > @DesktopHeight Then $iYPos = -1
Local $hGui, $hUserLabel, $hUser, $hPass, $hCheck, $hLanguage, $hCancel, $hOk
Local $iOpt, $sStyle, $sTmp, $aLanguage, $iLanguage, $hImage
Local $iErr, $sFont = 'Arial', $aOut[2]
Local $iBGColorInner = 0xBBBBBB, $iBGColorOuter = 0xEEEEEE
Local $sIconsPath = @ScriptDir & '\icons.icl'
Local $sLang = 'Dansk|Deutsch|English|Français'
Local $aTranslation[4][7] = [ _
['Brugernavn:' & @CRLF & '(påkrævet)', _ ; Dänisch
'Password:', _
@CRLF & '(mindst ' & $iMinLen & ' tegn)', _
'&Password synlige', _
'Abonner...', _
'Annuller', ''], _
['Benutzername:' & @CRLF & '(erforderlich)', _ ; Deutsch
'Passwort:', _
@CRLF & '(min. ' & $iMinLen & ' Zeichen)', _
'&Passwort sichtbar', _
'Anmelden...', _
'Abbrechen', ''], _
['Username:' & @CRLF & '(needed)', _ ; Englisch
'Password:', _
@CRLF & '(min. ' & $iMinLen & ' Chars)', _
'&Password visible', _
'Log in...', _
'Cancel', ''], _
['Nom:' & @CRLF & '(nécessaire)', _ ; Französisch
'mot de passe:', _
@CRLF & '(min. ' & $iMinLen & ' lettre)', _
'&mot de passe visible', _
'déclarer...', _
'Annuler', '']]
$aLanguage = StringSplit($sLang, '|')
For $i = 1 To $aLanguage[0]
If $sStartLang = $aLanguage[$i] Then $iLanguage = $i - 1
Next
$iOpt = Opt('GUIOnEventMode', 0)
$hGui = GUICreate($sTitle, 343, 200, $iXPos, $iYPos, BitOR($WS_SYSMENU, $WS_VISIBLE))
GUISetIcon(@SystemDir & '\shell32.dll', -212)
GUISetBkColor($iBGColorOuter)
GUICtrlCreateLabel('', 5, 5, 325, 120, -1, $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, $iBGColorInner)
$hUserLabel = GUICtrlCreateLabel($aTranslation[$iLanguage][0], 12, 17, 90, 35)
GUICtrlSetFont(-1, 9, 400, 0, $sFont)
GUICtrlSetBkColor(-1, $iBGColorInner)
$hUser = GUICtrlCreateInput('', 115, 20, 205, 25)
GUICtrlSetFont(-1, 10, 400, 0, $sFont)
If $iMinLen > 0 Then
$aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1] & $aTranslation[$iLanguage][2]
Else
$aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1]
EndIf
$hPassLabel = GUICtrlCreateLabel($aTranslation[$iLanguage][6], 12, 63 + ($iMinLen = 0) * 6, 100, 35)
GUICtrlSetFont(-1, 9, 400, 0, $sFont)
GUICtrlSetBkColor(-1, $iBGColorInner)
$hPass = GUICtrlCreateInput('', 115, 65, 205, 25)
GUICtrlSetFont(-1, 10, 400, 0, $sFont)
GUICtrlSendMsg($hPass, $EM_SETPASSWORDCHAR, Not $bPassVisible * Asc('*'), 0)
$hCheck = GUICtrlCreateCheckbox($aTranslation[$iLanguage][3], 120, 92, 200, 25)
GUICtrlSetFont(-1, 9, 400, 0, $sFont)
GUICtrlSetBkColor(-1, $iBGColorInner)
If $bPassVisible Then GUICtrlSetState(-1, $GUI_CHECKED)
$hLanguage = _GUICtrlComboBoxEx_Create($hGui, '', 10, 135, 110, 140, $CBS_DROPDOWNLIST)
If FileExists($sIconsPath) Then
$hImage = _GUIImageList_Create(32, 20, 5, 4, 4)
_GUIImageList_AddIcon($hImage, $sIconsPath, 0, True)
_GUIImageList_AddIcon($hImage, $sIconsPath, 1, True)
_GUIImageList_AddIcon($hImage, $sIconsPath, 2, True)
_GUIImageList_AddIcon($hImage, $sIconsPath, 3, True)
_GUICtrlComboBoxEx_SetImageList($hLanguage, $hImage)
EndIf
_GUICtrlComboBoxEx_SetItemHeight($hLanguage, 0, 25)
For $i = 1 To $aLanguage[0]
_GUICtrlComboBoxEx_AddString($hLanguage, $aLanguage[$i], $i-1, $i-1)
Next
_GUICtrlComboBoxEx_SetCurSel($hLanguage, $iLanguage)
$hCancel = GUICtrlCreateButton($aTranslation[$iLanguage][5], 250, 135, 80, 25)
GUICtrlSetFont(-1, 9, 400, 0, $sFont)
$hOk = GUICtrlCreateButton($aTranslation[$iLanguage][4], 160, 135, 80, 25, $BS_DEFPUSHBUTTON)
GUICtrlSetFont(-1, 9, 400, 0, $sFont)
GUICtrlSetState(-1, $GUI_DISABLE)
WinSetOnTop($hGui, '', 1)
GUICtrlSetState($hUser, $GUI_FOCUS)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $hCancel
$iErr = 1
ExitLoop
Case $hCheck
GUICtrlSendMsg($hPass, $EM_SETPASSWORDCHAR, Not BitAND(GUICtrlRead($hCheck), $GUI_CHECKED) * Asc('*'), 0)
GUICtrlSetState($hPass, $GUI_FOCUS)
Case $hOk
$aOut[0] = GUICtrlRead($hUser)
$aOut[1] = GUICtrlRead($hPass)
ExitLoop
EndSwitch
If Not _GUICtrlComboBoxEx_GetDroppedState($hLanguage) Then
If _GUICtrlComboBoxEx_GetCurSel($hLanguage) <> $iLanguage Then
$iLanguage = _GUICtrlComboBoxEx_GetCurSel($hLanguage)
If $iMinLen > 0 Then
$aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1] & $aTranslation[$iLanguage][2]
Else
$aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1]
EndIf
GUICtrlSetData($hUserLabel, $aTranslation[$iLanguage][0])
GUICtrlSetData($hPassLabel, $aTranslation[$iLanguage][6])
GUICtrlSetData($hCheck, $aTranslation[$iLanguage][3])
GUICtrlSetData($hCancel, $aTranslation[$iLanguage][5])
GUICtrlSetData($hOk, $aTranslation[$iLanguage][4])
GUICtrlSetState($hUser, $GUI_FOCUS)
EndIf
EndIf
If GUICtrlRead($hUser) <> '' And StringLen(GUICtrlRead($hPass)) >= $iMinLen Then
If BitAND(GUICtrlGetState($hOk), $GUI_DISABLE) Then GUICtrlSetState($hOk, $GUI_ENABLE)
Else
If BitAND(GUICtrlGetState($hOk), $GUI_ENABLE) Then GUICtrlSetState($hOk, $GUI_DISABLE)
EndIf
WEnd
Opt('GUIOnEventMode', $iOpt)
GUIDelete($hGui)
Return SetError($iErr, 0, $aOut)
EndFunc ;==>_LogInBox
Hiweis: Für die Anzeige der Landes-Flaggen muss sich die Datei "icons.icl" aus dem Anhang im Scriptverzeichnis befinden!
lol irgendwie öffnet es nicht mehr mein programm wenn ich passwort und name eingebe
Und was möchtest Du mir damit jetzt sagen?
nein wenn ich die passwörter und alles eingebe schlisst es von selbst und mein programm geht nicht auf
Tut mir leid meine Glaskugel ist leider defekt zurzeit, kann dir nicht helfen.
Code ?!