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

  • ListView - Aktion bei Auswahl bestimmter ListViewItems

    • Oscar
    • 21. Juli 2010 um 15:56

    @Inferior: In meinem Beispiel ist in $iSelect der Index zu dem Listview-Item enthalten, dieser entspricht auch dem Index des Array $werte. Das heißt, wenn Dein zweites Array "$b" analog zu dem Ersten aufgebaut ist, dann kannst Du den Wert einfach mit $b[$iSelect] ansprechen, ganz ohne For...Next-Schleife und If-Anweisung.

  • Starplayer v3

    • Oscar
    • 21. Juli 2010 um 15:16

    Kannst Du mir sagen, bei welchen MP3s das passiert? VBR-codierte? Was steht bei Bitrate? Und wie falsch sind die Werte (tatsächlich / falsch)?

    Wenn Du das crossfading nicht haben willst, dann entferne den Haken in der Config. ^^

  • _TicksToTimeFormat

    • Oscar
    • 21. Juli 2010 um 09:35

    Das vorhandene _TicksToTime war mir immer zu "unhandlich". Man musste drei Variablen übergeben und konnte das Ergebnis nicht gleich in anderen Funktionen weiterverwenden.
    Deshalb habe ich diese Funktion geschrieben, die einen String zurückgibt, dessen Format man festlegen kann.

    Lange Rede....hier ist die Funktion:

    Spoiler anzeigen
    [autoit]


    MsgBox(0, 'Beispiel 1', _TicksToTimeFormat(3345757822, '%ww Wochen, %dd Tage, %hh Stunden, %mm Minuten, %ss Sekunden und %ms Millisekunden'))
    MsgBox(0, 'Beispiel 2', 'Ausgabe als "%hh:%mm:%ss":' & @CR & @CR & _TicksToTimeFormat(21227884, '%hh:%mm:%ss'))
    MsgBox(0, 'Beispiel 3', 'Ausgabe als "%mm %ss":' & @CR & @CR & _TicksToTimeFormat(67843, '%mm %ss'))
    MsgBox(0, 'Beispiel 4', 'Ausgabe als "%mm:%ss.%ms":' & @CR & @CR & _TicksToTimeFormat(597543, '%mm:%ss.%ms'))
    MsgBox(0, 'Beispiel 5', 'Ausgabe als "%mm:%ss.%ms":' & @CR & @CR & _TicksToTimeFormat(2, '%mm:%ss.%ms'))

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

    ;===============================================================================
    ; Function Name: _TicksToTimeFormat($iTicks, $sFormat = '%hh:%mm:%ss')
    ; Description:: Diese Funktion wandelt Millisekunden in ein anzugebenes Zeitformat um
    ; Parameter(s): $iTicks = Zeit in Millisekunden
    ; $sFormat:
    ; %ww für Wochen
    ; %dd für Tage
    ; %hh für Stunden
    ; %mm für Minuten
    ; %ss für Sekunden
    ; %ms für Millisekunden
    ; sonstige Zeichen, die dazwischen stehen, werden übernommen
    ; Requirement(s): -
    ; Return Value(s): Zeit im ausgewählten Format (String)
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _TicksToTimeFormat($iTicks, $sFormat = '%hh:%mm:%ss')
    Local $aTime[6], $sOut, $aTimeFormat[6] = ['ww', 'dd', 'hh', 'mm', 'ss', 'ms'], $aFormat
    $aTime[4] = Int($iTicks / 1000)
    $aTime[5] = $iTicks - $aTime[4] * 1000
    $aTime[0] = Int($aTime[4] / 604800)
    $aTime[4] = Mod($aTime[4], 604800)
    $aTime[1] = Int($aTime[4] / 86400)
    $aTime[4] = Mod($aTime[4], 86400)
    $aTime[2] = Int($aTime[4] / 3600)
    $aTime[4] = Mod($aTime[4], 3600)
    $aTime[3] = Int($aTime[4] / 60)
    $aTime[4] = Mod($aTime[4], 60)
    $aFormat = StringRegExp($sFormat, '%([^%]+)', 3)
    If Not IsArray($aFormat) Then Return SetError(1, 0, $iTicks)
    For $i = 0 To UBound($aFormat) - 1
    For $j = 0 To UBound($aTimeFormat) - 1
    If StringLeft($aFormat[$i], 2) = $aTimeFormat[$j] Then $sOut &= StringFormat('%0' & 2 + ($j = 5) & 'i', $aTime[$j]) & StringMid($aFormat[$i], 3)
    Next
    Next
    Return $sOut
    EndFunc ;==>_TicksToTimeFormat

    [/autoit]

    Edit: $aFormat nicht lokal deklariert. Behoben!

    Edit2: Millisekunden wurden nicht dreistellig angezeigt. Behoben!

    Edit3: Tage und Wochen hinzugefügt (siehe Beispiele)

    Nichts weltbewegendes, aber ich finde die Funktion ganz praktisch. :)
    Vielleicht kann sie ja noch jemand gebrauchen...

    Dateien

    _TicksToTimeFormat.au3 2,39 kB – 270 Downloads
  • Treeview FileExplorer

    • Oscar
    • 20. Juli 2010 um 22:28

    Schau mal hier: _GUICtrlTreeView_CreateDirectory

  • ListView - Aktion bei Auswahl bestimmter ListViewItems

    • Oscar
    • 20. Juli 2010 um 22:19

    Das Beispiel funktioniert bei mir einwandfrei. Was hast Du für eine Version von AutoIt?

    Aber abgesehen davon, geht es auch so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Global $werte[5]
    $werte[0] = "a"
    $werte[1] = "b"
    $werte[2] = "c"
    $werte[3] = "d"
    $werte[4] = "e"

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

    $hGui = GUICreate("test", 200, 500)
    $hListView = GUICtrlCreateListView("Werte:", 10, 20, 180, 460)

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

    For $y = 0 To UBound($werte) - 1
    GUICtrlCreateListViewItem($werte[$y], $hListView)
    Next

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

    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_PRIMARYDOWN
    $iSelect = ControlListView($hGui, '', $hListView, 'GetSelected')
    $iText = ControlListView($hGui, '', $hListView, 'GetText', $iSelect, 0)
    ToolTip($iText)
    EndSwitch
    WEnd

    [/autoit]
  • ListView - Aktion bei Auswahl bestimmter ListViewItems

    • Oscar
    • 20. Juli 2010 um 22:04

    So:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $werte[5]
    $werte[0] = "a"
    $werte[1] = "b"
    $werte[2] = "c"
    $werte[3] = "d"
    $werte[4] = "e"

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

    $msg = GUICreate("test", 200, 500)
    $hListView = GUICtrlCreateListView("Werte:", 10, 20, 180, 460)

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

    For $y = 0 To UBound($werte) - 1
    GUICtrlCreateListViewItem($werte[$y], $hListView)
    Next

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo, $iItem, $iValue
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $iItem = DllStructGetData($tInfo, 'SubItem')
    $iValue = _GUICtrlListView_GetItemTextString($hWndListView, $iItem)
    ToolTip('Du hast "' & $iValue & '" angeklickt.')
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Musikplayer

    • Oscar
    • 19. Juli 2010 um 22:59

    Entweder hat _SoundPos den Wert von _SoundLength erreicht oder Du fragst _SoundStatus ab. :)

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 19. Juli 2010 um 21:43

    @progandy: Stimmt! Das könnte sein. Kann man nicht einfach den Icon-Cache vergrößern?

    opaed: Problematisch sind nicht nur USB-Sticks, denke ich. Vermutlich reicht auch ein präpariertes ZIP-/RAR-Archiv mit LNK-File und Trojaner. Sobald der Explorer das Icon der Verknüpfung anzeigen will, schlägt der Trojaner zu. ?(

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 19. Juli 2010 um 21:26

    Das war unterschiedlich. Auf meinem Hauptrechner (Win7, 64 Bit) war das bei einer Verknüpfung zu einem Spiel, dass dort das Icon weiterhin angezeigt wurde.
    Auf meinem Server-Rechner (mittlerweile auch Win7, 64 Bit) wurden die Icons vom AdobeReader, von Firefox und AviraAntivir weiterhin angezeigt. Jeweils alles Verknüpfungen zu den Programmen.

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 19. Juli 2010 um 20:28

    Es ist ja nicht nur die Schnellstartleiste. Die Icons auf dem Dekstop (habe einige in verschiedene Ordner abgelegt) sind zum überwiegenden Teil auch betroffen.
    Wobei ich nicht verstehe, warum nicht alle Icons von Verknüpfungen verschwunden sind!?

    Microsoft soll endlich einen Patch für den IconHandler rausbringen... X(

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 19. Juli 2010 um 19:47

    Oh, Mist! Habe auch schon alles versucht, aber die Icons sind (nach dem Neustart) nicht mehr zu sehen. :(

    Das ist irgendwie sehr unbefriedigend. Wenn ich das richtig verstanden habe, dann verbreitet sich der Virus per USB-Stick bzw. durch Weitergabe eben einer LNK-Datei, oder?
    Mit anderen Worten: Man muss "nur" verhindern, dass eine solche LNK-Datei mit Windows in Berührung kommt?

    Dann werde ich wohl die Änderung an der Reg wieder rückgängig machen. Ohne Icons ist meine Schnellstartleiste ein Witz. ;(

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 19. Juli 2010 um 16:44

    Es gibt jetzt (seit gestern) einen Exploit. ;(
    Exploit demonstriert kritische Windows-LNK-Lücke

    Jetzt ist es "höchste Eisenbahn" für den Workaround. Nehmt die Änderung an der Reg vor (Backup des Keys nicht vergessen)!

  • Exe Decompiler

    • Oscar
    • 19. Juli 2010 um 13:21

    [closed]

  • Kleiner Server-Rechner

    • Oscar
    • 19. Juli 2010 um 07:45

    Ja, die letzte Antwort liegt mehr als 535 Tage zurück. ;)
    Gestern hat es nun das Netzteil meines Servers erwischt. Das will nicht mehr! Elektro-Schrott!
    Meine Empfehlung von oben für dieses Netzteil muss ich wohl revidieren. Eineinhalb Jahre sind nicht gerade eine berauschende Lebensdauer. :(
    Auch wenn das im Dauerbetrieb war. Die meiste Zeit davon lief es nur im Teillastbereich. Voll ausgelastet wurde es nie.
    Ein positiver Aspekt dabei war, dass der Lüfter während der ganzen Zeit nahezu unhörbar (sehr leise) war.

  • Probleme beim aktivieren von Fenstern mittels Handles

    • Oscar
    • 18. Juli 2010 um 20:19

    Wobei man nicht unbedingt FireFox automatisieren müsste. Mit InetGet kann man die Dateien ganz ohne Browser downloaden.
    Wenn die Excel-Tabelle auch noch als Textdatei vorhanden ist, dann bräuchte man auch kein Office, sondern könnte die Daten mittels FileRead auslesen.

  • USB-Trojaner-Lücke in Windows

    • Oscar
    • 18. Juli 2010 um 09:33

    Oh, sh*t! Das ist ja mal wieder ganz übel. :wacko:
    Lest euch das hier mal durch. Den Workaround sollte man wohl dringend ausführen.

  • Arbeitszeit am Computer?

    • Oscar
    • 18. Juli 2010 um 08:32

    Schau Dir mal _Date_Time_GetTickCount() an.

  • Starplayer v3

    • Oscar
    • 18. Juli 2010 um 08:16

    Die Random-Funktion arbeitet etwas anders. Wenn man den Button anklickt, wird die Playlist zufällig neu sortiert und dann von oben nach unten abgespielt. Deshalb braucht man dafür kein anderes Icon.
    Für "Repeat" bzw. "No Repeat" gibt es doch bereits zwei unterschiedliche Icons. Ich weiß jetzt nicht, ob man die zusätzlich auch noch in anderen Farben machen sollte!? :huh:

    Fernbedienung-Unterstützung hört sich ja ganz interessant an. Wobei: Kommt das nicht auf die verwendete Fernbedienung an? Irgendwo habe ich noch eine Funk-Fernbedieung rumliegen....muss die mal suchen...
    Aber dazu muss doch eigentlich nichts am Starplayer verändert werden, oder?

  • SciTE komplett in deutsch (außer Abbrev´s)

    • Oscar
    • 17. Juli 2010 um 21:35

    [Beitrag wiederhergestellt]

  • Starplayer v3

    • Oscar
    • 17. Juli 2010 um 21:14

    - Die Hintergrundfarbe war eigentlich ein helles Orange und sollte zum Stern passen, aber ich habe das jetzt mit Hintergrundbild gemacht. Sieht besser aus. :)
    - Was hast Du für einen kleinen Desktop, dass die Fenster außerhalb geöffnet werden? ^^
    Das möchte ich auch nicht ändern, weil ich eben nicht drei einzelne Fenster haben will. Die sollen schon zusammenhängen.
    - Der Ort für die Inidatei ist jetzt wählbar (AppDataDir <-> ScriptDir).
    - Playlist wird jetzt auch durchnummeriert. Ist aber nicht wählbar, sondern fest.
    - Die aktuell zusammengestellte Playlist kannst Du mit dem "Save"-Button abspeichern. ;)

    Danke für die guten Vorschläge! :thumbup:

    Neue Version gibt's in Post #1.

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™