Hi Com ich hab ein Einloggfenster gemacht bei dem man sich ganz normal einloggen kann.sprich Benutzername: Passwort:
Jetzt will ich aber das statt Buchstaben Sterne oder besser Punkte im input erscheinen !
Wäre klasse wenn jemand eine Möglichkeit kennt!
Passwort Eingabe!
-
- [ gelöst ]
-
WOnder -
18. November 2010 um 19:25 -
Geschlossen -
Erledigt
-
-
Hier steht das alles.
http://translation.autoit.de/onlinehilfe/functions/InputBox.htm
oder hier
http://translation.autoit.de/onlinehilfe/fu…CreateInput.htmMfG
Der_Doc -
[autoit]
[/autoit]
#include <EditConstants.au3>
GUICtrlCreateInput ( "text", left, top , width , height , $ES_PASSWORD)Oder du benutzt die inputbox() mit entsprechendem Parameter wie mein Vorposter verlinkt hat.
-
OK danke erstmal aber wie geht das mit GUICtrlCreateInput ?
-
Hat misterspeed doch gepostet einfach den Stil $ES_PASSWORD verwenden,
mfg autoBert
-
O sorry probiere jetzt aus!
Very nice !!Danke für die Hilfe !! -
Beim Starten des Scripts als Anwendung, kommt bei mir eine Fehlermeldung.
Unten im Anhang ist die .au3 Datei. Könnt ihr mir pls helfen? -
1. Es fehlt #include <EditConstants.au3>
2. Poste den AUtoIt Code hier im Forum, nicht als Anhang.
3. "kommt bei mir eine Fehlermeldung" Das hilft nicht sehr viel. Du solltest auch den Fehler posten. -
1. Es fehlt #include
2. Poste den AUtoIt Code hier im Forum, nicht als Anhang.
3. "kommt bei mir eine Fehlermeldung" Das hilft nicht sehr viel. Du solltest auch den Fehler posten.Ok, vielen dank für Deine Hilfe. Wegen dem Code im Forum. Ich weiß nicht wie man bei dem Code
einen Zeilenumbruch macht... -
Zeilenumbrüche werden doch automatisch übernommen wenn du was ins Text Feld kopierst. Wenn nicht evtl. mal javascript erlauben oder nen anderen Browser verwenden
PS: Sorry dass ich das include oben unterschlagen hatte... -
Naja... Wenn ich den Code von AutoIt hier in das Forum einfüge, so werden die Zeilenumbrüche nicht mit berechnet...
*hust* Google Chrome *hust* -
Google kann strings ohne Zeilenumbrüche vllt besser weiterverarbeite *hust*
-
OK ich hab jetzt ein neues Problem ich will das der Login Button erst dann "klickbar" ist wenn im Benutzernamen Feld UND im PasswortFeld etwas steht!!
[autoit]$Login_Button = GUICtrlCreateButton("Login", 8, 140, 155, 25, $WS_GROUP)
[/autoit][autoit][/autoit][autoit][/autoit]
If $PW_Input <> "" And $BN_Input <>"" Then
GUICtrlSetState(1, $GUI_DISABLE);weiß nich wie das hier richtig ist aber das funktioniert
Else
GuiCtrlSetState(-1,$GUI_DISABLE) ;EDIT DISABLA --> DISABLE
Endif -
Poste doch mal das komplette script. Zeile 5 kann jedenfalls nicht funktionieren, da ein Schreibfehler enthalten ist.
Mal von ab, dass es wohl mindestens einmal Enable lauten müsste.
Zeile 3 sollte ausserdem entweder -1 lauten oder sich auf das korrekte Control beziehen, also statt -1 einfach die Variable des Buttons verwenden. -
[autoit]
#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Login = GUICreate("Login", 328, 176, 192, 124)
$BN_Label = GUICtrlCreateLabel("Benutzername :", 8, 48, 120, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Verdana")
GUICtrlSetColor(-1, 0x000000)
$PW_Label = GUICtrlCreateLabel("Passwort :", 48, 80, 80, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Verdana")
GUICtrlSetColor(-1, 0x000000)
$BN_Input = GUICtrlCreateInput("", 144, 44, 145, 24)
GUICtrlSetFont(-1, 10, 800, 0, "Tekton Pro Ext")
GUICtrlSetBkColor(-1, 0xE3E3E3)
$PW_Input = GUICtrlCreateInput("", 144, 76, 145, 24, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
GUICtrlSetFont(-1, 10, 800, 0, "Tekton Pro Ext")
GUICtrlSetBkColor(-1, 0xE3E3E3)
$Login_Button = GUICtrlCreateButton("Login", 8, 140, 155, 25, $WS_GROUP)
If $PW_Input <> "" And $BN_Input <>"" Then
GUICtrlSetState($Login_Button, $GUI_Enable);so??
Else
GuiCtrlSetState($Login_Button,$GUI_DISABLE)
Endif
GUICtrlSetCursor (-1, 0)
$Beenden_Button = GUICtrlCreateButton("Beenden", 165, 140, 155, 25, $WS_GROUP)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndWeiß niemand wie das geht?!?!?
-
Ok dann solltest du auch noch die Funktion:
[autoit]guictrlread()
[/autoit]
anschauen, denn derzeit prüfst du nicht den Inhalt der Inputfelder, sondern die ID der Felder.Richtig wäre also:
[autoit]
[/autoit][autoit][/autoit][autoit]
;....
$Login_Button = GUICtrlCreateButton("Login", 8, 140, 155, 25, $WS_GROUP)
;....;hier deine while schleife:
[/autoit][autoit][/autoit][autoit]
while 1
;...checkinputs() ; funktion aufrufen
[/autoit][autoit][/autoit][autoit]
wend; und der Teil kommt in eine extra funktion:
[/autoit][autoit][/autoit][autoit]func checkinputs()
[/autoit][autoit][/autoit][autoit]If guictrlread($PW_Input) <> "" And guictrlread($BN_Input) <>"" Then
[/autoit][autoit][/autoit][autoit]
; hier sollte noch geprüft werden ob button nicht schon aktiviert wurde, damit nicht bei jedem durchlauf der schleife der button status geändert wird. das könnte ein flackern verursachen
GUICtrlSetState($Login_Button, $GUI_ENABLE)
Else
; hier sollte noch geprüft werden ob button nicht bereits deaktiviert wurde, damit nicht bei jedem durchlauf der schleife der button status geändert wird. das könnte ein flackern verursachen
GuiCtrlSetState($Login_Button,$GUI_DISABLE)
Endifendfunc
[/autoit]Warum eine extra Funktion? Weil du ansonsten nur einmal beim Programmstart den Inhalt der Felder überprüfst (welche natürlich noch leer sind). Dadurch würde dein Button deaktiviert und Eingaben in den Feldern könnten das auch nicht mehr ändern, denn du prüfst den Inhalt ja nicht mehr. Dadurch dass die Funktion in der While Schleife aufgerufen wird prüft dein Programm permanent den Inhalt der Inputfelder und kann dann live den Button aktivieren.
-
Ok genial das funktioniert Danke ... bist der beste!!!
ok eins noch wie genau bekommt man das flackern weg?Zitat[autoit]Alles anzeigenIf guictrlread($PW_Input) <> "" And guictrlread($BN_Input) <>"" Then
[/autoit] [autoit][/autoit] [autoit][/autoit]
; hier sollte noch geprüft werden ob button nicht schon aktiviert wurde, damit nicht bei jedem durchlauf der schleife der button status geändert wird. das könnte ein flackern verursachen
GUICtrlSetState($Login_Button, $GUI_ENABLE)
Else
; hier sollte noch geprüft werden ob button nicht bereits deaktiviert wurde, damit nicht bei jedem durchlauf der schleife der button status geändert wird. das könnte ein flackern verursachen
GuiCtrlSetState($Login_Button,$GUI_DISABLE)
Endif
Da weiß ich nich wie ich das machen soll!! KAnn ich schréibn If guictrlread($PW_Input) = $GUI_DISABLE Then....? -
Einfach noch eine untergeordnete if Bedingung einbauen, also so:
[autoit]
[/autoit]
If guictrlread($PW_Input) <> "" And guictrlread($BN_Input) <>"" Then
if BitAnd(guictrlgetstate($Login_Button),$GUI_ENABLE) <> $GUI_ENABLE then ; wenn button nicht enabled ist, dann enable den Button jetzt, andernfalls passiert nichts...
GUICtrlSetState($Login_Button, $GUI_ENABLE)
endif
else
;... das selbe dann auch für den disable zweig
endifAchtung hab das nicht geprüft, aber so in etwa ging das denke ich...
-
Nein stimmt nicht BitAnd muss hier verwendet werden,
mfg autoBert