Bitte noch einmal die Forenregeln lesen :).
Beiträge von peethebee
-
-
Wine baut den IE nur zum Teil nach, zumindest die Rendering-Engine ist meines Wissens gecko-basiert. Das könnte schon erklären, warum so spezielle Dinge wie die Steuerung über das IE-Objekt über die Nicht-Emulation (:D) nicht funktionieren…
-
Helfen
[autoit]_GUICtrlListView_BeginUpdate
[/autoit]
_GUICtrlListView_EndUpdateweiter?
-
Ich würde erst die Dateigröße vergleichen, sollte die gleich sein, dann eine MD5-Prüfsumme bilden (Crypt.au3) und wenn die auch gleich ist, dann (eventuell, ist üblicherweise eher nicht nötig) die Datei 1:1 vergleichen wie Micha_he gezeigt hat.
-
Mit @HotKeyPressed und HotKeySet mit einem Parameter (deaktiviert den Hotkey) solltest du einige deiner Probleme schon lösen können…
-
Ich hab' zwar mit Fußball nicht viel am Hut, aber was solls. Ich bin dabei
Tja, was soll man dazu wieder sagen?
Wie so oft sind die vorne, die am wenigsten Ahnung von Fußball haben - und ich bin wohl vorletzter unter den ernsthaften Tippern. Eieiei! Hätte man sich an UEZ orientiert, wäre alles nicht so schlimm gekommen :D.Hat Spaß gemacht mit euch und herzlichen Glückwunsch an Cheater Dieter!
Johannes
-
Bitteschön :).
Viel Erfolg mit deiner kleinen Schach-KI! -
Eventuell liegt es daran, dass für Integer automatisch ein Test gemacht wird, beim Vergleich also 53 als Zahl behandelt wird, bei 52.99999999 (was durch einen kleinen Rundungsfehler entstehen kann, aber halt keine ganze Zahl/Integer ist) aber ein Zeichenkettenvergleich gemacht wird.
Vielleicht ist es aber noch viel einfacher: Es funktioniert "zufällig" auch beim Zeichenkettenvergleich. 52.99999 > 3.999999 funktioniert auch bei Zeichenketten, weil 5 > 3 gilt.Johannes
-
Ich hab nicht genau reingeguckt, aber es scheint mir einer der Fälle zu sein, in denen du Zeichenketten vergleichst, obwohl du Zahlen vergleichen willst.
[autoit]
Hilft das hier?if (Number(71.999999999999)>Number(121.999999999999)) Then …
[/autoit]Johannes
-
Blind geschrieben:
[autoit]ShellExecute("C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE", '/runtime "C:\Program Files (x86)\Konrad_3\konrad30.accde" /cmd bdt_imp')
[/autoit]Johannes
-
Du willst quasi eine Snapshot-Funktion bauen!?
Wie machst du das in Bash?Wenn ich dich richtig verstanden haben sollte, dann ist AutoIt dafür bestimmt das falsche Werkzeug, weil es einfach nicht systemnah und effizient genug ist.
Johannes
-
Liebe Alina,
Von Herzen alles Gute zum Geburtstag! Ich wünsche dir und deiner Kleinen viel Gesundheit und Frohsinn :).
Zum Alter: 18?Johannes
-
Nichts, was die Mathematik behandelt, gibt es in dem Sinne :D. Und doch macht vieles irgendwie Sinn…
-
Java kann durch die Virtuelle Maschine, die noch dazwischen hängt, prinzipbedingt nicht so schnell sein wie C++, das direkt Maschinencode erzeugt. Am Anfang der Java-Entwicklung war das ein großer Geschwindigkeitsunterschied, auch weil die C-Compiler schon deutlich älter und besser optimiert waren. Inzwischen ist der Unterschied nicht mehr so groß, weil Dinge wie JIT und andere die VM sehr schnell gemacht haben. Den größeren Unterschied macht jetzt also meistens wieder geschickter Code gegenüber ungeschicktem ;).
-
Allet Jute, L3viathan!
Viel Erfolg, Glück und Gesundheit in der nächsten Dekade :). -
Das ist (leider) prinzipbedingt bei einer interpretierten Sprache wie AutoIt kein (großes) Problem. Dagegen kannst du auch kaum etwas vernünftiges tun :/.
-
Hi,
Sortieren funktioniert in AutoIt nicht so schön wie in manch anderer Sprache, weil Funktionen (bisher) keine übergebbaren Objekte sind.
Allerdings kann man das mit Hilfe von Call ein Stück weit nachbauen. Sicher nicht effizient, aber an mancher Stelle wegen der hohen Ausdruckskraft sicher eine nützliche Lösung. Ob ich beim Umbau eines QuickSort-Algos von Wikipedia alles richtig gemacht habe, weiß ich nicht. Unit-Tests fehlen mir in AutoIt schon auch schmerzlich. Ich glaube, dass ich sogar schon mal einen Satz Funktionen dafür hochgeladen habe hier im Forum!? Egal…Code:
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.9.0 (beta)
[/autoit] [autoit][/autoit] [autoit]
Author: peethebee
Date: 2012-06-10Script Function:
[/autoit] [autoit][/autoit] [autoit]
Sort using a (somewhat fake) comparator.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
;~ #include "var_dump.au3"Func _compSort(ByRef $array, $compFuncName = "_compBasic", $reverse = False, $left = 0, $right = -1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If $right == -1 Then $right = UBound($array) - 1
Local $i = $left
Local $j = $right
Local $v = $array[Round(($left + $right) / 2, 0)]
While $j > $i
While $i < $right And Call($compFuncName, $array[$i], $v, $reverse) < 0
$i = $i + 1
WEnd
While $j > $left And Call($compFuncName, $array[$j], $v, $reverse) > 0
$j = $j - 1
WEnd
If $i <= $j and Call($compFuncName, $array[$i], $array[$j], $reverse) >= 0 Then
_compSwap($array, $i, $j)
$i = $i + 1
$j = $j - 1
EndIf
WEnd
If ($left < $j) Then _compSort($array, $compFuncName, $reverse, $left, $j)
If ($right > $i) Then _compSort($array, $compFuncName, $reverse, $i, $right)
EndFunc ;==>_compSortFunc _compSwap(ByRef $array, $aIndex, $bIndex)
[/autoit] [autoit][/autoit] [autoit]
Local $t = $array[$aIndex]
$array[$aIndex] = $array[$bIndex]
$array[$bIndex] = $t
EndFunc ;==>_compSwapFunc _compBasic($a, $b, $reverse)
[/autoit] [autoit][/autoit] [autoit]
If ($a > $b) and (Not $reverse) Then Return 1
If ($a > $b) and ($reverse) Then Return -1
If ($b > $a) and (Not $reverse) Then Return -1
If ($b > $a) and ($reverse) Then Return 1
Return 0
EndFunc ;==>_compBasic; test
[/autoit]
;~ Global $myarray[10] = [11,22,33,44,55,66,77,88,99,1010]
;~ _compSort($myarray, "_compBasic", True)
;~ var_dump_c($myarray, False, ", ")Johannes
-
Hi,
Eine kleine UDF, um Variablen auszugeben. Mich hat es immer irritiert, dass manche Funktion (_ArrayDisplay anyone!?) der Meinung ist, einfach still (außer @error) zu bleiben, wenn man ihr nichts passendes zuwirft. Unter PHP hat mir var_dump immer ganz gut gefallen zum Debuggen.
Daher hier eine Version davon für AutoIt. Die UDF ist bei Weitem noch nicht für alle Datentypen gerüstet, unterstützt aber schon Strings, Integer, Floats und bis zu zweidimensionale Arrays (höherdimensionale werden mit "x-dim array" ausgegeben).
Wer für weitere Datentypen Code beisteuern kann, darf das sehr gerne tun!Code:
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.9.0 (beta)
[/autoit] [autoit][/autoit] [autoit]
Author: peethebee
Date: 2012-06-10Script Function:
[/autoit] [autoit][/autoit] [autoit]
Print data.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func var_dump($data, $detailed = False, $separator = 'default')
[/autoit] [autoit][/autoit] [autoit]
If $separator == 'default' Then $separator = Opt('GUIDataSeparatorChar')
Local $result = ''
If $detailed Then $result = $result & VarGetType($data) & ': '; string
[/autoit] [autoit][/autoit] [autoit]
If IsString($data) Then Return $result & $data; arrays
[/autoit] [autoit][/autoit] [autoit]
If IsArray($data) Then
Switch UBound($data, 0)
Case 1
; 1-dim array
$result = $result & '['
For $i = 0 To UBound($data) - 1
If $i > 0 Then $result = $result & $separator
$result = $result & var_dump($data[$i], $detailed, $separator)
Next
Return $result & ']'
Case 2
; 2-dim array
$result = $result & '[' & @CRLF
For $i = 0 To UBound($data, 1) - 1
$result = $result & ' ['
For $j = 0 To UBound($data, 2) - 1
If $j > 0 Then $result = $result & $separator
$result = $result & var_dump($data[$i][$j], $detailed, $separator)
Next
$result = $result & ']' & @CRLF
Next
Return $result & ']'
Case Else
Return UBound($data, 0) & '-dim array'
EndSwitch
EndIf; TODO more
[/autoit] [autoit][/autoit] [autoit]
Return $result & $dataEndFunc ;==>var_dump
[/autoit] [autoit][/autoit] [autoit]Func var_dump_c($data, $detailed = False, $separator = 'default')
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(var_dump($data, $detailed, $separator) & @CRLF)
EndFunc ;==>var_dump_c; some tests
[/autoit]
ConsoleWrite('strings' & @CRLF)
ConsoleWrite((var_dump('Test') == 'Test') & @CRLF)
ConsoleWrite((var_dump('') == '') & @CRLF)
ConsoleWrite('numbers' & @CRLF)
ConsoleWrite((var_dump(5) == '5') & @CRLF)
ConsoleWrite((var_dump(5.5) == '5.5') & @CRLF)
ConsoleWrite('1-dim array' & @CRLF)
Global $array[4] = [1,5,10,3]
ConsoleWrite((var_dump($array, False, ',') == '[1,5,10,3]') & @CRLF)
ConsoleWrite((var_dump($array, True, '-') == 'Array: [Int32: 1-Int32: 5-Int32: 10-Int32: 3]') & @CRLF)
ConsoleWrite('2-dim array' & @CRLF)
Global $array[2][2] = [[1,5],[10,3]]
ConsoleWrite((var_dump($array, False, ',') == '['&@CRLF&' [1,5]'&@CRLF&' [10,3]'&@CRLF&']') & @CRLF)Download:
autoit.de/wcf/attachment/15824/Johannes
-
Das Größenlimit sind glaube ich 2^16, also 65536 Zeichen. Darüber käme es dann durch Überlauf möglicherweise zu dem beschriebenen Verhalten.
Könnte das hinkommen? -
Erster Spieltag ist getippt, das reicht ja erst mal ;).
BugFix : Beide Herzen schlagen, ach, in meiner Brust