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

  • Starplayer (MP3-Player)

    • Oscar
    • 8. Mai 2009 um 15:59

    Jam00: hier hast Du ein Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <ProgressConstants.au3>
    #include <GUIConstantsEx.au3>
    Opt('GUIOnEventMode', 1)

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

    $hGui = GUICreate('Test', 130, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, 'Ende')
    GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_SetPos')

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

    $ProgressWidth = 120
    $Left = 5

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

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; auf den klassischen Style umschalten
    $hProgress = GUICtrlCreateProgress($Left, 20, $ProgressWidth, 20, $PBS_SMOOTH)
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    GUICtrlSetColor(-1, 0xEE8822)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; zurück zum Standard-Windowsstyle
    $hLabel = GUICtrlCreateLabel('', 55, 50, 50, 20)
    GUISetState()

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

    While True
    Sleep(50)
    WEnd

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

    Func Ende()
    Exit
    EndFunc ;==>Ende

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

    Func _SetPos()
    Local $aInfo = GUIGetCursorInfo($hGui)
    If $aInfo[4] <> $hProgress Then Return $GUI_RUNDEFMSG
    Local $Percent = Int(100 / $ProgressWidth * ($aInfo[0] - $Left))
    GUICtrlSetData($hProgress, $Percent)
    GUICtrlSetData($hLabel, $Percent & '%')
    EndFunc ;==>_SetPos

    [/autoit]
  • Starplayer (MP3-Player)

    • Oscar
    • 8. Mai 2009 um 04:20

    Raupi : Jo, Fehler erkannt und beseitigt. Neue Version gibt's in Post #1.

  • _PlaySystemSound()

    • Oscar
    • 7. Mai 2009 um 18:18

    Also bei mir ist das definitiv so. Als Consolen-Ausgabe erhalte ich immer eine Leerzeile und eine 1, aber der Sound stimmt jetzt immer!

  • Buttons aus Variablen

    • Oscar
    • 7. Mai 2009 um 18:00

    Das hört sich für mich nach einer "virtuellen" Zehnertastatur an:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('GUIOnEventMode', 1)

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

    GUICreate('Test', 130, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, 'Ende')

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

    Dim $aButtons[10], $x, $y
    For $i = 0 To 9
    $x = 10 + Mod($i, 3) * 40
    If $i = 9 Then $x += 40
    $y = 10 + Int($i / 3) * 40
    $aButtons[$i] = GUICtrlCreateButton(9-$i, $x, $y, 32, 32)
    GUICtrlSetOnEvent(-1, 'ButtonKlick')
    Next

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

    $hInput = GUICtrlCreateInput('', 10, 170, 110, 20)
    GUISetState()

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

    While True
    Sleep(50)
    WEnd

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

    Func Ende()
    Exit
    EndFunc ;==>Ende

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

    Func ButtonKlick()
    Local $iButton = 9 - (@GUI_CtrlId - $aButtons[0])
    GUICtrlSetData($hInput, $iButton, 1)
    EndFunc ;==>ButtonKlick

    [/autoit]
  • _PlaySystemSound()

    • Oscar
    • 7. Mai 2009 um 16:52

    funkey: Geil! So eine Funktion ("_PlayDefaultSystemSound") habe ich gesucht. Funktioniert die auch unter Vista?
    Mir ist allerdings aufgefallen, das manchmal (wenn ich den Sound gewechselt habe) nur ein "Windows XP-Ping.wav" abgespielt wird (über die Lautsprecher, nicht über den Beeper).
    Wenn ich den gleichen Sound dann nochmal abspielen lasse, dann wird der richtige Sound abgespielt. :huh:

  • _PlaySystemSound()

    • Oscar
    • 7. Mai 2009 um 04:14

    Ok, verstanden! In dem Fall macht Dein Script genau das! :thumbup:

    An einer Lösung des anderen "Problems" wäre ich aber trotzdem interessiert, falls da mal jemand etwas finden sollte.

  • _PlaySystemSound()

    • Oscar
    • 6. Mai 2009 um 23:32

    Ich dachte jetzt, die Funktion wäre dazu da, diese Sounds unabhängig vom OS (verschiedene Pfade/verschieden Dateinamen) auszugeben.
    Also ohne Abhängigkeit vom eingestellten Soundschema.

    Quasi als Ersatz für:

    [autoit]

    SoundPlay(@WindowsDir & '\media\Windows XP-Abmeldesound.wav')

    [/autoit]


    Hierbei gibt es ja das Problem, dass die Dateien im englischen Windows anders heißen und dass sie unter Vista woanders liegen?!

  • _PlaySystemSound()

    • Oscar
    • 6. Mai 2009 um 23:18

    Schönes Script!
    Ein Manko gibt es aber: Wenn man als Soundschema "keine Sounds" eingestellt hat, dann kommt nur ein Beep über den System-Beeper (falls vorhanden).

  • Funktionen im OnEventModus Parameter übergeben

    • Oscar
    • 6. Mai 2009 um 13:14

    Nein, so direkt geht das nicht.
    Kannst Du nur indirekt machen. Also OnEvent eine Funktion aufrufen und in dieser Funktion dann die andere Funktion mit Parameter aufrufen.

  • Starplayer (MP3-Player)

    • Oscar
    • 6. Mai 2009 um 12:22

    Micha_he: Danke, aber ich habe im engl. Forum bereits eine kleine Funktion gefunden, mit der man den Wert auslesen kann. Das mache ich jetzt am Anfang und setze den Wert beim Programmende wieder zurück.

    Edit: Neue Version in Post #1! In der habe ich eure Vorschläge/Verbesserungen bereits eingebaut.

  • Starplayer (MP3-Player)

    • Oscar
    • 6. Mai 2009 um 11:00

    Micha_he: Achso, jetzt verstehe ich was Du die ganze Zeit meinst (ich werd' alt ^^ ). Ok, ich könnte den Standardwert für den ersten Start tiefer einstellen.

    funkey: Oh, stimmt, wenn beides zutrifft, versucht der Player auch beides. :pinch:
    Und es wird dann noch eine Option geben: "AutoPlay On Start".

  • textfile nach mehrere leerzeilen durchforsten und bis auf 1 löschen

    • Oscar
    • 6. Mai 2009 um 10:52

    Anderer Ansatz:

    [autoit]


    $sFile = FileRead('test.txt')
    $sFile = StringReplace($sFile, @CRLF&@CRLF, @CRLF)
    $hFile = FileOpen('test2.txt', 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sFile)
    FileClose($hFile)
    EndIf

    [/autoit]
  • Starplayer (MP3-Player)

    • Oscar
    • 6. Mai 2009 um 10:29

    So, die erste "fertige" Version steht zum Download bereit (Post #1).

    Vielen Dank, für eure zahlreichen Verbesserungsvorschläge! :thumbup:

    Falls euch noch was einfällt...

  • Zensur?

    • Oscar
    • 6. Mai 2009 um 10:10

    Da es ja um meinen Edit eines Beitrags geht, möchte ich hier auch mal meinen Senf dazu geben.
    Ich habe den Hinweis auf das Decompiler-Programm gelöscht, weil ich das Forum und deren Inhaber vor Schaden bewahren möchte.
    Gerade weil unsere Gesetze (je nach Gericht) anders ausgelegt werden, sollten wir solche Sachen vermeiden.

    Beschäftigen wir uns lieber mit AutoIt, statt die Auslegung irgendwelcher Gesetze auszutesten.

  • Hilfe bei schleife für loginprogramm v.2

    • Oscar
    • 5. Mai 2009 um 04:40

    Ganz recht!
    LogIn-Scripts, auf Seiten, deren Inhaber das verbieten sind illegal und verstossen gegen unsere Forenregeln!
    [Thread closed]

  • Starplayer (MP3-Player)

    • Oscar
    • 4. Mai 2009 um 14:39

    Beim FileOpen-Dialog habe ich als Filter aber "*.mp3" drin. Demnach dürften nur Dateien mit der Endung: .mp3 auswählbar sein.
    In der Multi-Drap&Drop Version dürften auch nur MP3-Dateien eingefügt werden.
    Wenn Du allerdings MP3-Dateien hast, die nicht abgespielt werden können, kannst Du mal nachsehen, wie diese kodiert (evtl. VBR oder eine besondere Bitrate) sind?
    Am besten wäre natürlich, wenn Du die mal mit _SoundPlay testen könntest. Ich konnte bisher noch nichts finden, was _SoundPlay alles für Formate abspielen bzw. nicht abspielen kann.

    Edit:  Micha_he: Ja, diverse Konfigurationsmöglichkeiten sind eingeplant. Playlist speichern/laden auch. "Ort der INI-Datei"? @ScriptDir gefällt Dir nicht?

    Edit2: Lautstärke wird doch in der INI-Datei gespeichert:

    [autoit]

    IniWrite($sInifile, 'Settings', 'Volume', $iLevel)

    [/autoit]


    und auch wieder geladen:

    [autoit]

    $iVolume = IniRead($sInifile, 'Settings', 'Volume', 80)

    [/autoit]
  • Starplayer (MP3-Player)

    • Oscar
    • 4. Mai 2009 um 04:26

    Oha, so viele Antworten auf einmal... :)

    Sirocool: Tut mir leid, aber das soll kein MediaPlayer-Ersatz werden. Diesen ganzen Visualisierung-Kram finde ich total überflüssig.
    Das ist ja auch der Grund, warum ich meinen eigenen MP3-Player programmiere. Der soll einfach nur MP3s abspielen.

    Greek: Icons gibt's hier: Iconspedia.com

    Raupi : Multi-Drag & Drop übernommen. Klasse! Danach wollte ich noch suchen. Hast Du mir erspart. Danke!
    Der Titel, der gerade gespielt wird, wird doch bereits im Listview angezeigt (Select-Status). Der Rest kommt auf die ToDo-Liste.

    @Deepred: Mal sehen, was ich davon umsetzen werde. Eigentlich soll das "nur" ein kleiner MP3-Player werden.

    Alina: Wenn manche Dateien nicht abgespielt werden, dann liegt das wahrscheinlich am Format. Ich weiß nicht genau, was _SoundPlay alles abspielen kann (vermutlich nur: MP3, WAV, WMA).

    Jam00: Hover-Effekt, ok könnte ich hinzufügen. Doppelklick für's Listview steht schon auf der ToDo-List.

    autoBert: Es werden nur Dateien mit der Endung ".mp3" (auch per Drag & Drop) ins Listview aufgenommen. Diese sollten aber funktionieren. Wenn nicht, bitte melden!

  • Starplayer (MP3-Player)

    • Oscar
    • 3. Mai 2009 um 20:41

    Was soll das für ein Link sein?
    Das Script hat doch nichts mit meinem zu tun.

  • Starplayer (MP3-Player)

    • Oscar
    • 3. Mai 2009 um 20:26

    Mein neuestes Werk: Ein MP3-Player.
    Version 1.6 ( 10.05.09 ) ist fertig!

    Eigenschaften:
    - Wenn der Player als Standard-MP3-Player registriert ist, kann man ein MP3 per Doppelklick starten.
    - MP3s können per Auswahldialog oder per Drag&Drop der Playliste hinzugefügt werden.
    - Man kann ganze Ordner (inkl. Unterordner) per Drag&Drop der Playliste hinzufügen.
    - Die Playliste kann gespeichert/geladen werden.
    - Man kann den Player mit der zuletzt benutzten Playliste starten lassen.
    - Fenster kann immer im Vordergrund gesetzt werden.
    - Wahlweise kann der Player normal oder in den Tray (Doppelklick auf's Tray-Icon stellt das Fenster wieder her) minimiert werden.
    - Springen innerhalb des Titels geht mit einem Linksklick auf die Fortschrittsanzeige.
    - Lautstärkeregler vorhanden (Stellung wird abgespeichert)
    - Ein Doppelklick auf einen Titel in der Playliste startet diesen.
    - Im Kontextmenü zu einen Titel in der Playliste kann man ein Zusatzfenster mit Datei-Informationen aufrufen.
    - Letzte Playliste/übergebenes MP3-File startet direkt beim Playerstart (ja/nein auswählbar)
    - Die vor dem Programmstart eingestellte Lautstärke wird beim Programmende wiederhergestellt.
    - Für den Eintrag in der Playliste werden nach Möglichkeit die ID3-Tags benutzt. Falls keine vorhanden, wird der Dateiname (ohne Endung) verwendet.
    - Die Playliste kann nach Zufall sortiert werden (Random-Play)
    - Man kann die Einträge mit gedrückter, linker Maustaste innerhalb des Listview verschieben.
    - Playliste kann neu erstellt werden (alle Einträge löschen)

    ToDo-List:

    Screenshots:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Problem mit Vista oder mit ListView allgemein ?

    • Oscar
    • 3. Mai 2009 um 19:28

    So sieht's besser aus:

    Spoiler anzeigen
    [autoit]


    #include <GuiImageList.au3>
    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    Global Const $WS_EX_COMPOSITED = 0x2000000
    ;~ Const $WM_ENTERSIZEMOVE = 0x231
    ;~ Const $WM_EXITSIZEMOVE = 0x232
    Global $Style,$hGui
    Opt('MustDeclareVars', 1)

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

    ;~ GUIRegisterMsg($WM_ENTERSIZEMOVE,"startmove")
    ;~ GUIRegisterMsg($WM_EXITSIZEMOVE,"endmove")

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hImage, $hListView

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

    ; Create GUI
    $hGUI = GUICreate("ListView Add Item", 400, 300,-1,-1,BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX,$WS_CAPTION, $WS_POPUP, $WS_SIZEBOX, $WS_EX_COMPOSITED))
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268, Default, $LVS_EX_DOUBLEBUFFER) ; <- $LVS_EX_DOUBLEBUFFER
    _GUICtrlListView_SetUnicodeFormat($hListView, False)
    GUISetState()

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

    ; Load images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Add columns
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

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

    ;~ Func startmove()
    ;~ ConsoleWrite("Enter sm" & @CRLF)
    ;~ $style = GUIGetStyle($hGUI)
    ;~ GUISetStyle($style[0],BitOr($style[1],$WS_EX_COMPOSITED),$hGui)
    ;~ EndFunc
    ;~ Func endmove()
    ;~ ConsoleWrite("exit sm" & @CRLF)
    ;~ GUISetStyle($style[0],$style[1],$hGUI)
    ;~ EndFunc

    [/autoit]

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™