Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 04:48

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.

Reply
 
Old 07/03/2013, 19:44   #1411
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
@Requi
Das ist egal.
Quote:
Originally Posted by »FlutterShy™ View Post
Ne . Nur halt wenn im String " vorkommt nimmt man '
Msgbox(0,0,"String""xD")

MfG
Achat is offline  
Old 07/03/2013, 21:33   #1412
 
elite*gold: 278
Join Date: Aug 2010
Posts: 145
Received Thanks: 19
Unhappy Schleife oder ähnliches

Hi,

ich habe auch nocheinmal eine Frage und zwar habe ich eine Script, indem ein Benutzername und ein Passwort aus jeweils einem Textfeld ausgelesen wird. Jetzt habe ich es so gemacht das der Benutzer mehrere Benutzer und Passwörter eingeben kann d.h. mehrere Textfelder.

Jetzt zu meiner Frage : Ist es möglich, mit einer Schleife oder ähnlichem es so hinzukriegen das er beim 1. Durchlauf Benutzer1 nimmt und beim 2. Benutzer2?

Denn in meiner jetzigen Form ist der Script ewig lang, da ich den Vorgang immer nur hintereinander eingefügt habe.

Danke für eure Hilfe
Gruß
Evoh
evoh12 is offline  
Old 07/03/2013, 22:10   #1413
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Quote:
Originally Posted by evoh12 View Post
Hi,

ich habe auch nocheinmal eine Frage und zwar habe ich eine Script, indem ein Benutzername und ein Passwort aus jeweils einem Textfeld ausgelesen wird. Jetzt habe ich es so gemacht das der Benutzer mehrere Benutzer und Passwörter eingeben kann d.h. mehrere Textfelder.

Jetzt zu meiner Frage : Ist es möglich, mit einer Schleife oder ähnlichem es so hinzukriegen das er beim 1. Durchlauf Benutzer1 nimmt und beim 2. Benutzer2?

Denn in meiner jetzigen Form ist der Script ewig lang, da ich den Vorgang immer nur hintereinander eingefügt habe.

Danke für eure Hilfe
Gruß
Evoh
2d Array mit Benutzer|Passwort und dann in einer For-Schleife durchgehen.

Gleich kommt noch ein Beispiel

€dit:
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 223, 165, 192, 124)
$Benutzer = GUICtrlCreateInput("Benutzer", 32, 32, 169, 21)
$Password = GUICtrlCreateInput("Password", 24, 64, 137, 21)
$Go = GUICtrlCreateButton("Go", 32, 112, 89, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

Global $aUserPassword[10][2] = [['Benutzer1', 'Passwort1'], _
		['Benutzer2', 'Passwort2'], _
		['Benutzer3', 'Passwort3'], _
		['Benutzer4', 'Passwort4'], _
		['Benutzer5', 'Passwort5'], _
		['Benutzer6', 'Passwort6'], _
		['Benutzer7', 'Passwort7'], _
		['Benutzer8', 'Passwort8'], _
		['Benutzer9', 'Passwort9'], _
		['Benutzer10', 'Passwort10']]

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Go
			For $i = 0 To UBound($aUserPassword) - 1
				If GUICtrlRead($Benutzer) == $aUserPassword[$i][0] And GUICtrlRead($Password) == $aUserPassword[$i][1] Then
					MsgBox(0x40, 'Hi', 'OK')
					ExitLoop
				EndIf
			Next
	EndSwitch
WEnd
Beispiel-Benutzername: Benutzer1
Beispiel-Passwort: Passwort1

MfG
Achat is offline  
Thanks
1 User
Old 07/04/2013, 15:31   #1414

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Ich hab mal ne Frage.. undzwar ist es ja so wenn man einen Button drückt, wird die Aufgabe die der Button besitzt nur 1-mal ausgeführt. Wie griegt man es hin wenn man z.B. ne Zahl "10" durch den Button runterzählen lassen will. Also so das wenn einmal geklickt wird auch nur eine Zahl runtergezählt wird und wenn der Button länger gedrückt wird er automatisch schon weiter runterzählt bis man den Button wieder los lässt. Und danach soll ein anderer Button wiederhochzählen ggf. wenn er über 10 ist disablen so dass man nicht über 10 kommen kann.


Edit:Habs schon so weit das die Buttons disabled werden falls 0 oder über 10 sodass nicht tiefer und höher gezählt werden kann.. nur komm ich nicht drauf wie man die Button gedrückthalten funktion hingriegt.
.yorliK is offline  
Old 07/04/2013, 16:07   #1415
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Das kommt drauf an, was genau du haben möchtest.

Grundsätzlich kannst du einfach in der Funktion eine For-Schleife machen, die 10 mal durchgegangen wird. Da machst du halt ein Sleep(1000) rein und verringerst die Zahl in jedem Durchgang um 1.
Code:
Func button()
	For $i= 1 To 10
		$zahl -= 1
		Sleep(1000)
	Next
EndFunc
Das Problem ist, dass in der Zeit nichts anderes gemacht werden kann.
Willst du gleichzeitig andere Befehle ausführen, kannst du eine Funktion machen, die die Zahl verringert und per AdlibRegister alle 1000ms ausführen.
Dann baust du noch mit AdlibUnregister ein, dass die Funktion nicht weiter aufgerufen wird, wenn die Zahl 0 erreicht.
Code:
AdlibRegister("button", 1000)

Func button()
	$zahl -= 1
	If $zahl = 0 Then AdlibUnRegister("button")
EndFunc
Die dritte Möglichkeit wäre, eine Variable zu machen, die angibt, ob der Button gedrückt wurde und einen Timer zu starten, wenn der Button gedrückt wird. Dann fragst du in der Main-Schleife des Scripts ab, ob der Button gedrückt wurde und wenn ja, ob 1000ms seit dem letzten Verringern der Zahl vergangen sind, verringerst sie ggf und setzt den Timer wieder auf 0.
Code:
$gedrueckt = False
$t = 0

While 1
	If $gedrueckt Then
		If TimerDiff($t) >= 1000 Then
			$zahl -= 1
			$t = TimerInit()
			If $zahl = 0 Then $gedrueckt = False
		EndIf
	EndIf
WEnd
	
	
Func button()
	$gedrueckt = TrayCreateItem
Next
PS: Da wo hier nur $zahl-=1 steht, musst du natürlich auch das entsprechende Label im GUI updaten.
-STORM- is offline  
Thanks
1 User
Old 07/04/2013, 16:19   #1416

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by -STORM- View Post
Das kommt drauf an, was genau du haben möchtest.

Grundsätzlich kannst du einfach in der Funktion eine For-Schleife machen, die 10 mal durchgegangen wird. Da machst du halt ein Sleep(1000) rein und verringerst die Zahl in jedem Durchgang um 1.

Das Problem ist, dass in der Zeit nichts anderes gemacht werden kann.
Willst du gleichzeitig andere Befehle ausführen, kannst du eine Funktion machen, die die Zahl verringert und per AdlibRegister alle 1000ms ausführen.
Dann baust du noch mit AdlibUnregister ein, dass die Funktion nicht weiter aufgerufen wird, wenn die Zahl 0 erreicht.


PS: Da wo hier nur $zahl-=1 steht, musst du natürlich auch das entsprechende Label im GUI updaten.
Der zählt jetzt runter richtig, aber er zählt auch weiter wenn der Button nicht mehr gedrückt ist.. ich hab mir da sowas ähnliches wie bei dem GuiCtrlCreateUpDown vorgestellt.
.yorliK is offline  
Old 07/04/2013, 16:44   #1417
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Den Button gedrückt zu halten, ist eigentlich nicht vorgesehen.
Indirekt könntest du das lösen, indem du abfragst, ob die Maustaste gedrückt ist, und wenn ja, ob der Zeiger sich über dem Button befindet.
-STORM- is offline  
Thanks
1 User
Old 07/04/2013, 17:45   #1418

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by -STORM- View Post
Den Button gedrückt zu halten, ist eigentlich nicht vorgesehen.
Indirekt könntest du das lösen, indem du abfragst, ob die Maustaste gedrückt ist, und wenn ja, ob der Zeiger sich über dem Button befindet.
Hab mal nen Code geschrieben:
Code:
$Form1 = GUICreate("DOUBLE FEED", 201, 70, -1, -1)
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_GUI_EVENT_PRIMARYDOWN")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_GUI_EVENT_PRIMARYDOWN1")
Global $Button2 = GUICtrlCreateButton("+", 88, 40, 17, 17)
Global $Button3 = GUICtrlCreateButton("-", 104, 40, 17, 17)

Func _GUI_EVENT_PRIMARYDOWN()
While 1
	Sleep(100)
	If $x = "100" Then Exitloop
        If BitAND(_GUICtrlButton_GetState($Button2), $BST_PUSHED) = $BST_PUSHED Then
			$x += 1
	If GUICtrlRead($Label3) <> ("Sound: " & $x & "%") Then
		GUICtrlSetData($Label3, "Sound: " & $x & "%")
		$object.settings.volume = $x
	EndIf
			If $x = "100" Then Exitloop
        Else
            Return
        EndIf
    WEnd
EndFunc

Func _GUI_EVENT_PRIMARYDOWN1()
	While 1
		Sleep(100)
		If $x = "0" Then Exitloop
        If BitAND(_GUICtrlButton_GetState($Button3), $BST_PUSHED) = $BST_PUSHED Then
			$x -= 1
		If GUICtrlRead($Label3) <> ("Sound: " & $x & "%") Then
		GUICtrlSetData($Label3, "Sound: " & $x & "%")
		$object.settings.volume = $x
	EndIf
			If $x = "0" Then Exitloop
        Else
            Return
        EndIf
    WEnd
EndFunc

Func _Exit()
Exit
EndFunc
EDIT: Ich habs jetzt soweit das er nach unten zählt das Label flackert zwar aber egal.. nur zählt er nicht nach oben...
.yorliK is offline  
Thanks
1 User
Old 07/05/2013, 14:15   #1419
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by Achat View Post
@Requi
Das ist egal.


Msgbox(0,0,"String""xD")

MfG
übersicht und :
Code:
Msgbox(0,0,'String""xD')
YatoDev is offline  
Old 07/05/2013, 14:31   #1420
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by Kilroy. View Post
EDIT: Ich habs jetzt soweit das er nach unten zählt das Label flackert zwar aber egal.. nur zählt er nicht nach oben...
für dein problem gibt es guigetcursorinfo...
Code:
GUICreate('GUI', 200, 40, Default, Default, 0x10C80000)
$ctrlBtn = GUICtrlCreateButton('Press Me', 10, 10, 85, 20)
$ctrlLabel = GUICtrlCreateLabel(0, 105, 10, 85, 20, 0x1201)

While GUIGetMsg()<>-3
	$cursor = GUIGetCursorInfo()
	If $cursor[2] And $cursor[4]=$ctrlBtn Then GUICtrlSetData($ctrlLabel, GUICtrlRead($ctrlLabel)+1)
WEnd
lolkop is offline  
Thanks
1 User
Old 07/05/2013, 18:50   #1421

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by lolkop View Post
für dein problem gibt es guigetcursorinfo...
Code:
GUICreate('GUI', 200, 40, Default, Default, 0x10C80000)
$ctrlBtn = GUICtrlCreateButton('Press Me', 10, 10, 85, 20)
$ctrlLabel = GUICtrlCreateLabel(0, 105, 10, 85, 20, 0x1201)

While GUIGetMsg()<>-3
	$cursor = GUIGetCursorInfo()
	If $cursor[2] And $cursor[4]=$ctrlBtn Then GUICtrlSetData($ctrlLabel, GUICtrlRead($ctrlLabel)+1)
WEnd
Jo klappt, nur bin ich jetzt überfragt wie ich das stop wenn das Label die 1000 oder die 0 erreicht hat O.o Exitloop geht nicht weil ich da noch andere Sachen in der While habe, und es kommt ne Fehlermeldung, wenn ich aufn Desktop klick. Habs schon mit Else Return versucht geht aber nich..
.yorliK is offline  
Old 07/05/2013, 19:48   #1422
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Die "Fehlermeldung" lässt sich verhindern, indem du zusätzlich auf "Not @error" testest. Das mit dem Wert lässt sich mit einem einfachen If lösen.

Code:
GUICreate('GUI', 200, 40, Default, Default, 0x10C80000)
$ctrlBtn = GUICtrlCreateButton('Press Me', 10, 10, 85, 20)
$ctrlLabel = GUICtrlCreateLabel(0, 105, 10, 85, 20, 0x1201)

While GUIGetMsg()<>-3
	$labelValue = GUICtrlRead($ctrlLabel)
	If $labelValue < 1000 Then
		$cursor = GUIGetCursorInfo()
		If Not @error And $cursor[2] And $cursor[4]=$ctrlBtn Then GUICtrlSetData($ctrlLabel, $labelValue+1)
	EndIf
WEnd
KDeluxe is offline  
Thanks
1 User
Old 07/06/2013, 11:08   #1423

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Ja das funktioniert. Wieder was dazugelernt, vielen Dank!

noch eine nicht so dramatische Frage, manchmal wird das Label sofort auf 0 oder gleich 200 höher gesetzt wieso passiert das?

EDIT: Habs mit nem simplen Sleep(1) wegbekommen.

MfG
Kilroy.
.yorliK is offline  
Old 07/06/2013, 11:54   #1424
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by Kilroy. View Post
Ja das funktioniert. Wieder was dazugelernt, vielen Dank!

noch eine nicht so dramatische Frage, manchmal wird das Label sofort auf 0 oder gleich 200 höher gesetzt wieso passiert das?

EDIT: Habs mit nem simplen Sleep(1) wegbekommen.

MfG
Kilroy.
man baut doch kein zusätzliches sleep in die schleife ein, in der sich schon ein guigetmsg befindet <.<

arbeite mit timern, wenn du das ganze verlangsamen willst...
lolkop is offline  
Old 07/07/2013, 14:45   #1425
 
elite*gold: 278
Join Date: Aug 2010
Posts: 145
Received Thanks: 19
Hallo,

ich habe mal wieder eine kleine Frage:
Und zwar möchte ich den Inhalt meiner 2 Input´s in Arrays speichern nur ich weiß nciht wie das gehen soll..

Ich habe es jetzt so versucht
PHP Code:
$Test[0][0] = $Input1
$Test
[0][1] = $Input2 
Nur dort wird mir immer der Wert 4 und 5 ausgegeben, obwohl ich in den Feldern 1 und 2 stehen habe.


PHP Code:
#include<IE.au3>
#include<Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>




#Region ### START Koda GUI section ### Form=c:\users\****\desktop\kodak autoit\forms\votetest1.kxf
$Form1_1 GUICreate("Form1"615438258131)
$Ueberschirft GUICtrlCreateLabel("Test1"208818128)
GUICtrlSetFont(-1144000"MS Sans Serif")
$Input1 GUICtrlCreateInput("1"407214521)
$Input2 GUICtrlCreateInput("2"4011214521)


GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


DIM $Test[1][2]
$Test[0][0] = $Input1
$Test
[0][1] = $Input2


_ArrayDisplay
($Test,"Kompletter Array"
Danke für eure Hilfe.
evoh12 is offline  
Reply


Similar Threads Similar Threads
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community, Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann! ------------------------------------------------- --------------------------- Mein Multihack:...



All times are GMT +1. The time now is 04:48.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.