Marthog: Wie kommst Du darauf, dass Strings in AutoIt keine Nullbytes enthalten dürfen?
Nur weil MsgBox diese nicht anzeigen kann, heißt das nicht, dass es nicht geht. ![]()
Marthog: Wie kommst Du darauf, dass Strings in AutoIt keine Nullbytes enthalten dürfen?
Nur weil MsgBox diese nicht anzeigen kann, heißt das nicht, dass es nicht geht. ![]()
Na, komm AutoBert, das hier sieht ja nicht nach Keylogger aus. Wollen wir fair bleiben...
@Daniel35: zum abfragen der Pfeiltasten kannst Du Dir die Funktion "_IsPressed" in der Hilfe anschauen.
Wir unterstützden keine Keylogger (siehe Forenregeln)!
Und das, was Du da vorhast ist vermutlich auch noch ein Gamebot (auch verboten). ![]()
[Thread closed]
Hallo BugFix!
Eine nette Funktion, allerdings gibt es einen Fehler ("The requested action with this object has failed."), wenn man für das ZIP-Archiv eine relative Pfadangabe (z.B. einfach nur "test.zip") verwendet.
Diesen Fehler könntest Du aber noch abfangen, indem Du an den Anfang Deiner Funktion folgendes einfügst:
$sPath = FileGetLongName($sPath, 1)
[/autoit]
Mit dem optionalen Parameter ",1" werden relative Pfade in absolute Pfade umgewandelt.
Ansonsten: sehr gut! Kommt in mein Archiv! ![]()
Hmm...was hat es denn für einen Sinn Prozesse fest auf einzelne Prozessoren zu verteilen (außer zu Testzwecken)?
Glaubst Du nicht, dass das Betriebssystem dieses durch die dynamische Verteilung viel besser erledigen kann?
Du willst alle Variablen aus einem AutoIt-Sourcecode?
Sind nur ein paar Zeilen:
#include <Array.au3>
$sPath = FileOpenDialog('Sourcecode auswählen', '', 'AutoIt Dateien (*.au3)', 3)
If Not FileExists($sPath) Then Exit
$sSource = FileRead($sPath)
$aVariable = StringRegExp($sSource, '(\$\w+)', 3)
$aVariable = _ArrayUnique($aVariable)
_ArrayDisplay($aVariable)
Eine Zuordnung auf nur einen Prozessor kann man im Taskmanager vornehmen.
Dort bei "Prozesse" einen rechten Mausklick auf einen Prozess machen und dann bei "Zugehörigkeit festlegen..." nur einen der Prozessoren auswählen.
Das gehört aber auch in diese Kategorie. [Thread closed]
Und schon wieder mal: Forenregeln lesen!
[Thread closed]
@progandy: Dein Beispiel funktioniert bei mir einwandfrei (sowohl als Skript, als auch compiliert (als 32 und 64 Bit)).
OS: Win7 64 Bit.
AutoIt: 3.3.6.0
Dein Beispiel funktioniert bei mir (dauert aber ein bißchen = ca. 10 sek.). ![]()
Die Funktion von AspirinJunkie ist dafür wohl besser geeignet: _GetMonitors
Hast Du eine Firewall installiert?
Evtl. hast Du da einen falschen Eintrag gemacht (AutoIt gesperrt).
Da kannst Du von ausgehen, dass das ein Aprilscherz ist, denn das "Bundesministerium für Post und Telekomunikation" gibt es gar nicht mehr.
Das wurde im Zuge der Privatisierung aufgelöst.
BTW: Der Aprilscherz in der c't ist auch wieder klasse. Die armen Videotheken... ![]()
Da Du neu bist, solltest Du unbedingt mal die Forenregeln lesen!
Gamebots sind hier nämlich verboten! [Thread closed]
mache mich jetzt dran ein wowbot zu schreiben
Na toll, warum habe ich das (mal wieder) geahnt? ![]()
Ich bin für ein PixelSearch-Support-Verbot! ![]()
Wow! Du hast Dir ja richtig viel Arbeit gemacht. ![]()
Naja, auch wenn eine Vorhersage unlogisch ist, hat es trotzdem Spass gemacht und man lernt auch an solchen Skripten immer noch etwas dazu.
Von daher: auf zum nächsten µIT. ![]()
Ich habe nie behauptet, dass ich auf diese schräge Logik mein Geld verwetten würde. ![]()
Aber auch so ein Spass-Skript kann lehrreich sein (Ermittlung der Häufigkeitsverteilung).
Sieht ja so aus, als ob wir nur zu zweit sind.
Naja, letztendlich ist es ja auch mehr ein Spass-Skript. Hier also mein Skript:
#include <Array.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$aZiehung = StringSplit(FileRead(@ScriptDir & '\Lottozahlen.txt'), @CRLF, 1)
[/autoit] [autoit][/autoit] [autoit]Global $oZahl = ObjCreate('Scripting.Dictionary'), $oZusatz = ObjCreate('Scripting.Dictionary')
Global $aZahlen, $iZusatz
For $i = 1 To $aZiehung[0]
$aZahlen = StringSplit($aZiehung[$i], ',')
For $j = 2 To $aZahlen[0] - 1
$aZahlen[$j] = Number($aZahlen[$j])
If $oZahl.Exists($aZahlen[$j]) Then
$oZahl.Item($aZahlen[$j]) = $oZahl.Item($aZahlen[$j]) + 1
Else
$oZahl.Add($aZahlen[$j], 1)
EndIf
Next
$iZusatz = Number($aZahlen[$aZahlen[0]])
If $iZusatz <> 0 Then
If $oZusatz.Exists($iZusatz) Then
$oZusatz.Item($iZusatz) = $oZusatz.Item($iZusatz) + 1
Else
$oZusatz.Add($iZusatz, 1)
EndIf
EndIf
Next
Global $aVerteilung[$oZahl.Count][2], $i = 0
For $key In $oZahl.Keys
$aVerteilung[$i][0] = $key
$aVerteilung[$i][1] = $oZahl.Item($key)
$i += 1
Next
_ArraySort($aVerteilung, 0, 0, 0, 1)
;~ _ArrayDisplay($aVerteilung, 'Häufigkeitsverteilung')
Global $aZusatz[$oZusatz.Count][2], $i = 0
For $key In $oZusatz.Keys
$aZusatz[$i][0] = $key
$aZusatz[$i][1] = $oZusatz.Item($key)
$i += 1
Next
_ArraySort($aZusatz, 0, 0, 0, 1)
;~ _ArrayDisplay($aZusatz, 'Zusatzzahl')
Dim $ahLotto[4][50]
$hGui = GUICreate('Mein Lottotip', 640, 640)
GUISetBkColor(0xDDDDDD) ; 0xFFAA66
For $z = 0 To 3 ; vier "Spielscheine" erstellen
GUICtrlCreateGroup('Tip ' & $z + 1, 5 + Mod($z, 2) * 320, 5 + Int($z / 2) * 320, 300, 300)
For $y = 0 To 6
For $x = 0 To 6
$iLeft = 20 + Mod($z, 2) * 320 + $x * 40
$iTop = 25 + Int($z / 2) * 320 + $y * 40
$ahLotto[$z][$y * 7 + $x + 1] = GUICtrlCreateLabel($y * 7 + $x + 1, $iLeft, $iTop, 32, 28, $SS_CENTER, $WS_EX_CLIENTEDGE)
GUICtrlSetBkColor(-1, 0xAAAAAA)
GUICtrlSetColor(-1, 0x909090)
GUICtrlSetFont(-1, 14, 400, 0, 'Verdana')
Next
Next
GUICtrlCreateGroup('', -99, -99, 1, 1)
Next
For $i = 0 To 1 ; zwei Scheine mit Zahlen (Häufigkeitsverteilung) "füllen"
For $j = 0 To 5 ; dabei die Zahlen auswählen, die am seltesten gezogen wurden
GUICtrlSetBkColor($ahLotto[$i][$aVerteilung[$i * 6 + $j][0]], 0x4466FF)
GUICtrlSetColor($ahLotto[$i][$aVerteilung[$i * 6 + $j][0]], 0xFFFFFF)
Next
Next
For $i = 0 To 1 ; und die anderen zwei Scheine mit Zahlen (Häufigkeitsverteilung) "füllen"
For $j = 0 To 5 ; dabei die Zahlen auswählen, die am häufigsten gezogen wurden
GUICtrlSetBkColor($ahLotto[2 + $i][$aVerteilung[37 + $i * 6 + $j][0]], 0x4466FF)
GUICtrlSetColor($ahLotto[2 + $i][$aVerteilung[37 + $i * 6 + $j][0]], 0xFFFFFF)
Next
Next
GUISetState()
;~ _ArrayDisplay($aVerteilung, 'Häufigkeitsverteilung')
Do
Until GUIGetMsg() = -3
Die Datei "Lottozahlen.txt" aus Post#1 muss sich im Skriptverzeichnis befinden.
Die "Logik" dahinter habe ich in den Kommentaren untergebracht.
Da sollte eigentlich noch eine genauere Auflistung der Zusatzzahlen rein, aber das habe ich nicht mehr geschafft, da ich momentan noch an einem anderen Projekt arbeite.