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

Beiträge von Micha_he

  • _SoundPlay

    • Micha_he
    • 6. Mai 2009 um 19:40

    Es gibt wahrscheinlich etliche Varianten. Diese habe ich mal zu Anfangszeiten meiner AutoIt-Karriere geschrieben:

    Spoiler anzeigen
    [autoit]

    ;#include <Array.au3>
    ; Folgende Funktionen zum Auslesen der ID3Tag's
    ; werden bereitgestellt :
    ; Zurückgegeben wird ein Array mit 8 Feldern
    ; Das erste Feld (0) enthält "true" wenn mindestens
    ; ein Titel & Interpret gefunden wurde.
    ; _GetID3Tag_V1
    ; _GetID3Tag_V2
    ;
    ; Feldnummer: Inhalt:
    ; 0 True/False
    ; 1 Interpret
    ; 2 Titel
    ; 3 Album
    ; 4 Tracknummer
    ; 5 Year
    ; 6 Genre
    ; 7 Kommentar

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

    #include-once

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

    Func _GetID3Tag_V2($dateiname)
    dim $feld [8]
    $feld[0] = False

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

    if fileexists($dateiname) then
    if FileGetSize($dateiname) > 0 then
    $handle=fileopen($dateiname,0)
    $inhalt=fileread($handle)
    FileClose($handle)
    ; finde ID3-Header
    $header_pos=StringInStr($inhalt,"ID3")
    if $header_pos <> 0 then
    ; ID3Tag-Länge bestimmen und einlesen
    $taglaenge = Asc(Stringmid($inhalt,$header_pos + 6,1))*2097152 + Asc(Stringmid($inhalt,$header_pos + 7,1))*16384 + Asc(Stringmid($inhalt,$header_pos + 8,1))*128 + Asc(Stringmid($inhalt,$header_pos + 9,1)) +10
    $inhalt = StringMid($inhalt,$header_pos,$taglaenge)
    ; Unterversion ermitteln
    $version = Stringmid($inhalt,4,2)
    $version = asc(stringleft($version, 1)) & "." & asc(stringright($version,1))
    ; ID3Tag-Header entfernen
    $inhalt = StringMid($inhalt,11)
    ; wenn Version 2.3.x bis 2.4.x
    if $version >= 3.0 and $version < 5.0 then
    While StringLen($inhalt) >= 4 and StringLeft($inhalt,3) <> "3DI"
    $framelaenge = 256 * 8 * 8 * Asc(StringMid($inhalt,5,1)) + 256 * 8 * Asc(StringMid($inhalt,6,1)) + 256 * Asc(StringMid($inhalt,7,1)) + Asc(StringMid($inhalt,8,1))
    Select
    Case StringLeft($inhalt,4) = "TPE1"
    $feld[1] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,4) = "TIT2"
    $feld[2] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,4) = "TALB"
    $feld[3] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,4) = "TRCK"
    $feld[4] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,4) = "TYER"
    $feld[5] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,4) = "TCON"
    $feld[6] = StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    $feld[6] = StringMid($feld[6],StringInStr($feld[6],")")+1)
    Case StringLeft($inhalt,4) = "COMM"
    $feld[7] = $feld[7] & StringReplace(StringReplace(StringMid($inhalt,11,$framelaenge),chr(0),""),chr(1),"")
    EndSelect
    $inhalt = StringMid($inhalt,11 + $framelaenge)
    Wend
    else
    ; wenn Version 2.2.0 bis 2.2.x
    if $version >=2.0 and $version < 3.0 then
    While StringLen($inhalt) >= 3 and StringLeft($inhalt,3) <> "3DI"
    $framelaenge = 256 * 8 * Asc(StringMid($inhalt,4,1)) + 256 * Asc(StringMid($inhalt,5,1)) + Asc(StringMid($inhalt,6,1))
    Select
    Case StringLeft($inhalt,3) = "TP1"
    $feld[1] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "TT2"
    $feld[2] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "TAL"
    $feld[3] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "TRK"
    $feld[4] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "TYE"
    $feld[5] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "TCO"
    $feld[6] = StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    Case StringLeft($inhalt,3) = "COM"
    $feld[7] = $feld[7] & StringReplace(StringReplace(StringMid($inhalt,7,$framelaenge),chr(0),""),chr(1),"")
    EndSelect
    $inhalt = StringMid($inhalt,7 + $framelaenge)
    Wend
    endif
    endif
    if $feld[1] <> "" and $feld[2] <> "" then $feld[0] = true
    endif
    endif
    endif
    Return $feld
    EndFunc ;_GetID3Tag_V2

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

    Func _GetID3Tag_V1($dateiname)
    dim $feld [8]
    dim $genre [148] = ["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip- Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise","Alternative Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta","Top 40","Christian Rap","Pop/Funk","Jungle","Native US","Cabaret","New Wave","Psychadelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk-Rock","National Folk","Swing","Fast Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhytmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","Acapella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta","Heavy Metal","Black Metal","Crossover","Contemporary C","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","SynthPop"]
    $feld[0] = false
    if fileexists($dateiname) then
    if FileGetSize($dateiname) > 0 then
    $handle=fileopen($dateiname,0)
    $inhalt=fileread($handle)
    FileClose($handle)
    $laenge = stringlen($inhalt)
    $inhalt = StringRight($inhalt,128)
    If StringLeft($inhalt,3) = "TAG" then
    $feld[2] = StringStripWS(StringMid($inhalt,4,30),3)
    $feld[1] = StringStripWS(StringMid($inhalt,34,30),3)
    $feld[3] = StringStripWS(StringMid($inhalt,64,30),3)
    $feld[4] = asc(StringMid($inhalt,126,1)) * 10 + asc(StringMid($inhalt,127,1))
    $feld[5] = StringStripWS(StringMid($inhalt,94,4),3)
    $feld[6] = $genre[asc(StringMid($inhalt,128,1))]
    $feld[7] = StringStripWS(StringMid($inhalt,98,28),3)
    endif
    if $feld[1] <> "" and $feld[2] <> "" then $feld[0] = true
    endif
    endif
    Return $feld
    EndFunc ;_GetID3Tag_V1

    [/autoit]

    Edit: weitere Möglichkeit - suche mal nach "_GetExtProperty()"

  • beep funktion frage

    • Micha_he
    • 6. Mai 2009 um 19:06

    Es gibt in diesem Zusammenhang aber auch Ausnahmen:

    Einige Mainbaords mit OnBoard-Sound-Ausgabe, können die Systemklänge des "Speakers" auf den Soundausgang geben, so das die normalen Lautsprecher der Soundkarte, auch die "Beep()" wiedergeben. Also System-Lautsprecher ohne System-Lautsprecher !!! (Muss dann aber auch im BIOS oder per Jumper onBoard aktiviert werden)

  • _PlaySystemSound()

    • Micha_he
    • 6. Mai 2009 um 18:02

    Ein wenig Internet-Recherche und (wie es auch in der Funktion als Info mit besteht) etwas Nachlesen in der Windows-Registry.
    Dort stehen viele sauber aufgelistet. Und interessant sind ja auch nur die, die auf fast allen Windows-Version existieren. Sonst funktioniert der Sound ja nicht überall.

  • Image einbinden

    • Micha_he
    • 6. Mai 2009 um 17:26
    Zitat von oliverh

    Auszug aus der AutoIT Hilfe

    Ein Link hätte es auch getan, oder ?

  • _MsgBox

    • Micha_he
    • 6. Mai 2009 um 17:19
    Zitat von Commander21

    Unter Systemsounds definiere ich die Sounds, die z.B. beim Windowsstart oder eben bei MsgBoxen kommen.

    Bei mir liegen diese Sounds in: C:/WINDOWS/Media.

    Ich weis nicht, ob diese Sounds bei Vista auch dort liegen und ob sie genauso heisen, wie bei XP.
    Wenn dass natürlich der Fall wäre, wäre es ja super ^^

    Wenn Du den Sound Deiner _MsgBox() mit '_PlaySystemSound("Default",TRUE)' erzeugst, müsste es egal sein, welches Betriebssystem und welchen Ton der User gewählt hat. Es wird immer der passende gespielt. Unter Vista und ggf. 2000 sollte das nochmal jemand prüfen !

    Hier nochmal der aktuelle Link zur _PlaySystemSound() (inkl. ASYNC-Flag): _PlaySystemSound()

  • _PlaySystemSound()

    • Micha_he
    • 6. Mai 2009 um 17:05
    _PlaySystemSound()
    [autoit]

    _PlaySystemSound("Default",True)

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

    Sleep(5000) ; wartet auf das Ende des Asyncron laufenden Sounds
    ; (Sound wird sonst beim Beenden vom Script automatisch abgebrochen !)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _PlaySystemSound()
    ; Description ...: Spielt einen Systemklang, welcher in der Registry oder der Win.ini definiert ist.
    ; Syntax.........: _PlaySystemSound($sSoundName[, $bAsync])
    ; Parameters ....: $sSoundName - Name des SystemSound's
    ; | SystemAsterisk - Stern / Asterisk
    ; | Default - Standardton Warnsignal / Default Beep
    ; | EmptyRecycleBin - Löschen des Papierkorbs / when recycle bin is emptied
    ; | SystemExclamation - Hinweis / when windows shows a warning
    ; | SystemExit - Windows beenden / when Windows shuts down
    ; | Maximize - Maximieren / when a program is maximized
    ; | MenuCommand - Menübefehl / when a menu item is clicked on
    ; | MenuPopup - Menü-Popup / when a (sub)menu pops up
    ; | Minimize - Minimieren / when a program is minimized to taskbar
    ; | MailBeep - Posteingangsbenachrichtigung / when email is received
    ; | Open - Programm öffnen / when a program is opened
    ; | SystemHand - Kritischer Abbruch / when a critical stop occurs
    ; | AppGPFault - Programmfehler / when a program causes an error
    ; | SystemQuestion - Frage / when a system question occurs
    ; | RestoreDown - Verkleinern / when a program is minimized to taskbar
    ; | RestoreUp - Vergrößern / when a program is restored to normal size from taskbar
    ; | SystemStart - Windows starten / when Windows starts up
    ; | Close - Programm schließen / when program is closed
    ; | Ringout - Freizeichen / when (fax) call is made outbound and the line is ringing
    ; | RingIn - Eingehender Anruf / incoming (fax) call
    ; | DeiviceConnect - Geräteanschluß / when a device is connect
    ; | DeviceDisconnect - Gerätetrennung / when a device is disconnect
    ; | DeviceFail - Geräteanschluß fehlgeschlagen / when a deviceconnect is fail
    ; | CriticalBatteryAlarm - Alarm bei kritischem Batteriestand / when battery is critical
    ; | LowBatteryAlarm - Alarm bei niedrigem Batteriestand / when battery is low
    ; | MailBeep - Posteingangsbenachrichtigung / when a mail is arrived
    ; | PrintComplete - Druckvorgang abgeschlossen / when a printjob is completed
    ; $bAsync - Abspielen erfolgt Syncron
    ; Return values .: -----
    ; Author ........: micha_he (AutoIt.de)
    ; Informations...: weitere System-Event-Namen können Sie unter folgendem Registryzweigen finden bzw. hinzufügen:
    ; - HKEY_USERS\.DEFAULT\AppEvents\EventLabels\
    ; - HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default
    ; ===============================================================================================================================
    Func _PlaySystemSound($sSoundName, $bAsync = FALSE)
    Local Const $SND_ALIAS = 0x10000
    Local Const $SND_ASYNC = 0x1
    Local $flags
    $flags = $SND_ALIAS
    If $bAsync Then $flags = BitOr($flags, $SND_ASYNC)
    DllCall('winmm.dll', 'int', 'PlaySoundA', 'str', $sSoundName, 'int', 0, 'int', $flags)
    EndFunc ; ==> _PlaySystemSound()

    [/autoit]
  • Endless Screen 2.0

    • Micha_he
    • 6. Mai 2009 um 16:11
    Zitat von achim89

    grafik mit in die exe kopieren, mit ner systemvariable einfach in den temp lagern und von dort aus aufrufen

    und bei Programmende in @TempDir auch wieder löschen ! Temp <> "Mülleimer" :D

    Es ist eine Unsitte dort alles liegen zu lassen. Gerade bei Servergespeicherten Profilen im Firmennetz, kann dies schnell zu längeren Wartezeiten führen.

  • Starplayer (MP3-Player)

    • Micha_he
    • 6. Mai 2009 um 15:50

    Geil, so meinte ich es. Ist die optimalste Lösung :thumbup:

    Edit: Eine Idee hätte ich noch - Die Funktion den ID3-Tag zu lesen ist ja schon drin. Nun könnte man unter den Optionen noch einen Punkt hinzufügen, statt dem Dateinamen (Standard) den ID3-Interprenten und ID3-Titel im ListView anzuzeigen. Nur wenn beiden (oder eine von beiden) Informationen nicht vorhanden sind, als Ausweichlösung den Dateinamen.

    Edit2: Neuer Vorschlag - Drag'nDrop eines Ordners geht zur Zeit noch nicht.

  • Starplayer (MP3-Player)

    • Micha_he
    • 6. Mai 2009 um 11:19
    Zitat von Oscar

    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.

    Bei meinem Mixer ist die Lautstärke von Wave, LineIn und CD genau aufeinander abgestimmt. Die effektive Lautstärke wird über die Master-Lautstärke bzw. den Einsteller am Boxensystem getätigt. Und nun kommt Dein Player und verstellt mir grundsätzlich die WAVE-Lautstärke (und stellt sie auch nicht wieder zurück) !

    Wenn ich nachher etwas Zeit finde, ändere ich Deinen Player mal dahingehen ab unhd poste ich dann hier.

  • Starplayer (MP3-Player)

    • Micha_he
    • 6. Mai 2009 um 10:49

    Das erste was mir aber wieder auffiel: Meine Ohren sind mir wieder abgefallen 8o

    Beim ersten Start stellt der Player wieder die Lautstärke auf 80 hoch und das ist LAUT bei meiner Anlage (Standard ca. 45).

  • _MsgBox

    • Micha_he
    • 5. Mai 2009 um 21:23

    Das hängt natürlich davon ab, was Du unter "Systemsteuerung\Sound und Audiogeräte\Sounds" definiert hast!

    Ich habe gerade noch probiert, die Funktion auf Asyncron umzustellen, damit das Script nicht jedesmal an der Funktion bis zum Ende des Sounds stehen bleibt. Nur funktioniert das ASYNC-Flag nicht. Wenn jemand noch eine Idee hat, warum nicht: Immer zu !

    Spoiler anzeigen
    [autoit]

    _PlaySystemSound("SystemStart", TRUE)

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

    Func _PlaySystemSound($sSoundName, $bAsync = FALSE)
    ; Play a System-Definied-Sound
    ; [email='micha_he@AutoIt.de'][/email]
    ; SystemAsterisk - Asterisk
    ; Default - Default Beep
    ; EmptyRecycleBin - when recycle bin is emptied
    ; SystemExclamation - when windows shows a warning
    ; SystemExit - when Windows shuts down
    ; Maximize - when a program is maximized
    ; MenuCommand - when a menu item is clicked on
    ; MenuPopup - when a (sub)menu pops up
    ; Minimize - when a program is minimized to taskbar
    ; MailBeep - when email is received
    ; Open - when a program is opened
    ; SystemHand - when a critical stop occurs
    ; AppGPFault - when a program causes an error
    ; SystemQuestion - when a system question occurs
    ; RestoreDown - when a program is restored to normal size
    ; RestoreUp - when a program is restored to normal size from taskbar
    ; SystemStart - when Windows starts up
    ; Close - when program is closed
    ; Ringout - when (fax) call is made outbound and the line is ringing
    ; RingIn - incoming (fax) call

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

    Local Const $SND_ALIAS = 0x10000
    Local Const $SND_ALIAS_ID = 0x110000
    Local Const $SND_APPLICATION = 0x80
    Local Const $SND_ASYNC = 0x1
    Local Const $SND_FILENAME = 0x20000
    Local Const $SND_LOOP = 0x8
    Local Const $SND_MEMORY = 0x4
    Local Const $SND_NODEFAULT = 0x2
    Local Const $SND_NOSTOP = 0x10
    Local Const $SND_NOWAIT = 0x2000
    Local Const $SND_PURGE = 0x40
    Local Const $SND_RESOURCE = 0x40004
    Local Const $SND_SYNC = 0x0
    Local $flags
    $flags = $SND_ALIAS
    If $bAsync Then $flags = BitOr($flags, $SND_ASYNC)
    DllCall('winmm.dll', 'int', 'PlaySoundA', 'str', $sSoundName, 'int', 0, 'int', $flags)
    EndFunc ; ==> _PlaySystemSound()

    [/autoit]
  • _MsgBox

    • Micha_he
    • 5. Mai 2009 um 19:39
    Zitat von Commander21

    Klar, bei XP weis ichs ja, für XP die sind ja auch in der UDF. Aber für Vista und vllt. noch 2000 wärs gut zu wissen.

    Und die Namen der Einzelnen sounds brauch ich auch. ^^

    Idee:

    Spoiler anzeigen
    [autoit]

    _PlaySystemSound("SystemStart")

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

    Func _PlaySystemSound($sSoundName)
    ; Play a System-Definied-Sound
    ;
    ; SystemAsterisk - Asterisk
    ; Default - Default Beep
    ; EmptyRecycleBin - when recycle bin is emptied
    ; SystemExclamation - when windows shows a warning
    ; SystemExit - when Windows shuts down
    ; Maximize - when a program is maximized
    ; MenuCommand - when a menu item is clicked on
    ; MenuPopup - when a (sub)menu pops up
    ; Minimize - when a program is minimized to taskbar
    ; MailBeep - when email is received
    ; Open - when a program is opened
    ; SystemHand - when a critical stop occurs
    ; AppGPFault - when a program causes an error
    ; SystemQuestion - when a system question occurs
    ; RestoreDown - when a program is restored to normal size
    ; RestoreUp - when a program is restored to normal size from taskbar
    ; SystemStart - when Windows starts up
    ; Close - when program is closed
    ; Ringout - when (fax) call is made outbound and the line is ringing
    ; RingIn - incoming (fax) call

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

    Local Const $SND_ALIAS = 0x10000
    DllCall('winmm.dll', 'int', 'PlaySoundA', 'str', $sSoundName, 'int', 0, 'int', $SND_ALIAS)
    EndFunc ; ==> _PlaySystemSound()

    [/autoit]

    Ich werde die Funktion später noch erweitern, muss erstmal was essen ;)

  • RunAs & msi

    • Micha_he
    • 5. Mai 2009 um 12:38
    Zitat von sc4ry

    deine Variante geht leider nicht.

    Was ist denn "geht leider nicht" für ein Fehler ?

    So ?

    [autoit]

    $sUserName = "Administrator"
    $sPassword = "***"
    RunAs($sUserName, @ComputerName, $sPassword, 0, 'msiexec /i "' & FileOpenDialog("Run as Admin", "", "All (*.*)") & '"', @SystemDir)

    [/autoit]
  • input eingabe an send anweisung schicken

    • Micha_he
    • 5. Mai 2009 um 12:07

    Die Tag's "SPOILER" und "AutoIT" im Editor dieses Forums, können die Lesbarkeit der Scripte deutlich erhöhen !

    Tschau nur so sieht es doch besser aus, oder:

    Spoiler anzeigen
    [autoit]

    Send("ping{space}" & _GUICtrlIpAddress_Get($IPAddress1) & "{ENTER}")

    [/autoit]

    Und wenn man obige Zeile zum Auslesen nimmt, funktioniert es auch. Wenn Du spezielle Funktionen wie in diesem Fall "_GUICtrlIpAddress_Create()" benutzt, lies doch in der Hilfe auch gleich nach, wie man an der Wert des Controls kommt. Dort hab ich es nämlich auch her...

  • Text eines mit rechter Maustaste angeklicktem TreeItem herausfinden

    • Micha_he
    • 5. Mai 2009 um 11:47

    Ich kann zwar Dein Script nicht testen (fehlende Includes), aber muss die For-Schleife nicht durch dir Menue-Items "$contextMenueItem1[]" laufen ?

    Also so:

    Spoiler anzeigen
    [autoit]

    Func _createNewVersionFromLast()
    ; ##################################
    ; Die entsprechende Funktion
    ; ##################################
    For $i=0 To Ubound($contextMenueItem1)-1
    If $contextMenueItem1[$i]=@GUI_CTRLID Then
    MsgBox(0, "", _GUICtrlTreeView_GetText($hTreeView, $treeItem[$i]))
    ExitLoop
    EndIf
    Next
    EndFunc

    [/autoit]
  • Text eines mit rechter Maustaste angeklicktem TreeItem herausfinden

    • Micha_he
    • 5. Mai 2009 um 11:02

    Du sagtest, du kannst nicht für jedes Control eine eigene Funktion nutzen !

    Jam00's Idee erweitert:

    Spoiler anzeigen
    [autoit]

    Opt("GUIOnEventMode", 1)
    #include <GuiTreeView.au3>
    Global $Text[3][2]
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Tree View Text", 216, 364, 193, 125)
    GUISetOnEvent("-3", "Ende")
    $TreeView1 = GUICtrlCreateTreeView(2, 2, 209, 357)
    $Text[0][1] = GUICtrlCreateTreeViewItem("Test", $TreeView1)
    $Con = GUICtrlCreateContextMenu($Text[0][1])
    $Text[0][0] = GUICtrlCreateMenuItem("Text", $Con)
    GUICtrlSetOnEvent(-1, "A")
    $Text[1][1] = GUICtrlCreateTreeViewItem("Test2", $TreeView1)
    $Con = GUICtrlCreateContextMenu($Text[1][1])
    $Text[1][0] = GUICtrlCreateMenuItem("Text", $Con)
    GUICtrlSetOnEvent(-1, "A")
    $Text[2][1] = GUICtrlCreateTreeViewItem("Test3", $TreeView1)
    $Con = GUICtrlCreateContextMenu($Text[2][1])
    $Text[2][0] = GUICtrlCreateMenuItem("Text", $Con)
    GUICtrlSetOnEvent(-1, "A")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100)
    WEnd

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

    Func A()
    For $i = 0 To Ubound($Text)-1
    If $Text[$i][0] = @GUI_CTRLID Then
    MsgBox(0, "", _GUICtrlTreeView_GetText($TreeView1, $Text[$i][1]))
    ExitLoop
    EndIf
    Next
    EndFunc

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

    Func ende()
    Exit
    EndFunc

    [/autoit]
  • Teile aus einer .txt Datei löschen

    • Micha_he
    • 4. Mai 2009 um 16:26
    [autoit]

    ; ggf. $text = FileRead("dateiname.txt")
    $text = "adii_- [Online] 15 W PM an adii_- PM-Menü Markt Indersdorf" & @CRLF & _
    "Adio_ [Nicht am PC / abwesend] -- M PM an Adio_ Profil von: Adio_ Paunzhausen" & @CRLF & _
    "aDore-yOu [Nicht am PC / abwesend] -- -- PM an aDore-yOu Erweitertes Profil Odelzhausen" & @CRLF & _
    "Adäää [Online] 22 M PM an Adäää PM schreiben Rohrbach" & @CRLF & _
    "aerztin90 [Online] 18 W PM an aerztin90 PM-Menü Schrobenhausen" & @CRLF & _
    "affairs_ [Online] -- W PM an affairs_ Profil von: affairs_ Dachau"

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

    $text = StringRegExpReplace($text," \[.*","")
    Msgbox(0,"",$text)

    [/autoit]

    Wobei mir noch nicht klar ist, was alles zum "Usernamen" gehört ?(

  • Teile aus einer .txt Datei löschen

    • Micha_he
    • 4. Mai 2009 um 16:06

    Wenn das von 'nuts' Gesagte nicht zutrifft, solltest Du am besten einmal 10-20 unterschiedliche Beispielzeilen liefern. Dann kann man Dir bestimmt ein günstige Möglichkeit zeigen.

  • Starplayer (MP3-Player)

    • Micha_he
    • 4. Mai 2009 um 15:16
    Zitat von Oscar

    Edit:  Micha_he: Ja, diverse Konfigurationsmöglichkeiten sind eingeplant. Playlist speichern/laden auch.

    Ich meinte mehr, wenn der Player gestartet wird, hat er automatisch die letzte Zusammenstellung. Sonst muss man sich ständig nach Schließen des Players, die alte Zusammenstellung wieder per "Playlist laden" nachladen.

    Zitat von Oscar

    "Ort der INI-Datei"? @ScriptDir gefällt Dir nicht?

    Ich arbeite oft ohne Adminrechte ! Und wenn der Player dann z.B. unter "%systemdrive%\Programme" liegt, kann dort ein User nicht schreiben.

    Ich nutze für die INI-Festlegung immer folgenden Code:

    [autoit]

    ; Ini-Datei definieren
    $IniName="Test.ini"
    If FileExists(@userprofiledir & "\" & $IniName) Then
    $IniFile = @userprofiledir & "\" & $IniName
    Else
    $IniFile = @scriptdir & "\" & $IniName
    If IniWrite($iniFile,"dummy","dummy","0") = 0 Then
    $IniFile = @userprofiledir & "\" & $IniName
    If FileExists(@scriptdir & "\" & $IniName) Then
    FileCopy(@scriptdir & "\" & $IniName,@userprofiledir & "\" & $IniName)
    FileSetAttrib(@userprofiledir & "\" & $IniName,"-RSH")
    EndIf
    Else
    IniDelete($iniFile,"dummy")
    EndIf
    EndIf

    [/autoit]

    Edit: Falls Du die WAVE-Lautstärke speichern willst, so wäre es möglich:

    [autoit]

    #include <audio.au3>

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

    msgbox(0,"","WAVE Lautstärke ist : " & _GetMixerVolume($MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT))

    [/autoit]

    Hier noch die "audio.au3": Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Starplayer (MP3-Player)

    • Micha_he
    • 4. Mai 2009 um 14:35

    Schön wäre es, wenn man im späteren Kontextmenü einige Konfigurationen ändern könnte:

    "Immer im Vordergrund EIN/AUS" wäre nicht schlecht. Der Player drängelt sich doch etwas in den Vordergrund.
    "Ort der INI-Datei"
    "Letzte Playlist beibehalten"

    Edit: Und noch ein Manko. Der Player behält die "WAVE"-Lautstärke nicht bei, sondern stellt sie immer auf 80%. Ist nicht so schön.

    Edit2: Ich hab gerade gesehen warum. Ist die INI-Leer nimmt er Standard 80. Dieser Wert wird bei Veränderung in die INI geschrieben und damit beim nächsten mal wieder gestartet. Besser wäre, Lautstärke gar nicht aus den INI stellen, sondern aktuelle beibehalten oder beim Start die aktuelle Zwischenspeichern und am Ende wieder auf den alten Wert zurückstellen.

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™