Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 22:25

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

Advertisement



Variablen Abfragen

Discussion on Variablen Abfragen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 20
Variablen Abfragen

Huhu! Sorry, ich nochmal ^^

Ich würde gerne in einem Programm am Anfang eine Abfrage machen, wie oft es durchgeführt werden soll, also einfach die Möglichkeit eine Zahl einzugeben, welche dann als Variable für einen Loop bzw eine Do-Until funktion benutzt wird. Ich denke mal das funktioniert über eine .ini datei, nur habe ich dazu nicht viel im Hilfebereich von AutoIt und im Internet gefunden. Der eingegebene Wert soll dann als Variable $Amount gesetzt werden

EDIT: Am liebsten wär es mir, wenn ich via KODA in meinem Fenster eine Zeile einbauen könnte, wo man die Zahl angeben kann. Ich habe dazu eine Input Zeile in meiner Form, kann ich einfach in der Funktion dann "Input1=$Amount" sagen?
AlvinX2 is offline  
Old 06/15/2013, 13:52   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Code:
$
Amount = IniRead()
$i = 0
Do
bla
$i = $i + 1
Until $i = $Amount
YatoDev is offline  
Old 06/15/2013, 14:00   #3
 
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 20
Zirka so hab ich mir das vorgestellt, kann ich jetzt durch den Input in der Inputzeile meiner Form noch den Inhalt für die Ini setzen?
AlvinX2 is offline  
Old 06/15/2013, 14:07   #4
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
GuiCtrlRead
kannst du bitte mal die grundlagen der grundlagen lernen du kennst ja anscheinend nichtmal den Hilfe file im autoit ordner
YatoDev is offline  
Old 06/15/2013, 15:42   #5
 
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 20
Gut, dank deinem Kommentar kenn ich jetzt auch das Hilfeverzeichnis Wobei mir das aber nicht hilft, ist, wenn ich versuche eine ,in die Gui eingebundene Progressbar zum laufen zu kriegen, die als endwert $amount benutzt, und nach jedem durchlauf ein stück voranschreitet:

PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$C4Bot GUICreate("C4 Bot v3.0 by DTR"28683192124)
GUISetBkColor(0x383838)
$Anzahl GUICtrlCreateInput("Anzahl"88810521)
GUICtrlSetFont(-184000"Neuropolitical Rg")
$Label1 GUICtrlCreateLabel("Version 3.0"20807433)
GUICtrlSetFont(-1164000"Myriad Arabic")
GUICtrlSetColor(-10xFFFFFF)
$Label2 GUICtrlCreateLabel("DueToReasons"006214)
GUICtrlSetFont(-1104000"Myriad Arabic")
GUICtrlSetColor(-10xFFFFFF)
$Start GUICtrlCreateButton("Start"104327525)
GUICtrlSetFont(-184000"Outer zone B")
GUICtrlSetColor(-10x000000)
GUICtrlSetBkColor(-10xFFFBF0)
$Fortschritt GUICtrlCreateProgress(86427015)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $amount
=GuiCtrlRead($Anzahl())
    
$nMsg GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit



Case 
$Start
                    
If ProcessExists("notepad.exe"Then
                    
For $p 0 to $amount Step +1
                    Next
                    MsgBox
(0,"Info","")
                
$i 0
                    
Do
                    
ControlSend ("Unbenannt","","Edit1""{SPACE DOWN}")
                    
sleep(100)
                    
ControlSend ("Unbenannt","","Edit1""{SPACE UP}")
                    
sleep(1024)
                    
ControlSend ("Unbenannt","","Edit1""{4 DOWN}")
                    
sleep(100)
                    
ControlSend ("Unbenannt","","Edit1""{4 UP}")
                    
Sleep(1024)
                    
ControlClick("Unbenannt","","Edit1","Right")
                    
Sleep(1024)
                    
ControlClick("Unbenannt","","Edit1","Left")
                    
Sleep(100)
                    
$i $i 1
                    $p 
$p 1
                    GUICtrlSetData
($Fortschritt,$p)
                
Until $i $amount
MsgBox
(0,"Bot finished""Der Bot hat seine Arbeit beendet.")


                    Else
                        
MsgBox(0"","")
EndIf
    EndSwitch
WEnd 
AlvinX2 is offline  
Old 06/15/2013, 16:23   #6
 
elite*gold: 0
Join Date: Aug 2012
Posts: 49
Received Thanks: 5
lass die Progressbar bei 100% und rechne dir über Dreisatz mit $amount oder $anzahl den Fortschritt aus den du in deiner For-Schleife an deine Progressbar übergibst.

GUICtrlSetData($Fortschritt, ***)
Player821 is offline  
Old 06/15/2013, 16:52   #7
 
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 20
Quote:
Originally Posted by Player821 View Post
lass die Progressbar bei 100% und rechne dir über Dreisatz mit $amount oder $anzahl den Fortschritt aus den du in deiner For-Schleife an deine Progressbar übergibst.

GUICtrlSetData($Fortschritt, ***)
Entweder stell ich mich grad richtig behindert an, oder es geht nicht. Ich hab jetzt folgendes gemacht:

$p = 100/$amount
$s = 100/$amount
GUICtrlSetData($Fortschritt,$p)
$p = $p+$s

Das geht aber einfach nicht, nach dem ersten durchlauf verändert der ladebalken sich nichtmehr
AlvinX2 is offline  
Old 06/15/2013, 17:12   #8
 
elite*gold: 0
Join Date: Aug 2012
Posts: 49
Received Thanks: 5
GUICtrlSetData($Fortschritt, ($p+1)*100/GUICtrlRead($amount))

wenn deine Schleife selbst keinen Sinn macht bringt das auch nichts
Player821 is offline  
Old 06/15/2013, 23:10   #9
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
wenn du etwas nachdenkst, kannst du das ganze noch deutlich genauer anzeigen...

baust du das ganze noch etwas dynamischer und entfernst scriptblockaden, könnte das ganze am ende etwa so aussehen:
Code:
Dim $DEBUG=True, $run, $timer, $action, $counter, $amount, $text[2]=['Start','Stop']
Dim $data[6][2]=[["{SPACE DOWN}",100],["{SPACE UP}",100],["{4 DOWN}",1024],["{4 UP}",100],["Right",1024],["Left", 1024]]
GUICreate("C4 Bot v3.0 by DTR", 286, 83, Default, Default, 0x10C80000)
GUISetBkColor(0x383838)
$Anzahl = GUICtrlCreateInput("Anzahl", 88, 8, 105, 21)
GUICtrlSetFont(-1, 8, 400, 0, "Neuropolitical Rg")
$Label1 = GUICtrlCreateLabel("Version 3.0", 208, 0, 74, 33)
GUICtrlSetFont(-1, 16, 400, 0, "Myriad Arabic")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label2 = GUICtrlCreateLabel("DueToReasons", 0, 0, 62, 14)
GUICtrlSetFont(-1, 10, 400, 0, "Myriad Arabic")
GUICtrlSetColor(-1, 0xFFFFFF)
$Start = GUICtrlCreateButton("Start", 104, 32, 75, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Outer zone B")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0xFFFBF0)
$Fortschritt = GUICtrlCreateProgress(8, 64, 270, 15)

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $Start
			$run = Not $run
			GUICtrlSetData($Start, $text[$run])
			$counter = 0
			$amount = GuiCtrlRead($Anzahl())
			GUICtrlSetData($Fortschritt, 0)
	EndSwitch
	If $run And $counter < $amount Then
		For $i=0 To UBound($data)-1
			SpecialSend($i, $data[$i][0], $data[$i][1])
		Next
	EndIf
WEnd

Func SpecialSend($index, $dataToSend, $waitBeforeSend)
	If TimerDiff($timer)>=$waitBeforeSend And $index=$action Then
		If $DEBUG Then
			ConsoleWrite($dataToSend&@CRLF)
		Else
			ControlSend ("Unbenannt","","Edit1", $dataToSend)
		EndIf
		GUICtrlSetData($Fortschritt,((($counter)*UBound($data))+$index+1)/($amount*UBound($data))*100)
		$action += 1
		$timer = TimerInit()
		If $action >= UBound($data) Then
			$action = 0
			$counter += 1
		EndIf
		If $counter >= $amount Then
			$run= Not $run
			GUICtrlSetData($Start, $text[$run])
		EndIf
	EndIf
EndFunc
lolkop is offline  
Old 06/15/2013, 23:52   #10
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
W*100/p und so lernt man doch alles in der schule und ist kein schweres thema wenn du das nicht goigeln kann dann veraender den standard wert bei koda und ersetze diesen im script mit der globalen variable amount die du dann in der jeweiligen func umaenderst
YatoDev is offline  
Reply


Similar Threads Similar Threads
[Release] Variablen anderer Clients abfragen
04/11/2013 - Metin2 PServer Guides & Strategies - 19 Replies
Hey. Da mich das schon verdammt viele gefragt haben und ich mit mt2 eh nichtmehr wirklich was am Hut habe, release ich euch mal ne Methode um Variablen (wie zb die HP anzeige) eines anderen Spielers auszulesen. So zum eigentlichen How to: 1.Ihr öffnet die game.py in eurer root.epk 2 ihr sucht nach:
C++ Variablen
09/16/2012 - C/C++ - 2 Replies
Ich habe mir. vor kurzem ei C++ Buch gekauft Und bin beim Thema Variablen, aber ich verstehe nicht so ganz wie das mit den Int, double, char , wchar_t geht sowie bool kann mir mal jemand auf die schnelle helfen?
[PHP] Die Variablen
08/22/2010 - Coding Tutorials - 3 Replies
Hallo ELitepvpers Heute erkläre ich euch etwas über Variablen, wie sie aufgebaut sind und noch ein paar kleine Beispiele, damit das heut gelernte richtig sitzt ;) Vielleicht kennst du Variablen aus dem Mathe unterricht. Das sind diese komischen Buchstaben, die keinen Sinn zu ergeben scheinen, aber doch so wichtig sind. In PHP werden Variablen verwendet, um Inhalte (z.B. Text oder Zahlen) darin zu speichern. Das besondere ist an einer Variable ist, das du es zwar beliebig nennen darfst,...



All times are GMT +2. The time now is 22:25.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.