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

Beiträge von Oscar

  • Standard-Datei-Öffnen-Dialoge steuern

    • Oscar
    • 5. Oktober 2013 um 17:18

    Zitat aus den Nutzungsbedingungen der eBay Kleinanzeigen:

    Zitat

    Beachten Sie dabei, dass es verboten ist: ...Roboter, Crawler, Spider, Scraper oder andere automatisierte Mechanismen zu nutzen, um auf die eBay Kleinanzeigen Website zuzugreifen und Inhalte zu sammeln, egal zu welchem Zweck, ohne unsere ausdrückliche schriftliche Zustimmung

    Besitzt Du eine schriftliche Zustimmung von eBay? Dann per PN an mich. Ansonsten bleibt das hier geschlossen.

  • Online Rechner im Netzwerk mittels Ping

    • Oscar
    • 5. Oktober 2013 um 17:08

    [verschoben nach Hilfe & Unterstützung]

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 1. Oktober 2013 um 19:01

    Das "Or" muss dann ein "And" sein.
    Du willst ja, dass "Then" ausgeführt wird, wenn es nicht "Samstag, später als 05:50" und nicht "Sonntag" ist.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 1. Oktober 2013 um 15:52

    Ich habe keine Ahnung was Deine Funktion "_TimeDefinition()" macht oder welchen Wert sie zurückgibt, deshalb habe ich ein Script geschrieben, was jeder nachvollziehen kann. Das solltest Du Dir auch mal angewöhnen. Deine kleinen Schnipsel sind für sich nicht lauffähig und Du postest noch nicht mal alle benutzten Funktionen. Damit kann man Dir wenig helfen.
    Der Operator "Not" negiert einfach den nachfolgenden Ausdruck (bei Dir den in Klammern). Warum das aber nicht funktioniert, kann ich Dir nicht sagen, weil die erwähnte Funktion fehlt.

    Edit: Falls Du nur die Abfrage für "Arbeitstag" brauchst, kannst Du das auch so schreiben:

    [autoit]


    #include <Date.au3>

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

    $iDayOfWeek = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
    $sTime = @HOUR & @MIN
    If Not ($iDayOfWeek = 7 And $sTime > '0550') And Not ($iDayOfWeek = 1) Then ; außer Samstag nach 5:50 Uhr oder Sonntag (ganztags)
    ConsoleWrite('Arbeitstag' & @CR)
    EndIf

    [/autoit]
  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 1. Oktober 2013 um 11:38

    So:

    [autoit]


    #include <Date.au3>

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

    $iDayOfWeek = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
    $sTime = @HOUR & @MIN
    If ($iDayOfWeek = 7 And $sTime > '0550') Or ($iDayOfWeek = 1) Then ; Samstag (nach 5:50 Uhr) oder Sonntag (ganztags)
    ConsoleWrite('Wochenende' & @CR)
    Else
    ConsoleWrite('Arbeitstag' & @CR)
    EndIf

    [/autoit]
  • *.ini Verständnisproblem

    • Oscar
    • 30. September 2013 um 17:38

    Wenn ich das richtig verstanden habe, dann sieht die Ini ungefähr so aus:

    Spoiler anzeigen
    Code
    [Office]
    MSOffice=GREJ-ERJK-4330-4948-RDFK
    [Bildbearbeitung]
    Photoshop=RTZZ-OFOU-CMNF-PWKS-733K
    PhotoLine=46GT-HUER-POF6-9823-LLOP
    [AntiVirus]
    AntiVir=AABF-4656-TTTN-LKO9-0000-EERF
    [Dateiverwaltung]
    Total-Commander=RRR5-1234-6564-KFLG-PORE

    Zum auslesen könnte das Script dann so aussehen (Achtung! Das ist schon eine Lösung):

    Spoiler anzeigen
    [autoit]


    Global $sInifile = @ScriptDir & '\Serial.ini'
    Global $aSections = IniReadSectionNames($sInifile) ; Sektionsnamen auslesen
    If @error Then Exit MsgBox(0, 'Error', 'Inidatei fehlt oder fehlerhaft!')
    For $i = 1 To $aSections[0] ; alle Sektionen durchgehen
    Global $aSerial = IniReadSection($sInifile, $aSections[$i]) ; die Keys und die Werte der Sektion laden (2D-Array)
    If Not @error Then
    For $j = 1 To $aSerial[0][0] ; alle Keys und Werte anzeigen (innerhalb dieser Schleife würden dann die Installationen stattfinden)
    ConsoleWrite(StringFormat('Section: %s\nSoftware: %s\tSeriennr.: %s\n\n', $aSections[$i], $aSerial[$j][0], $aSerial[$j][1]))
    Next
    EndIf
    Next

    [/autoit]
  • Datei in einem Ordner löschen nach X Tagen

    • Oscar
    • 30. September 2013 um 13:54

    Da es sich bei "\\nas2.tu-clausthal.de\ds11\Desktop\wsus_update" um einen Ordner handelt fehlt beim FileGetTime auf jeden Fall danach ein Backslash, sonst würde ein nicht existierender Ordner angesprochen werden und der folgende Skriptteil schlägt sowieso fehl. Die ganzen anderen Syntaxfehler wurden ja schon angesprochen. Warum siehst Du nicht mal auf die Consolenausgabe mit den Fehlermeldungen und beseitigst erstmal Diese?

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 30. September 2013 um 13:50

    Du musst bei "GUIGetCursorInfo()" auch das Handle des Fensters eintragen, dann spielt es keine Rolle, ob das Fenster aktiv ist oder nicht.

  • _DateDayOfWeekML

    • Oscar
    • 21. September 2013 um 18:59

    Nach einigem suchen habe ich etwas gefunden. Jetzt gibt es eine neue Version (Post #1). Danke für den Hinweis, myicq! :)

  • Taskleisten Tab ausblenden. ($ws_ex_toolwindow)

    • Oscar
    • 20. September 2013 um 12:59

    Rückgängig ist etwas komplizierter. Ich musste das Fenster minimieren und wiederherstellen, sonst war der Eintrag nicht in der Taskleiste.

    Spoiler anzeigen
    [autoit]


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

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

    Opt('WinTitleMatchMode', 2)

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

    Run('Au3Info.exe')
    WinWait('AutoIt')
    $hAu3Info = WinGetHandle('AutoIt')
    ConsoleWrite('Handle (Au3Info): ' & $hAu3Info & @CR)
    $hDesktop = _WinAPI_GetDesktopWindow()
    ConsoleWrite('Handle (Desktop): ' & $hDesktop & @CR)
    $style = _WinAPI_GetWindowLong($hAu3Info, $GWL_EXSTYLE)
    ConsoleWrite('$style: ' & Hex($style) & @CR)
    $parent = _WinAPI_GetWindowLong($hAu3Info, $GWL_HWNDPARENT)
    ConsoleWrite('$parent: ' & $parent & @CR)

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

    MsgBox(0, 'Msg', 'raus aus der Taskleiste...', 0, $hAu3Info)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_HWNDPARENT, $hDesktop)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_EXSTYLE, $WS_EX_TOOLWINDOW)

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

    MsgBox(0, 'Msg', 'und wieder rein...', 0, $hAu3Info)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_HWNDPARENT, $parent)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_EXSTYLE, $style)
    _WinAPI_ShowWindow($hAu3Info, @SW_MINIMIZE)
    _WinAPI_ShowWindow($hAu3Info, @SW_RESTORE)

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

    MsgBox(0, 'Msg', 'beenden', 0, $hAu3Info)
    WinClose($hAu3Info)

    [/autoit]
  • Taskleisten Tab ausblenden. ($ws_ex_toolwindow)

    • Oscar
    • 20. September 2013 um 11:00

    Hier mal ein Beispiel mit "Au3Info":

    Spoiler anzeigen
    [autoit]


    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    Opt('WinTitleMatchMode', 2)

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

    Global Const $GWL_EXSTYLE = -20
    Global Const $GWL_HWNDPARENT = -8

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

    Run('Au3Info.exe')
    WinWait('AutoIt')
    $hAu3Info = WinGetHandle('AutoIt')
    ConsoleWrite('Handle (Au3Info): ' & $hAu3Info & @CR)
    $hDesktop = _WinAPI_GetDesktopWindow()
    ConsoleWrite('Handle (Desktop): ' & $hDesktop & @CR)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_HWNDPARENT, $hDesktop)
    _WinAPI_SetWindowLong($hAu3Info, $GWL_EXSTYLE, $WS_EX_TOOLWINDOW)

    [/autoit]
  • Ein ... "Winziges" Problem

    • Oscar
    • 19. September 2013 um 17:31
    Zitat von alpines

    Das kann bei dir durchaus sein, aber wenn ich eine rekursive Funktion baue und die Anzahl der Aufrufe ausgebe, dann sind das bei mir 1899 Aufrufe.

    Hmm...ich hatte das bisher nie ausprobiert. Bin davon ausgegangen, dass der Wert in der Hilfe stimmt. :huh:
    Hier mal ein Testscript:

    [autoit]


    _Test(1)

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

    Func _Test($iCount)
    ConsoleWrite($iCount & @CR)
    If $iCount < 5100 Then _Test($iCount + 1)
    EndFunc

    [/autoit]

    Damit kommt bei mir (AutoIt v3.3.8.1 und AutoIt Beta v3.3.9.20) ein Abbruch ("Recursion level has been exceeded - AutoIt will quit to prevent stack overflow.") nach 3899 Aufrufen.

  • Alles Gute für den autoit.de Betreiber

    • Oscar
    • 19. September 2013 um 17:21

    Von mir auch alles Gute zum Geburtstag! Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Ein ... "Winziges" Problem

    • Oscar
    • 18. September 2013 um 17:49
    Zitat von alpines


    AutoIt streikt ab knapp 1899 in sich wiederholten Funktionsaufrufen und beendet das Programm, deshalb vermeid Funktionen solange sie nicht von Nöten sind.

    Das stimmt nicht ganz. Ich zitiere mal aus der Hilfe:

    Zitat

    MAXCALLRECURSE = 5100 -> Maximum number of times the Call() function can recurse to itself.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 18. September 2013 um 05:17

    Weil Number keine Berechnung vornimmt. Dafür kannst Du Execute benutzen.

  • _DateDayOfWeekML

    • Oscar
    • 16. September 2013 um 19:52

    Ich dachte mir, ich könnte ja mal die Funktion "_DateDayOfWeek" etwas internationaler gestalten.
    Hier also meine MultiLanguage-Version der Funktion:

    Spoiler anzeigen
    [autoit]


    ; Example Start
    $sToday = _DateDayOfWeekML(@WDAY, 0, "0410") ; Italian
    ConsoleWrite("Today (Italian) = " & $sToday & @CR)

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

    $sToday = _DateDayOfWeekML(@WDAY, 0, "0407") ; German
    ConsoleWrite("Today (German) = " & $sToday & @CR)

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

    $sToday = _DateDayOfWeekML(@WDAY, 0, "0409") ; English
    ConsoleWrite("Today (English) = " & $sToday & @CR)

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

    $sToday = _DateDayOfWeekML(@WDAY, 0, "040c") ; French
    ConsoleWrite("Today (French) = " & $sToday & @CR)

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

    $sToday = _DateDayOfWeekML(@WDAY, 0, "0414") ; Norwegian
    ConsoleWrite("Today (Norwegian) = " & $sToday & @CR)

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

    $sToday = _DateDayOfWeekML(@WDAY, 1, @OSLang) ; @OSLang
    ConsoleWrite("Today (@OSLang, Short) = " & $sToday & @CR)
    ; Example End

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _DateDayOfWeekML
    ; Description ...: Returns the name of the weekday, based on the specified day.
    ; Syntax.........: _DateDayOfWeek($iDayNum[, $fShort = 0][, $sLang = @OSLang])
    ; Parameters ....: $iDayNum - Day number (1 = Sunday, 7 = Saturday).
    ; $fShort - Format:
    ; |false - Long name of the weekday
    ; |true - Abbreviated name of the weekday
    ; $sLang - Language code, default = current local system date (@OSLang)
    ; Return values .: Success - Weekday name based on the specified language code
    ; Failure - A NULL string and sets @ERROR = 1
    ; Author ........: Oscar (http://www.autoit.de)
    ; Modified.......:
    ; Related .......: _DateDaysInMonth, _DateToDayOfWeek, _DateToDayOfWeekISO
    ; Link ..........:
    ; Example .......: Yes
    ; ===============================================================================================================================
    Func _DateDayOfWeekML($iDayNum, $fShort = False, $sLang = @OSLang)
    If $iDayNum < 1 Or $iDayNum > 7 Then Return SetError(1, 0, '')
    If $sLang Then $sLang = Dec($sLang)
    Local $sFormat = StringLeft('dddd', 4 - Number($fShort = True))
    Local $tDATE = DllStructCreate('word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds')
    DllStructSetData($tDATE, 'Year', 2012) ; 2012/01/01 = Sunday, so $iDayNum perfect match
    DllStructSetData($tDATE, 'Month', 1)
    DllStructSetData($tDATE, 'Day', $iDayNum)
    Local $Ret = DllCall('kernel32.dll', 'int', 'GetDateFormatW', 'ulong', $sLang, 'dword', 0, 'ptr', DllStructGetPtr($tDATE), 'wstr', $sFormat, 'wstr', '', 'int', 2048)
    If @error Or Not $Ret[0] Then Return SetError(1, 0, '')
    Return $Ret[5]
    EndFunc ;==>_DateDayOfWeekML

    [/autoit]

    Edit 21.09.2013 : Die Funktion basiert jetzt auf der Abfrage der "kernel32.dll". Somit stehen alle Sprachen zur Verfügung, die Windows anbietet.

    Edit 23.09.2013 : Die Funktion auf das Wesentliche reduziert. :D

    Dateien

    _DateDayOfWeekML.au3 2,61 kB – 236 Downloads
  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 16. September 2013 um 18:16

    Und hier noch ein Einzeiler:

    [autoit]


    $sHeute = StringRegExpReplace(' Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag ', '( .+?){' & @WDAY - 1 & '} (.+?) .*', '$2')
    ConsoleWrite($sHeute & @CR)

    [/autoit]
  • Sternchen im String macht Probleme

    • Oscar
    • 16. September 2013 um 17:22

    Das Sternchen hat bei RegExp einen Sonderstatus (Wiederholungszeichen) und muss deshalb "maskiert" werden. Das geschieht, indem man dem Sternchen einen Backslash voranstellt:

    [autoit]


    $sText = "ewriugreogijfdvlmnasdlfs wefwrejigored gregijredi Ha*llo gwergreijoj"
    $ItemName = "Ha*llo"
    $ItemName = StringReplace($ItemName, "*", "\*")
    $IsItemOnPage = StringRegExp($sText, $ItemName)

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

    ConsoleWrite($IsItemOnPage & @CR)

    [/autoit]
  • Auf Netzwerklaufwerk zugreifen, ohne neu zu mappen.

    • Oscar
    • 16. September 2013 um 17:10

    Du kannst aber auch mit "net use \\<Computername> <Passwort> /user:<Benutzername>" in der Eingabeaufforderung eine Verbindung zu dem anderen Rechner herstellen.
    Anschließend kannst Du dann auf den Rechner zugreifen.

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 16. September 2013 um 12:26

    Dieser Schnipsel hilft nicht weiter, weil ein Menü standardmäßig immr linksbündig angezeigt wird.
    Du hast vermutlich irgendwo den Style verändert (_GUICtrlMenu_SetItemType?). Poste bitte ein lauffähiges Script, bei dem man den "Fehler" nachvollziehen kann.

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™