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. eukalyptus

Beiträge von eukalyptus

  • Sound erkennen lassen

    • eukalyptus
    • 15. März 2011 um 21:02

    Hi

    Sound erkennen, also verschiedene Sounds zu unterscheiden geht mit AutoIt nicht (fast).

    Was geht ist zu erkennen, ob ein Sound einen gewissen Pegel überschreitet, oder ob ein Sound eine gewisse Frequenz hat.
    Auch könnte man das komplette Frequenzspektrum auswerten und so evtl. verschiedene Sounds unterscheiden, aber das ist schon etwas aufwändiger.

    In diesem Tread findest du ein Script, welches die "Hauptfrequenz" eines Tones ermittelt; vielleicht hilft dir das mal weiter:
    [ gelöst ] Aufnahme mit _BASS_Record

    E

  • Eingehendes Videosignal anzeigen

    • eukalyptus
    • 15. März 2011 um 20:52
    Zitat von Jautois

    Der Adapter nennt sich "EasyCap DC 90 USB 2.0 Video Grabber" - Link

    Sieht genauso aus, wie mein Pinnacle DC 90, den ich vor etwa 4 Jahren mal hatte.
    Hatte ständig Probleme das Ding mit AutoIt stabil zum Laufen zu bringen.
    Irgendwann hab ich mir dann den Pinnacle DVC 100 besorgt und siehe da - damit laufen meine Scripte ohne Probleme.

    Also: wegwerfen und was anderes besorgen ;)

  • StringRegExp Function incl. Header bekommen?

    • eukalyptus
    • 7. März 2011 um 11:54

    Danke erstmal für die Antworten!
    Habs mir zwar noch nicht angesehen, aber es ist sicher was brauchbares dabei - deshalb vorerst "gelöst"

    Thx

  • StringRegExp Function incl. Header bekommen?

    • eukalyptus
    • 4. März 2011 um 11:20

    Hi

    Wie extrahiere ich aus einer au3 eine Funktion incl. Header?
    Also die Function plus alle Zeilen davor, welche mit einem ";" beginnen

    Zwischen Header und Funktion kann manchmal eine Leerzeile sein und die erste Zeile des Headers ist leider nicht immer die selbe

    [autoit]


    ; irgendeine Zeile; soll nicht zurückgegeben werden

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

    ; irgendeinText ====================================================================================================================
    ; Name...........: _Functionname
    ; ...

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

    Func _Function()
    ...
    EndFunc

    [/autoit]

    Danke

  • Developer30 hat Geburstag

    • eukalyptus
    • 3. März 2011 um 03:34

    Alles Gute!

  • eukalyptus ist 32

    • eukalyptus
    • 3. März 2011 um 03:31

    Vielen Dank für die tollen Glückwünsche!

  • While schleife verlassen

    • eukalyptus
    • 1. März 2011 um 09:55

    Am besten wäre hier der OnEvent-Modus.

    Schau dir mal die Hilfe zu GuiSetOnEvent und GuiCtrlSetOnEvent an

    E

  • Rekursive Programmierung sinnvoll? Wann und warum?

    • eukalyptus
    • 23. Februar 2011 um 21:23
    Zitat von AspirinJunkie

    Einleuchtend beschrieben ist das ganze >>Hier<<

    :thumbup:

    Noch was wichtiges zu: >>GOTO<<

    E

  • UEZ hat Geburtstag

    • eukalyptus
    • 17. Februar 2011 um 07:09

    Alles Gute unserem GDI+Zauberer!

    Und Danke für die großartige Arbeit, die du hier im Forum leistest!

    :party:

  • 3/4 acht

    • eukalyptus
    • 16. Februar 2011 um 13:52

    Im östlichen Niederösterreich bzw. Wien werden diese Ausdrücke am häufigsten gebraucht:
    viertel Acht = 07:15
    halb Acht = 07:30
    dreiviertel Acht = 07:45

    In Oberösterreich hingegen sagt man statt "viertel Acht" "viertel über Sieben" oder "viertel nach Sieben"

    Das kann dazu führen, daß ein Oberösterreicher von einem Wiener die Zeitangabe "viertel Acht" bekommt, das als "dreiviertel Acht" versteht und somit eine halbe Stunde zu spät erscheint :D
    Im Extremfall sogar eine Stunde Verspätung ("viertel Acht" wird als "viertel über Acht" interpretiert") :P

    E

  • Radio streaming with bass.dll

    • eukalyptus
    • 14. Februar 2011 um 10:09

    You can use _BASS_ChannelGetInfo to get the format:

    [autoit]

    Global Const $BASS_CTYPE_STREAM_AAC = 0x10b00
    Global Const $BASS_CTYPE_STREAM_MP4 = 0x10b01
    Global Const $BASS_CTYPE_STREAM_WMA = 0x10300
    Global Const $BASS_CTYPE_STREAM_WMA_MP3 = 0x10301

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

    ...

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

    $aInfo = _BASS_ChannelGetInfo($MusicHandle)

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

    Switch $aInfo[3]
    Case $BASS_CTYPE_STREAM_OGG
    ConsoleWrite("Streamtype: OGG" & @CRLF)
    Case $BASS_CTYPE_STREAM_MP1
    ConsoleWrite("Streamtype: MP1" & @CRLF)
    Case $BASS_CTYPE_STREAM_MP2
    ConsoleWrite("Streamtype: MP2" & @CRLF)
    Case $BASS_CTYPE_STREAM_MP3
    ConsoleWrite("Streamtype: MP3" & @CRLF)
    Case $BASS_CTYPE_STREAM_AIFF
    ConsoleWrite("Streamtype: AIFF" & @CRLF)
    Case $BASS_CTYPE_STREAM_AAC
    ConsoleWrite("Streamtype: AAC" & @CRLF)
    Case $BASS_CTYPE_STREAM_MP4
    ConsoleWrite("Streamtype: MP4" & @CRLF)
    Case $BASS_CTYPE_STREAM_WMA
    ConsoleWrite("Streamtype: WMA" & @CRLF)
    Case $BASS_CTYPE_STREAM_WMA_MP3
    ConsoleWrite("Streamtype: WMA_MP3" & @CRLF)
    EndSwitch

    [/autoit]

    take a look at _Bass_StreamGetFilePosition to calculate the bitrate
    but it doesn´t seem to work with the bass plugin system (wma, acc, ...)
    maybe you can use BASS_WMA_GetTags!?

    E

  • Befindet sich Punkt in Polygon?

    • eukalyptus
    • 8. Februar 2011 um 05:50

    Eine weitere Möglichkeit bietet GDIPlus:

    _GDIPlus_PathAddPolygon($hPath, $aPoints)
    _GDIPlus_PathIsVisiblePoint($hPath, $iPointX, $iPointY, $hGraphics)

    E

  • Happy Birthday, Andy

    • eukalyptus
    • 4. Februar 2011 um 05:45

    Alles Gute zum Geburtstag

    Möge eine gute Flasche Wein dein neues Lebensjahr beginnen ;)
    .

  • DoubleClick lässt Programm hängen

    • eukalyptus
    • 30. Januar 2011 um 17:51

    Ich denke, der Fehler passiert so:

    Der erste Klick ruft die Funktion auf
    Dann wird das Notepad-Fenster aktiviert
    Der zweite Klick aktiviert wieder das eigene Fenster
    deswegen wartet WinWaitActive vergeblich...

    Probier mal

    [autoit]

    Func SendToNotepad($i, $App)
    Local $j, $s
    $j = ($i - 25) / 22.129 + 1
    $j = Round($j, 0)
    $j = $j * 2 - 1
    $s = StringMid($Mainstring, $j, 1)
    ControlSend($App, "", "Edit1", $s)
    EndFunc

    [/autoit]

    E

  • Bilder vergleichen!

    • eukalyptus
    • 30. Januar 2011 um 14:37

    Hi

    so kannst du ziemlich schnell einen Pixelvergleich machen:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

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

    _GDIPlus_Startup()
    $hImage1 = _GDIPlus_ImageLoadFromFile("hit1_0.png")
    $hImage2 = _GDIPlus_ImageLoadFromFile("0100100.png")

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

    $bData1 = _BitmapGetData($hImage1)
    $bData2 = _BitmapGetData($hImage2)

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

    Switch StringCompare($bData1, $bData2)
    Case 0
    MsgBox(0, "", "Bilder sind gleich")
    Case Else
    MsgBox(0, "", "Bilder sind unterschiedlich")
    EndSwitch

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

    _GDIPlus_ImageDispose($hImage1)
    _GDIPlus_ImageDispose($hImage2)
    _GDIPlus_Shutdown()

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

    Func _BitmapGetData($hBitmap)
    Local $BitmapData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, _GDIPlus_ImageGetWidth($hBitmap), _GDIPlus_ImageGetHeight($hBitmap), $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    Local $Width = DllStructGetData($BitmapData, "Width")
    Local $Height = DllStructGetData($BitmapData, "Height")
    Local $Scan0 = DllStructGetData($BitmapData, "Scan0")
    Local $PixelData = DllStructCreate("ubyte[" & $Width * $Height * 4 & "]", $Scan0)
    Local $Data = DllStructGetData($PixelData, 1)
    _GDIPlus_BitmapUnlockBits($hBitmap, $BitmapData)
    Return $Data
    EndFunc ;==>_BitmapGetData

    [/autoit]

    Die Bilder müssen aber tatsächlich komplett die gleichen Pixel besitzen

  • Happy Birthday Oscar :)

    • eukalyptus
    • 18. Januar 2011 um 22:17

    Herzlichen Glückwunsch!!!

  • Devcon - Unverständliche Rückgabeparamter

    • eukalyptus
    • 14. Januar 2011 um 01:09

    Dann so:

    [autoit]

    #include <Constants.au3>
    #include <WinAPI.au3>

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

    _Devcon("devcon.exe help"); Kein Error
    _Devcon("devcon.exe findall"); Error

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

    Func _Devcon($sCmd)
    Local $sErr = "", $sOut = ""
    Local $hPID = Run($sCmd, @SystemDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD))

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

    Local $hProc = _WinAPI_OpenProcess(0x0400, 0, $hPID)
    While 1
    $sOut &= StdoutRead($hPID)
    If @error Then ExitLoop
    WEnd
    While 1
    $sErr &= StderrRead($hPID)
    If @error Then ExitLoop
    WEnd
    Local $aReturn = DllCall("kernel32", "hwnd", "GetExitCodeProcess", "handle", $hProc, "dword*", 0)
    If @error Or Not IsArray($aReturn) Then Return SetError(1, 0, False)
    Switch $aReturn[2]
    Case 0
    MsgBox(0, "Kein Error", "Kein Error" & @CRLF & @CRLF & $sOut)
    Case Else
    MsgBox(0, "ERROR", "Exitcode: " & $aReturn[2] & @CRLF & "StdErr: " & @CRLF & $sErr)
    EndSwitch
    _WinAPI_CloseHandle($hProc)
    EndFunc ;==>_Devcon

    [/autoit]

    E

  • Devcon - Unverständliche Rückgabeparamter

    • eukalyptus
    • 14. Januar 2011 um 00:34

    Hi

    mit " > test.txt" wird der stdout und mit " 2> test.txt" der stderr in eine Datei geschrieben anstatt in der Konsole ausgegeben
    um das nun in AutoIt umzusetzen, musst du die Befehle in eine Batchdatei auslagern:
    (vielleicht gibt es auch eine elegantere Lösung!?)

    Spoiler anzeigen
    [autoit]

    _Devcon('"' & @ScriptDir & '\devcon.exe"' & ' help'); Kein Error
    _Devcon('"' & @ScriptDir & '\devcon.exe"' & ' findall'); Error

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

    Func _Devcon($sCmd)
    Local $hFile = FileOpen(@ScriptDir & "\temp.bat", 2)
    FileWriteLine($hFile, '@Echo off')
    FileWriteLine($hFile, $sCmd & ' > "' & @ScriptDir & '\stdout.txt" 2> "' & @ScriptDir & '\stderr.txt"')
    FileWriteLine($hFile, 'Exit ERRORLEVEL')
    FileClose($hFile)

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

    Local $iExitCode = RunWait("temp.bat", @ScriptDir, @SW_HIDE)
    Local $sOut = FileRead("stdout.txt")
    Local $sErr = FileRead("stderr.txt")
    Switch $iExitCode
    Case 0
    MsgBox(0, "Kein Error", "Kein Error" & @CRLF & @CRLF & $sOut)
    Case Else
    MsgBox(0, "ERROR", "Exitcode: " & $iExitCode & @CRLF & @CRLF & $sErr)
    EndSwitch

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

    FileDelete(@ScriptDir & "\temp.bat")
    FileDelete(@ScriptDir & "\stdout.txt")
    FileDelete(@ScriptDir & "\stderr.txt")
    EndFunc ;==>_Devcon

    [/autoit]

    E

  • Devcon - Unverständliche Rückgabeparamter

    • eukalyptus
    • 13. Januar 2011 um 11:09

    Also bei mir geht das

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>

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

    _Devcon("devcon.exe help"); Kein Error
    _Devcon("devcon.exe findall"); Error

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

    Func _Devcon($sCmd)
    Local $sErr = "", $sOut = ""
    Local $hPID = Run($sCmd, @SystemDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD))
    While 1
    $sOut &= StdoutRead($hPID)
    If @error Then ExitLoop
    WEnd
    While 1
    $sErr &= StderrRead($hPID)
    If @error Then ExitLoop
    WEnd
    Switch StringLen($sErr)
    Case 0
    MsgBox(0, "Kein Error", "Kein Error" & @CRLF & @CRLF & $sOut)
    Case Else
    MsgBox(0, "ERROR", "StdErr: " & @CRLF & $sErr)
    EndSwitch
    EndFunc ;==>_Devcon

    [/autoit]
  • Devcon - Unverständliche Rückgabeparamter

    • eukalyptus
    • 13. Januar 2011 um 10:21

    Achso, du willst den Exitcode
    Ich weiß allerdings nicht, wie man diesen bei Run ausliest, aber du könntest RunWait verwenden und den StdOut in eine Datei umlenken " > Log.txt"

    E

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™