Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 17:09

  • 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 05/07/2013, 17:13   #1186
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Code:
$random = Random(1,30,1)

_FFFormOptionSelect("date", "id", $random, "value")
Random(1,30,1)

damit er keine komma zahlen generiert
YatoDev is offline  
Thanks
1 User
Old 05/07/2013, 17:15   #1187
 
Der-Eddy's Avatar
 
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
Setz mal den Flag auf 1
sonst generiert Random eine Float Zahl mit der er vielleicht nicht umgehen kann

Der-Eddy is offline  
Thanks
1 User
Old 05/08/2013, 21:14   #1188
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Jemand eine Idee, wie ich diesen Code hier
Code:
If $i > z Then
	Do
	$i -= z
	Until $i < z
EndIf
ohne die Do-Until Schleife schreiben kann?

Wenn i größer als z, dann ziehe von i so lange z ab, bis i kleiner z.


MfG
Achat is offline  
Old 05/08/2013, 21:24   #1189


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Bitte nicht hauen

Code:
While $i > z
$i -= z
Wend
Keine Ahnung ob von Logik richtig
Requi is offline  
Old 05/08/2013, 21:25   #1190
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Code:
If $i > z Then
	While 1
		$i -= z
		If $i < z Then ExitLoop
	WEnd
EndIf
oder
Code:
If $i > z Then
	While $i >= z
		$i -= z
	WEnd
EndIf

Edit - Alternativer Mindfuck:
Code:
If $i > z Then
	For $i = 0 To 1 + Floor(($i-z)/z) ;// Floor in AutoIt nicht zwingend notwendig, da "For $i = 0 to 0.x" einmal ausgeführt wird. Logisch betrachtet kann aber nur xmal mit ganzem x ausgeführt werden.
		$i -= z
	Next
EndIf
Ich nehme an, ohne Herleitung ist das nicht verständlich?
-STORM- is offline  
Old 05/08/2013, 21:37   #1191
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Quote:
Originally Posted by Requι View Post
Bitte nicht hauen

Code:
While $i > z
$i -= z
Wend
Keine Ahnung ob von Logik richtig
Quote:
Originally Posted by -STORM- View Post
Code:
If $i > z Then
	While 1
		$i -= z
		If $i < z Then ExitLoop
	WEnd
EndIf
oder
Code:
If $i > z Then
	While $i >= z
		$i -= z
	WEnd
EndIf
Edit - Alternativer Mindfuck:
Code:
If $i > z Then
	For $i = 0 To 1 + ($i-z)/z
		$i -= z
	Next
EndIf
Dann hab ich aber immer noch Schleifen. Das hätte ich dazu schreiben sollen: Wen möglich, möchte ich ganz auf Schleifen verzichten, da viele Schleifendurchläufe einfach langsam sind.

Trotzdem danke für eure Antworten.

MfG
Achat is offline  
Old 05/08/2013, 21:41   #1192
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
wie willst du mehrere gleiche aktionen hintereinander ausführen ohne schleife?
If $i>z then
$i = z
endif

willste ja warscheinlich nicht
butter123 is offline  
Old 05/08/2013, 21:49   #1193
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
willst du zwischendrinn mit den variablen arbeiten, oder zählt nur das endergebnis?

PHP Code:
If $i $z Then
    $i 
$i - ($z * (Ceiling($i/$z)))
EndIf 
omer36 is offline  
Thanks
1 User
Old 05/08/2013, 21:49   #1194


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Das würde ja eig gehen
Code:
If $i > z Then
$i = z
$i -= z
EndIf
Schon hast du $i < z
Requi is offline  
Old 05/08/2013, 21:52   #1195
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
was ist genau dein ziel?
i < z und die differenz von i zu z ist auch wichtig?

edit:
k = mod(i,z)
i=i-(z-k)
kommt zum selben ergebnis wie die schleife
butter123 is offline  
Old 05/08/2013, 21:57   #1196
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Ganz ohne Schleifen kann man in AutoIt nichts wiederholen. Da bräuchte man ne jump/goto Anweisung, was nebenbei ziemlich unübersichtlich wird.
Wenn in der Schleife außer der Subraktion nichts anderes stehen soll, kann man die allerdings die Rechnung zusammenfassen.
Quote:
Originally Posted by butter123 View Post
If $i>z then
$i = z
endif
Liefert nur dasselbe Ergebnis, wenn $i ein ganzzahliges vielfaches von z ist.
Vom Prinzip her aber richtig gedacht.

Quote:
Originally Posted by Requι View Post
Das würde ja eig gehen
Code:
If $i > z Then
$i = z
$i -= z
EndIf
Schon hast du $i < z
Auch nicht gleichbedeutend, das ergibt $i =0.


Dasselbe Ergebnis erhält man wie folgt:
Wird z von $i sooft abgezogen, bis $i gleich z ist, braucht es ($i-z)/z Durchgänge (theoretisch halt; praktisch ist nur eine ganzzahlige Anzahl an Durchgängen möglich).
Damit $i kleiner als z ist, ist also ein Vorgang mehr nötig, also Floor(($i-z)/z)+1 Vorgänge.
Zieht man sooft z von $i ab, ergibt das:
Code:
$i -= z*(Floor(($i-z)/z)+1)
Somit braucht man keine Schleife und spart Rechenpower.


Edit:
Quote:
Originally Posted by omer36 View Post
willst du zwischendrinn mit den variablen arbeiten, oder zählt nur das endergebnis?

PHP Code:
If $i $z Then
    $i 
$i - ($z * (Ceiling($i/$z)))
EndIf 
Am nächsten dran, jedoch ist Ceiling(x) nicht gleich Floor(x)+1, da ganzzahlige x nicht aufgerundet werden, sondern gleich bleiben.
Außerdem ist das x hier nicht $i/z, sondern ($i-z)/z.
Nach deinem Code wird im übertragenen Sinne die Schleife wiederholt, bis $i = 0 ist (also $i/z mal) bzw. bis $i = -z ist (für nicht ganzzahliges $i/z wegen Ceiling). Damit es nur wiederholt wird, bis $i < z ist, sind ($i-z)/z Durchgänge nötig.
-STORM- is offline  
Thanks
1 User
Old 05/08/2013, 22:11   #1197
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
PHP Code:
If $i $z Then
    MsgBox
("","",_r($i$z))
EndIf


Func _r($i$z)
    
$i -= $z
    
If $i $z Then Return $i
    
Return _r($i$z)
EndFunc 
vllt. gehts ja mit ner rekursiven funktion schneller als mit einer schleife,
kannst ja mal testen.


joa, hatte wohl nen denkfehler,
omer36 is offline  
Old 05/08/2013, 22:12   #1198
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
ich denke floor und mod sollten trotzdem noch schneller sein
butter123 is offline  
Old 05/08/2013, 22:13   #1199
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Quote:
Originally Posted by butter123 View Post
edit:
k = mod(i,z)
i=i-(z-k)
kommt zum selben ergebnis wie die schleife
Könntest du erklären, wie du darauf gekommen bist?
Ausprobieren? Ich glaube nicht, dass das für alle i und z funktioniert.

Mod(i,z) gibt nur den Rest von i/z wieder.

Edit: Wieso bin ich da nicht drauf gekommen:
Code:
$i -= z*(Floor(($i-z)/z)+1)
gleichbedeutend mit
Code:
$i = Mod($i,z)
Wobei meine erste tolle Lösung natürlich total umständlich ist. :/
-STORM- is offline  
Old 05/08/2013, 22:20   #1200
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Quote:
Originally Posted by omer36 View Post
willst du zwischendrinn mit den variablen arbeiten, oder zählt nur das endergebnis?

PHP Code:
If $i $z Then
    $i 
$i - ($z * (Ceiling($i/$z)))
EndIf 
Danke!

Mit floor und abs konnte ich die Ausführung meines Scripts um 246% erhöhen und das nur durch das ersetzen der Schleife...
Bei Ceiling kann i negativ werden. da ja z.B. Ceiling(201/100) 3 ergibt.
Bei Floor wird es auf jeden Fall positiv.

Quote:
Originally Posted by Requι View Post
Das würde ja eig gehen
Code:
If $i > z Then
$i = z
$i -= z
EndIf
Schon hast du $i < z
Da wären meine Bedingungen aber nicht erfüllt. Das von i z abgezogen werden soll.

MfG
Achat 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 17:09.


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.