SAMP
Dann musst du ein Fenster erstellen mit einem Edit feld und einem Button
Nach dem kannst du dann mit dem Code die Funktion vom Button und von dem Editfeld
Ungefähr so
635 634 ... Sind BSP Koordinaten
Gui, Add, Edit 635 635 635 vPasswortfeld,Passwort
Mit dem <vPasswortfeld> defenierst du dieses Edit feld
Gui, Add, Button 625 342 623 gAbchecken ,Abchecken
Mit dem <gAbchecken> " " " "
Wenn du dies gemacht hast dann melde dich bei mir
Eric
vPasswort weist dem Edit die Variable "Passwort" zu, und ermöglicht es dir, nach der Ausführung eines "Gui, Submit" Befehls, über %Passwort% auf den Inhalt im Editfeld zuzugreifen, also in deinem Fall, zu checken ob das Passwort richtig ist.
Find the recent autohotkey version here: ahkscript.org
Die Funktion des buttons ist :
Checken ob im Editfeld 10 steht wenn ja Passwort richtig wenn nein Programm aus
Ich hoffe du hast es verstanden
Eric
Hier:
Ein sogenanntes Control (Bestandteil eines Fensters wie z.B. ein Button) können bestimmte Aktionen ausführen wenn man sie Drückt oder ähnliches.
Dafür erstellt man ein sogenanntes Label:
Gui,add,Button, gButtonGeclickt,Hello World! ;einen Button zu einem neuen Fenster hinzufügen Gui,show ; dieses Fenster dann zeigen. return ;warten das etwas passiert ButtonGeclickt: ;Das Label Msgbox Hello World ;Eine Magbox mit dem Inhalt Hello World anzeigen lassen. return ;wieder nichts tun
Wenn du den Code ausführst solltest du ein Fenster zu sehen bekommen, in dem ein Knopf ist.
Wenn du den Knopf clickst erscheint eine Msgbox mit dem Inhalt Hello World!
Magie?
Nein Hier sehen wir ein Label und ein Knopf der darauf verweist.
Schuld daran ist die Folgende Zeile:
Gui,add,Button, gButtonGeclickt,Hello World!
"Gui" ist erstmal der Befehl mit dem man auf alle Gui Befehle zu greifen kann.
der nächste Teil "add" besagt das wir ein Control hinzufügen möchten.
"Button" gibt an das dieses neue Control ein Knopf sein soll.
"gButtonGeclickt" ist der entscheidende Teil. Er sorgt dafür, dass wenn der Knopf gedrückt wird das Label angesprungen wird welches hinter dem g steht.
Der letzte Teil "Hello World!" legt einfach nur fest was auf dem Knopf stehen soll
Jetzt das Label
Ein Label ist ziemlich einfach erklärt:
Erst folgt der Labelname dann ein :.
In unserem Fall also:
ButtonGeclickt:
Am Ende jedes Labels muss ein return stehen sonst verursacht man total leicht Fehler:
Buttongeclickt: . . . return
Zwischen dem Label Anfang und dem return steht nun der Code den wir ausführen wollen.
vVariablen:
Ein Control (Wie z:B. ein Edit Control) hat nicht nur eine Funktion die ausgelöst werden kann sondern hat auch einen Inhalt:
nämlich den geschriebenen Text
.
Wie sollen wir den jetzt erhalten?
Dafür gibt es in Autohotkey die Möglichkeit einem Control eine Variable zuzuweisen:
Gui, Add, Edit, vPasswortfeld,Passwort
Wieder das gleiche wie eben:
- Gui: alle Gui Funktionen
- Add: die "ein Control hinzufügen"- Funktion
- Edit: ein Edit Control hinzufügen
- vPasswortfeld: diesem Edit-Control die Variable Passwortfeld (!nicht vPasswortfeld) zuweisen.
- Der Inhalt des Controls wenn es erstellt wird.
Nun müssen wir wenn wir den Inhalt des Controls in die Variable Passwortfeld legen wollen nur noch die folgende Zeile ausführen:
Gui,Submit,NoHide
Dann steht der Inhalt in der Variable Passwortfeld.
If abfrage:
Das ist für Anfänger häufig ein schwierig ist Thema da hier Sachen Teilweise noch inkonsistent ist. (Für eine echte Sprache wäre es ungefähr eine Sonderfall.(wie z.b im Englischen kein s obwohl es He she oder it ist)).
Diese inkonsistenzen führen am Anfang häufig zu Fehlern (obwohl es eig. leicht ist).
Eine If Abfrage vergleich Variablen oder ähnliches miteinander und führt daraufhin Code aus.
Perfekt um deinen eingegebenen String(Text) mit einem anderen String zu vergleichen.
PasswortFeld:="Mein Passwort" If (Passwortfeld="Mein Passwort") { Msgbox HalloWelt! } PasswortFeld:="Nicht mein Passwort" If (Passwortfeld="Mein Passwort") { Msgbox HalloWelt! }
Eine If-Abfrage ist eig. relativ leicht erklärt:
zu erst kommt ein If.
Dahinter steht in Klammern () die sogenannte Bedingung (hier: Passwortfeld="Mein Passwort").
Danach steht in geschweiften Klammern{} der Code (Hier:Msgbox Hallo Welt!).
Das Passwort hierbei hießt Mein Passwort (ohne Anführungszeichen "").
Wenn man alles zusammenfügt erhält man eine einfache Passwortabfrage:
Gui,Add,Edit,vPasswort,Passwort Gui,add,Button,gMeinGosub,Passwort Eingegeben ! Gui,show return MeinGosub: Gui,Submit,NoHide If (Passwort="Neues Passwort") { Msgbox Richtig } return
Wenn du dir alles ordentlich durchgelesen hast solltest du in der Lage sein folgende Sachen zu benennen:
- Wie heißt die neue Variable des Edit Controls ?
- Wie heißt das neue Label des Knopfes ?
- Wie heißt das neue Passwort ?
Wenn du das nicht weißt Frag nach (egal ob du jetzt probleme mit Wörtern oder Verständnisprobleme hast).
Wenn du meinst es zu wissen schreib die Antworten hier hin.
Wenn du mehr wissen willst dann Frag nach .
Ich hoffe ich konnte helfen.
Visit the new forum ahkscript.org.
2. Passwort eingegeben
3. Neues Passwort
Und wie mache ich das jetzt das die Befehle freigeschaltet werden, wenn das Passwort richtig ist?
1. Leider nicht. (ohne v)
2. Leider nicht. (das ist der Name)
3. Richtig.
Du musst unter jeden Hotkey diese If Abfrage setzten:
Gui,Add,Edit,vPasswort,Passwort Gui,add,Button,gMeinGosub,Passwort Eingegeben ! Gui,show return MeinGosub: Gui,Submit,NoHide If (Passwort="Neues Passwort") { Msgbox Richtig Gui,Hide } return F1:: If (Passwort="neues Passwort") { ;führe etwas aus } return F2:: If (Passwort="neues Passwort") { ;führe etwas aus } return
Visit the new forum ahkscript.org.
An deiner Stelle würde ich eine Art "Schalter" setzten. Also eine Variable die entweder 0 oder 1 enthält und mit der man dann sehr gut in IF Abfragen arbeiten kann.
In AHK gibt es allerdings keine echten Datentypen (wie hier bspw. Boolean), daher muss man das ganze eher konzeptionell betrachten.
Mal ganz kurz die Struktur:
Passwort abfragen - passwort falsch -> leader_switch := 0 - passwort richtig -> leader_switch := 1 ... später wenn ein Leaderbefehl ausgeführt werden soll: If leader_switch { Befehl ausführen }
Logischerweise ist das Pseudocode...
Find the recent autohotkey version here: ahkscript.org
ja, oder wie nnnik es gemacht hat, aber dann wird bei vielen Befehlen, das Script größer
Außerdem hast du mit AHK das Problem, dass das Passwort jetzt im Quelltext steht und es jeder sehen kann...
Find the recent autohotkey version here: ahkscript.org
@Alibaba: So wie dz das machst verstehe ich das nicht
Gui,Add,Edit,vPasswort,Passwort Gui,add,Button,gMeinGosub,Passwort Eingegeben ! Gui,show return MeinGosub: Gui,Submit,NoHide If (Passwort="Neues Passwort") { Msgbox Richtig Gui,Hide } return F1:: If (Passwort="neues Passwort") { Msgbox F1 gedrückt } return F2:: If (Passwort="neues Passwort") { Msgbox F2 gedrückt } return
Es sollte eig. eine Msgbox mit richtig erscheinen wenn du bei meinem Beispiel Code das Passwort richtig eintippst.
Danach solltest du zwei Verschiedene Msgboxen sehen wenn du F1 oder F2 drückst.
Poste am besten mal deinen Code.
Visit the new forum ahkscript.org.