|
You last visited: Today at 06:26
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.
05/08/2013, 22:24
|
#1201
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
ne, ich hatte da nen denkfehler,
da zieht er ab, bis $i unter 0 ist.
brauchst du denn die zwischenergebnisse?
|
|
|
05/08/2013, 22:33
|
#1202
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Quote:
Originally Posted by Achat
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.
|
Siehe letzter Absatz .
|
|
|
05/08/2013, 22:38
|
#1203
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
wie wird denn mod in autoit berechnet?
ist floor + division schneller oder nur modulo?
auch aus reinem interesse, falls es nciht mehr relevant ist in den größenordnungen^^
|
|
|
05/08/2013, 22:42
|
#1204
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Quote:
Originally Posted by butter123
wie wird denn mod in autoit berechnet?
ist floor + division schneller oder nur modulo?
auch aus reinem interesse, falls es nciht mehr relevant ist in den größenordnungen^^
|
Ich würde tippen, dass Mod schneller ist, aber relevant dürfte der Unterschied eher nicht sein.
Code:
$i = 214.71
$z = 13.48
$i_orig = $i
If $i_orig > $z Then
Do
$i_orig -= $z
Until $i_orig < $z
EndIf
$i0 = Mod($i,$z)
$i1 = $i - $z*(Floor(($i-$z)/$z)+1)
$i2 = $i - ($z * (Ceiling($i/$z)))
MsgBox(0,"$i: " & $i & " $z: " & $z, _
"$i_orig: " & @TAB & $i_orig & @CR & _
"$i0: " & @TAB & $i0 & @TAB & "=Mod($i,$z)" & @CRLF & _
"$i1: " & @TAB & $i1 & @TAB & "=$i - $z*(Floor(($i-$z)/$z)+1)" & @CRLF & _
"$i2: " & @TAB & $i2 & @TAB & "=$i - ($z * (Ceiling($i/$z)))")
Kannst ja TimerDiff einbauen und testen. $i_orig ist deine langsame Version mit der Schleife, $i0 mit Mod, $i1 meine erste, umständliche Version, und $i2 die falsche mit Ceiling.
Edit:
Offenbar ist die Variante mit Mod ein ganzes Stück schneller, als die mit Floor, die mit Ceiling noch etwas schneller, aber halt falsch, und die originale ein ganzes Stück langsamer. Je größer $i/$z ist, desto höher der Unterschied zur Version mit Schleife, da immer mehr Durchgänge nötig sind.
Code:
$i = 214.71
$z = 13.48
$i_orig = $i
$t_orig = TimerInit()
If $i_orig > $z Then
Do
$i_orig -= $z
Until $i_orig < $z
EndIf
$t_orig = TimerDiff($t_orig)
$t0 = TimerInit()
$i0 = Mod($i,$z)
$t0 = TimerDiff($t0)
$t1 = TimerInit()
$i1 = $i - $z*(Floor(($i-$z)/$z)+1)
$t1 = TimerDiff($t1)
$t2 = TimerInit()
$i2 = $i - ($z * (Ceiling($i/$z)))
$t2 = TimerDiff($t2)
MsgBox(0,"$i: " & $i & " $z: " & $z, _
"(" & Round($t_orig,5) & " ms)" & @TAB & "$i_orig: " & @TAB & $i_orig & @CRLF & _
"(" & Round($t0,5) & " ms)" & @TAB & "$i0: " & @TAB & $i0 & @TAB & "=Mod($i,$z)" & @CRLF & _
"(" & Round($t1,5) & " ms)" & @TAB & "$i1: " & @TAB & $i1 & @TAB & "=$i - $z*(Floor(($i-$z)/$z)+1)" & @CRLF & _
"(" & Round($t2,5) & " ms)" & @TAB & "$i2: " & @TAB & $i2 & @TAB & "=$i - ($z * (Ceiling($i/$z)))")
Die anderen Versionen bleiben unabhängig von $z und $i gleich schnell, schwanken aber natürlich je nach Auslastung des PC in diesem kurzen Zeitraum.
|
|
|
05/09/2013, 00:21
|
#1205
|
elite*gold: 18
Join Date: Apr 2009
Posts: 199
Received Thanks: 26
|
Zufällig jemand hier mit FF.au3 erfahrung? Und am besten auch der FF_Youtube_API.au3?
Habe folgendes problem. Ich hab ne website. Darin ist ein iframe. in diesem iframe ist wieder ein iframe und in diesem iframe ist nochmal ein iframe.
also ca so:
Quote:
<iframe>
//content
<iframe>
//content2
<iframe>
//youtube video
</iframe>
</iframe>
</iframe>
|
Jetzt will ich mit _FF_YT("playVideo") das video in den iframes starten. Ich hab schon getestet, auf ner youtube seite selber geht es. auf meiner mit den iframes nicht. ich weiß, das ich mit _FFFrameEnter() in ein frame komme, aber iwie komme ich nicht in den frame des frames.
Ich weiß, ist iwie extrem frameception. Aber vll kennt jemand das problem
|
|
|
05/09/2013, 20:13
|
#1206
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Kurze frage undzwar welchen code brauche ich um die ersten beiden Buchstaben oder zahlen von einem string zu überprüfen z.B. auf "00" oder "0x"
|
|
|
05/09/2013, 20:25
|
#1207
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Code:
$string = "0x"
If StringIsInt(StringLeft($string, 2)) Then
MsgBox(0, "", "true")
Else
MsgBox(0, "", "false")
EndIf
|
|
|
05/09/2013, 20:37
|
#1208
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
StringLeft hätte gereicht und zu überprüfen ob der string eine zahl ist bringt es nicht da er auch so aussehen könnte und trotzdem was falsch wär : "40396eguf"
Dann noch so aus fun ^^ : Kann man die farbe einer progressbar änder z.B. zu rot ?
|
|
|
05/09/2013, 20:45
|
#1209
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Du wolltest für die ersten 2 Buchstaben/Ziffern des Strings.
Du kannst aber auch StringRight nutzen oder die 2 zu einer anderen Zahl ändern.
Progressbar Farbe ändern geht bestimmt irgendwie.
Kannst ja ein rotes Bild nehmen und laden lassen
|
|
|
05/09/2013, 20:50
|
#1210
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Das mit dem roten bild will ich nicht machen ist unschön , warum sollte man nicht das grün einfach zu rot machen können vielleicht weis das ja jemand ^^
Ich meinte nur deinen beispielcode
|
|
|
05/09/2013, 22:41
|
#1211
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
GUICtrlSetColor mal versucht? ^^
|
|
|
05/09/2013, 23:53
|
#1212
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by omer36
GUICtrlSetColor mal versucht? ^^
|
 ups hab ich garnicht drann gedacht , versuch ich morgen.mal ;D
|
|
|
05/10/2013, 14:33
|
#1213
|
elite*gold: 0
Join Date: Dec 2012
Posts: 17
Received Thanks: 2
|
Hallo, ich habe ein kleines Problem
Ich wollte mir ein kleines Makro machen, das sollte eine Wortliste nach Buchstaben durchsuchen (sind alles Namen) und mir die Ergebnisse in eine HTMLseite schreiben (Intranet), jedoch hängt sich die Seite dann immer auf.
Das Problem an der ganzen Sache ist, dass unnötig viele Leerzeilen gemacht werden. Und zwar wird egal, ob er etwas findet oder nicht, eine Leerzeile gemacht, kann mir jemand kurz den Fehler erklären/mir die Lösung dafür geben?
Code:
FileOpen("lbwords.txt")
$l = StringSplit(FileRead("lbwords.txt"),@CRLF)
$v = StringSplit(InputBox("Letters","","******"),"")
Sleep(1000)
For $i=1 To $l[0] Step 1
$n = 0
$k = StringSplit($l[$i],"")
For $j=1 To $k[0] Step 1
For $m=1 To $v[0] Step 1
If $v[$m] = $k[$j] Then $n += 1
Next
Next
If $n >= $k[0] Then Send($l[$i] & "{ENTER}")
Next
|
|
|
05/10/2013, 16:37
|
#1214
|
elite*gold: 0
Join Date: Sep 2009
Posts: 1,489
Received Thanks: 1,221
|
Quote:
Originally Posted by Greaka
Hallo, ich habe ein kleines Problem
Ich wollte mir ein kleines Makro machen, das sollte eine Wortliste nach Buchstaben durchsuchen (sind alles Namen) und mir die Ergebnisse in eine HTMLseite schreiben (Intranet), jedoch hängt sich die Seite dann immer auf.
Das Problem an der ganzen Sache ist, dass unnötig viele Leerzeilen gemacht werden. Und zwar wird egal, ob er etwas findet oder nicht, eine Leerzeile gemacht, kann mir jemand kurz den Fehler erklären/mir die Lösung dafür geben?
Code:
FileOpen("lbwords.txt")
$l = StringSplit(FileRead("lbwords.txt"),@CRLF)
$v = StringSplit(InputBox("Letters","","******"),"")
Sleep(1000)
For $i=1 To $l[0] Step 1
$n = 0
$k = StringSplit($l[$i],"")
For $j=1 To $k[0] Step 1
For $m=1 To $v[0] Step 1
If $v[$m] = $k[$j] Then $n += 1
Next
Next
If $n >= $k[0] Then Send($l[$i] & "{ENTER}")
Next
|
Der Fehler liegt hier:
PHP Code:
If $n >= $k[0] Then Send($l[$i] & "{ENTER}")
Du sagst, wenn die Anzahl einer der Zeichen, nach denen du suchst größer oder gleich der Anzahl der Zeichen in einem der Namen aus der Datei ist, dann soll dieser Name und die Enter-Taste gesendet werden, was nach kurzer Überlegung eigentlich ziemlich sinnlos erscheint.
Du musst sagen, wenn die Anzahl der gefunden Zeichen in einem der Namen größer ist als 0 - also wenn das Zeichen in diesem Namen existiert - dann soll der Name und die Enter-Taste gesendet werden:
PHP Code:
$Open = FileOpen( "lbwords.txt" )
$Liste = StringSplit( FileRead( $Open ), @CRLF )
$Zeichen = StringSplit( InputBox( "", "Zeichen eingeben" ), "" )
For $i = 1 To $Liste[0]
$Result = 0
$WortZeichen = StringSplit( $Liste[$i], "" )
For $j = 1 To $WortZeichen[0]
For $k = 1 To $Zeichen[0]
If $Zeichen[$k] = $WortZeichen[$j] Then $Result += 1
Next
Next
If $Result > 0 Then Send( $Liste[$i] & "{Enter}" )
Next
|
|
|
05/10/2013, 16:58
|
#1215
|
elite*gold: 0
Join Date: Dec 2012
Posts: 17
Received Thanks: 2
|
Nein, es sollten alle vertreten sein...
Mein Problem ist dass er leerzeilen macht, obwohl er nichts findet...
Aber, danke, dass du mir helfen möchtest...
Probier mal meinen Code aus, dann siehst du was ich meine...
|
|
|
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 06:27.
|
|