1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. draien

Beiträge von draien

  • Auch selbst gelöste Problem sollten geteilt werden!!!

    • draien
    • 5. März 2015 um 00:02

    [Blockierte Grafik: http://i.imgur.com/M2YPAEd.png]

  • Text ab bestimmter Stelle aus Website auslesen und in Datei schreiben

    • draien
    • 27. Februar 2015 um 10:50

    Folgende dinge sollten dir helfen:

    • _INetGetSource (gibt Quellcode als String zurück)
    • StringRegExp (wie Autolaser schon gesagt hat), oder für Anfänger besser eine Kombination aus StringInString (zur positionsfindung) und daraufhin Stringmid (position +100)

    Wenn du mal etwas gemacht hast, kannst du es gerne hier posten :)

  • Raspberry Pi 2 - Was tun? / Ideensammlung

    • draien
    • 26. Februar 2015 um 16:56

    chip:
    Um ihn dann wieder zu bestellen?

    Zitat von General Kaboom

    Ton-Sensitive LED-Beleuchtung für mein Faschings-Kostüm (Guggenkostüm). Das war mal ein kurzes gebastel, allerdings mittlerweile wieder entfernt und durch nen Arduino ersetzt.


    Das hört sich mal geil an. Ist da der Arduino soviel besser?
    Hab mir ja schon überlegt mein Roboterarm in die Küche zu stellen und dann mir morgens per Handy bereits den Kaffee rauslassen zu können :P (natürlich bereits umgerührt vom Arm hahaha)

    Zitat von Homer J. S.

    Ich freue mich mit dem Modell 2 B+, einem Windows 10 und AutoIt so einiges damit anzustellen . Allerdings dauert es scheinbar bei MS noch was :(


    Muss ich dich leider enttäuschen. Auch im englischen Forum gab es keine Aussichten, dass AutoIt für dieses Windows bereit stehen wird :( (hatte mich auch schon gefreut)

  • Raspberry Pi 2 - Was tun? / Ideensammlung

    • draien
    • 26. Februar 2015 um 15:33

    Da morgen mein Raspberry Pi 2 eintreffen sollte(so kurz vor dem Umzug >.<), wollte ich euch mal Fragen was Ihr mit so einem Teil alles anstellen würdet :)?

    Meiner wird für folgendes benutzt:

    • XBMC/Kodi/MediaCenter (ganz klar :>), verbunden mit ner NAS
    • Retrospiele Konsole (RetroPie sei dank) , aber dafür muss ich mein alten SNES controller noch irgendwie Funk-fähig machen :D
    • IRC Bot (extra dafür gerade am Python lernen)
    • Steuerung für meinen Roboterarm (evtl. in Verbindung mit dem IRC Bot?)


    Was fällt euch noch so ein ? Mit Sensoren etc. kann ich leider wenig anfangen... evtl. Hausautomation?

  • _SQLite_helper.au3

    • draien
    • 26. Februar 2015 um 15:24

    Hab ich zwar aktuell kein Nutzen für, kommt aber bestimmt noch.
    Daher saved :)

    Thx!

    Edit: Und alles gute zum Geburtstag!

  • Schleifen.... brauche eine hilfe......

    • draien
    • 26. Februar 2015 um 15:14

    Generell ware es nicht schlecht dein Code in den Tag [autoit][/autoit] zu packen für die Lesbarkeit.
    Dann hat dein Script einige Fehler.
    - "Case" ohne Switch/Select ?
    - x und y müssen noch ersetzt werden durch die pixelangabe (0,0 für linke obere ecke; 0,Y für linke untere ecke, wobei Y am besten mit @DesktopHeight oder so angegeben wird, eben nach fenstergröße)
    - Warum die While nicht direkt abhängig von der Farbe machen?

    Habe mal 2 Versionen wie sie funktionieren könnten gemacht:

    [autoit][/autoit][autoit][/autoit][autoit]

    For $i=1 To 100 ;dass ganze soll 100 mal passieren
    ;hier passiert viel ist aber unnötig zu posten

    [/autoit][autoit][/autoit][autoit]

    While 1
    Local $iColor1 = PixelGetColor(x,y) ;get pixelcolor to detect SAP mask at the top
    Local $iColor2 = PixelGetColor(x,y) ;get pixelcolor to detect SAP mask at the bottom
    If $iColor1="13752028" OR $iColor2="13752028" then
    ;Hier dein Code
    sleep (100)
    exitloop
    EndIf
    WEnd
    $sRow = $sRow + 1 ; go to the next row and search the next
    Next

    [/autoit]

    oder die while direkt abhängig ohne exitloop(ist einfach sauberer, aber das ist nur meine meinung :> )

    [autoit][/autoit][autoit][/autoit][autoit]

    For $i=1 To 100 ;dass ganze soll 100 mal passieren
    ;hier passiert viel ist aber unnötig zu posten
    $bGreen = False
    While Not $bGreen
    Local $iColor1 = PixelGetColor(x,y) ;get pixelcolor to detect SAP mask at the top
    Local $iColor2 = PixelGetColor(x,y) ;get pixelcolor to detect SAP mask at the bottom
    If $iColor1="13752028" OR $iColor2="13752028" then
    ;Hier dein Code
    sleep (100)
    $bGreen = True
    EndIf
    WEnd
    $sRow = $sRow + 1 ; go to the next row and search the next
    Next

    [/autoit]
  • Twitch UDF

    • draien
    • 24. Februar 2015 um 17:30
    Zitat von alpines

    Wenn ich einen Channel abfrage der nicht online ist wird mir nur returnt das er offline ist und nicht welchen Streamtitle er zuletzt etc hatte.

    In Version 0.2 hinzugefügt :) Danke Alpines!

  • Twitch UDF

    • draien
    • 23. Februar 2015 um 23:03
    Zitat von alpines

    Für einen HTTP-Code eine Konstante definieren?


    Ja, da für HTTPPost, welches ich aktuell gerade am überarbeiten bin, weitere konstanten benötige (denke ich)

    Zitat von alpines

    Wenn der Channel offline ist dann wird mir 0 zugesendet aber die Info nicht, die ist eigentlich immer noch abrufbar


    Sorry, wie genau meinst du das? (Tut mir leid für die dumme frage, aber is wie gesagt meine erste udf)

    Zitat von alpines

    _HTTPPost wird überhaupt nicht gecalled und ist somit überflüssig.


    Ist mal rausgenommen, wird aber wieder einzug finden, sobald benötigt (nächste version)

    Aber vielen Danke für das Feedback ! :)

  • Twitch UDF

    • draien
    • 23. Februar 2015 um 22:11

    Hallo zusammen,
    Bin aktuell sehr mit Twitch etc. beschäftigt und habe mal eine kleine "UDF" (wenn man das in dem Stadium schon sagen kann) geschrieben und wollte die nicht vorenthalten. Bin offen für jegliche Kritik und Verbesserungen.
    Bisher wird nur Info erhalten, aber auch posten wird in Zukunft noch kommen :)

    Wenn ihr diese UDF benutzten möchtet, müsst ihr eure Client-ID in die UDF eintragen. Diese bekommt ihr hier

    Sourcecode UDF:

    Spoiler anzeigen
    [autoit]


    ; ===================================================================
    ; Twitch.au3 - UDF
    ; v0.2
    ;
    ; By: Matthäus "Draien" Häußler
    ; Last Updated: 24.02.2015
    ; Tested with AutoIt Version 3.3.12.0
    ;
    ; Discription: Paste your twitch client ID into the global const
    ;
    ; Special Thanks:
    ; "FaridAgl" - For the HTTPGet / HTTPPost (soon to come) function
    ;
    ; Main functions:
    ; _KRAKENINFO
    ; ===================================================================
    #include-once

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $HTTP_STATUS_OK = 200
    Global Const $KRAKEN_URL = "https://api.twitch.tv/kraken/"
    Global Const $CLIENT_ID = "xxxxxx" ;Your Client ID
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _KRAKENINFO
    ; Description ...: Function to grab information from the KRAKEN/Twitch API
    ; Syntax ........: _KRAKENINFO($sChannel)
    ; Parameters ....: $sChannel - Name of the Stream/Channel to check as string
    ; Return values .: Successful - Returns an array with information about the stream/channel
    ; $aINFO[0] = Status (1, if online ; 0, if offline)
    ; $aINFO[1] = Displayname (String)
    ; $aINFO[2] = Game (String)
    ; $aINFO[3] = Title (String)
    ; $aINFO[4] = Followercount (Number)
    ; $aINFO[5] = Total Views (Number)
    ; $aINFO[6] = Live-Viewercount (Number, if online ; empty, if offline)
    ; Failure - Returns 0 and sets @error:
    ; |1 = Invalid Channel, sets @extended: (1, if empty; 2, if whitespace is found)
    ; |2 = Problem with _HTTPGet
    ; Author ........: Draien
    ; ================================================================================================================================
    Func _KRAKENINFO($sChannel)
    Local $aINFO[7]
    Local $iEND = ','
    Select ;Parameter Checking, Trust No One
    Case $sChannel = ""
    Return SetError(1, 1, 0)
    Case StringInStr($sChannel," ")
    Return SetError(1, 2, 0)
    EndSelect
    $sGet = _HTTPGet($KRAKEN_URL & "streams/" & $sChannel)
    If (@error) Then Return SetError(2, 0, 0)
    If StringInStr($sGet,'"stream":null') Then
    $sGet = _HTTPGet($KRAKEN_URL & "channels/" & $sChannel)
    $aINFO[0] = 0
    Else
    $aINFO[0] = 1
    $aINFO[6] = '"viewers":'
    EndIf
    $aINFO[1] = '"display_name":"'
    $aINFO[2] = '"game":"'
    $aINFO[3] = '"status":"'
    $aINFO[4] = '"followers":'
    $aINFO[5] = '"views":'
    For $x = 1 To UBound($aINFO) -1
    If $aINFO[$x] <> "" Then ;Avoid searching for live-viewers when offline
    $iINFOs = StringInStr($sGet,$aINFO[$x])+StringLen($aINFO[$x]) ;Total start position for a value
    $iINFOe = StringInStr($sGet,$iEND,0,1,$iINFOs) ;Total end position for a value
    $aINFO[$x] = StringMid($sGet,$iINFOs,$iINFOe-$iINFOs)
    EndIf
    Next
    ;Last Stripping of unecessary things
    $aINFO[1] = StringTrimRight($aINFO[1],1)
    $aINFO[2] = StringTrimRight($aINFO[2],1)
    $aINFO[3] = StringTrimRight($aINFO[3],1)
    Return $aINFO
    EndFunc ;==>_KRAKENINFO

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _HTTPGet
    ; Description ...: Get function to interact with Kraken / Twitch-API
    ; Syntax ........: _HTTPGet($sData)
    ; Parameters ....: $sData - Data to get as string.
    ; Return values .: Success - Returns ResponseText
    ; Failure - Returns 0 and sets @error
    ; Author ........: FaridAgl
    ; Modified ......: -
    ; Remarks .......:
    ; Related .......: _HTTPPost
    ; Link ..........:
    ; Example .......: No
    ; ================================================================================================================================
    Func _HTTPGet($sURL, $sData = "")
    Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
    $oHTTP.Open("GET", $sURL & "?" & $sData, False)
    If (@error) Then Return SetError(1, 0, 0)
    $oHTTP.SetRequestHeader("Client-ID: " & $CLIENT_ID)
    $oHTTP.Send()
    If (@error) Then Return SetError(2, 0, 0)
    If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)
    Return SetError(0, 0, $oHTTP.ResponseText)
    EndFunc

    [/autoit]

    Example (kayokensa is übrigens mein stream :P):

    Spoiler anzeigen
    [autoit]


    #include "Twitch.au3"
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $sGet = _KRAKENINFO("kayokensa")
    _ArrayDisplay($sGet)

    [/autoit]

    Changelog

    Spoiler anzeigen
    Code
    v0.2: - Client-ID als HTTP Header hinzugefügt, da von Twitch verlangt
            - Total Views hinzugefügt in der Übersicht
            - Informationen jetzt auch abrufbar, wenn Stream offline (danke alpines!)

    Und als Anhang hier:

  • [close] AI Fight #1 - Snake

    • draien
    • 19. Februar 2015 um 13:07

    @ShitDown
    Danke für die ausführliche Erklärung :) Hat geholfen

  • [close] AI Fight #1 - Snake

    • draien
    • 19. Februar 2015 um 11:16
    Zitat von ShitDown

    Das bedeutet, 2 AI's spielen mehrere Runden gegeneinander und sammeln Punkte, jene AI welche die meisten Punkte sammeln konnte, rückt in die nächste Runde vor. Dies wird solange wiederholt bis wir einen endgültigen Sieger haben


    Bin etwas verwirrt. Ist die Anzahl der Runden nun vorerst fix und wird nur bei Gleichstand erweitert bis es einen Sieger gibt oder wann tritt der "endgültige Sieg" ein? Und wenn die Anzahl fix ist, wieviele Runden sind es bis es zur "Verlängerung" kommt? Speziell der Satz "rückt in die nächste Runde vor"... Ist das eine andere Runde als die genannten "Runden"?

    Edit:
    Desweiteren steht im Regelthread:_AIFight_Register($hFunc, $sName, $bDB)
    während hier geschrieben ist: _AIFight_Register ( $sUser, $hFunction [, $sDatabase = Null ])

    Also ist Func und Name vertauscht. Sollte man vielleicht anpassen oder im Regelthread auf das jeweilige Spiel verweisen :)

  • StringRegExp Hilfe

    • draien
    • 19. Februar 2015 um 11:04
    Zitat von AspirinJunkie

    Du sagst der String muss mit einem Punkt enden (\.). Aber in deinem Beispiel ist das nicht der Fall.
    Folgendes Pattern würde für die angegeben Beispiele funktionieren (auch bei mehrstelligen Zahlen): _\d+$

    Me noob.
    Danke.

  • StringRegExp Hilfe

    • draien
    • 19. Februar 2015 um 10:10

    Hallo,
    Aktuell beschäftige ich mich ein wenig mit StringRegExp(Replace).
    Ich habe im Array $aArray etwa 1000 Elemente bei denen manchmal am Ende des Elements ein Unterstrich gefolgt von einer Zahl steht. Diese soll entfernt bzw. mit "" ersetzt werden.Beispiel:

    Code
    FAN_WAIT_RUN_TIME_1
    FAN_WAIT_RUN_TIME_2
    FAN_WAIT_RUN_TIME_3


    Sodass daraus

    Code
    FAN_WAIT_RUN_TIME
    FAN_WAIT_RUN_TIME
    FAN_WAIT_RUN_TIME

    wird.

    Was mache ich mit folgendem Code falsch:

    [autoit]


    For $x = 1 To $aArray[0]
    $aArray[$x] = StringRegExpReplace($aArray[$x],"_\d\.$","")
    Next

    [/autoit]


    Vielen Dank für die Hilfe. Das tutorial hier hat mir sehr weiter geholfen!

  • Checkbox GUI im Vordergrund

    • draien
    • 13. Februar 2015 um 12:20

    Will auch noch mein Senf dazugeben, wenn es um's überprüfen einer Checkbox geht:

    [autoit]


    ;Returns Value if Checkbox is checked
    Func _IsChecked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
    EndFunc

    [/autoit]
  • Dateipfad

    • draien
    • 28. Januar 2015 um 17:47

    Ich glaub jetzt haben wir dann bald alle möglichkeiten durch oder :D ? Darf er sich ja eine raussuchen

  • Status eines Fensters abfragen

    • draien
    • 28. Januar 2015 um 14:54
    Zitat von griessbx

    Hallo,
    für meine Anwendung ist auch ImageSearch keine Lösung, da während des Ladevorgangs der Datei (dessen Länge ich überwachen will) die ganze Anwendung einfach "busy" ist also auf nichts reagiert. Meine Frage, kann man nicht diesen Status irgenwie abfragen, nach dem Motto wenn Busy dann warten, wenn nicht mache weiter
    Bin Dankbar für jeden Tip
    Grusss Griessbx

    Ohne konkrete Angaben um was es hier genau geht (welches Grafikprogramm?) lässt sich das nur schwer sagen. Du könntest Referenzzeiten erstellen.
    Sprich du lädst Dateien versch. Größe in das Programm, misst die Ladezeiten und erstellst eine Formel. Dann überprüfst du vorher die Größe der Datei und erstellst ungefähr eine Ladezeit.
    Alle Bilder/Dateigrößen werden in einem Array gespeichert etc.
    Beispiel:
    Referenzladezeit: t_ref in sek./MB
    Ladezeit für Bild: t in sek.
    Offset Zeit: t_off in sek.
    Größe des Bilds in MB: x

    t = t_ref * x + t_off

    t_off wäre z.B. die Zeit die bei jedem Bild, unabhängig der Größe, zusätzlich hinzukommt.
    Zwar umständlich, aber wie oben schon gesagt, ohne konkrete Angaben welches Grafikprogramm, welches window gehandled werden soll etc. kann ich dir nicht weiter helfen :/

  • Dateipfad

    • draien
    • 28. Januar 2015 um 11:38

    Es ware so möglich:

    [autoit]


    $string = "\\asdf\jkl\dsl\tzu\567\-GoogleChrome\Chrome Icons\"

    [/autoit][autoit][/autoit][autoit]

    $secondSlash = StringInStr($string,"\",0,-2) ; Hier könnte man noch abfragen ob das letzte Zeichen überhaupt ein \ ist, und je nachdem, die Occurrence auf -1 oder -2 setzen

    [/autoit][autoit][/autoit][autoit]

    $string = StringTrimLeft($string,$secondSlash)
    $string = StringTrimRight($string,1) ; Selbe gilt auch hier für den letzten Backslash

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"",$string)

    [/autoit][autoit][/autoit][autoit][/autoit]

    Oder mid StringMid oder StringRegExp...
    Generell kann ich dir doch die folgende Funktion/UDF ans Herz legen wenn man mit Pfaden arbeitet :) :
    http://www.autoitscript.com/forum/topic/41…hsplitbyregexp/

  • IE den richtigen HTML Source auslesen.

    • draien
    • 28. Januar 2015 um 10:34

    Möchtest du den Captcha in deiner GUI anzeigen lassen und dort lösen? Dann müsstest du evtl. schauen welcher Captcha dienst verwendet wird und ob dieser das überhaupt zulässt (viele haben Restriktionen in den AGB etc.)

    Captchas sind namlich nicht dazu gedacht autmatisch gelöst zu werden. Es gibt jedoch eine Seite bei der du durch lösen von Captchas "Guthaben" bekommst (auch kaufbar glaube ich) und die API verwenden kannst, den Captcha von anderen Leuten lösen zu lassen.
    https://www.9kw.eu/

    Gibt sogar eine AutoIt API
    https://www.9kw.eu/api.html

    Du könntest dann in deiner GUI dein Guthaben etc anzeigen lassen etc.

    Oder habe ich die Frage falsch verstanden?

  • Regeln für den „AI Fight“ Wettbewerb

    • draien
    • 27. Januar 2015 um 14:40
    Zitat von General Kaboom


    Frage dazu: geht es nun darum die KI zu schreiben, welche das Spiel gewinnt oder jene, die am besten auf bestimmte Situationen reagiert (oder vielleicht beides irgendwie Punktemässig)? Wichtiger Unterschied, schliesslich kann auch eine random KI mal Glück haben und zufällig gewinnen.

    Das hab ich mich auch schon gefragt. Meinem Verständnis nach sollte es eher ein Wettbewerb sein, in dem die KI lernt, das spiel gegen einen vorgefertigten Gegner zu gewinnen. Gewinner wäre derjenige, der die wenigsten Durchläufe/Generationen benötigt zum gewinnen :P .

  • XMLdomWrapper

    • draien
    • 22. Januar 2015 um 18:38

    Das sind die Attribute:
    _XMLGetAttrib ( strXPath, strAttrib, strQuery = "" ) Get XML attribute based on XPath input from root node.(Requires: #include <_XMLDomWrapper.au3>)
    _XMLGetAllAttrib ( strXPath, ByRef aName, ByRef aValue, strQry = "" ) Get all XML Field(s) attributes based on XPath input from root node.(Requires: #include <_XMLDomWrapper.au3>)
    _XMLGetAllAttribIndex ( strXPath, ByRef aName, ByRef aValue, strQry = "", NodeIndex = 0 ) Get all XML Field(s) attributes based on Xpathn and specific index.(Requires: #include <_XMLDomWrapper.au3>)

    Wenn du mehrere hast, musst du es über Index angeben

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™