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

Beiträge von nuts

  • Suche Heimkinosystem 5.1

    • nuts
    • 26. August 2011 um 15:33

    Hm ok den 3D Sound kannte ich noch nicht.
    Eigentlich sind das aber nur "Marketing-Sprüche" (beim Samsung Produkt) für diverse DSP's.
    Der Nutzen von diesen Klangprogrammen ist eher fraglich und ein gern diskutiertes Thema bei den Heimkinofans - mir persönlich gefällt das nicht.

    350€ halte ich für zu wenig für vernünftigen 5.1 Sound.
    Ab ~1000€ gibt es ein Teufel Theater 80/100/200 oder das Jamo 606 5.0 Set. Und dazu noch ein Einstiegs AV-Receiver (z.B. Onyko 609, Denon 1912, Yamaha RX-V667).

  • Suche Heimkinosystem 5.1

    • nuts
    • 26. August 2011 um 14:47

    - WLAN: Wozu braucht die Soundanlage WLAN? Für online Quellen, Musik auf dem PC?
    - 3D Sound: Sowas gibts nicht, meinst du HD Sound?


    Willst du möglist unkompliziert und günstig ein 5.1 Set haben oder lieber langfristig was hochwertiges?
    350€ sind für 5.1 eigentlich zu wenig und wenn 5.1 kein muss ist würde ich mit 2 vernünftigen Frontlautsprechern anfangen.

  • Fernseher an die Wand oder nicht ?!

    • nuts
    • 10. August 2011 um 22:48

    Meiner Meinung nach gehört so ein großer Flachmann an die Wand.
    Man sollte unbedingt darauf achten, dass der TV auch wirklich "im Wasser" hängt.
    Durch die langen Kanten fallen gerinste Abweichungen ziemlich auf (geht zumindest mir so)

    Die kleine Wasserwaage in manchen Wandhalterungen ist da nach meiner Erfahrung zu ungenau.

  • ListView Frage

    • nuts
    • 3. August 2011 um 19:56

    Schau hier mal rein: ListView - SubItem einzeln färben/formatieren, Finale Version!

  • Geschwindigkeitsvergleich C, Basic, Pascal Unerwartetes Ergebnis?!

    • nuts
    • 9. Juli 2011 um 13:26

    OpenCL ist doch vergleichbar mit dem was Assembler Code zusammen mit der CPU macht.
    Von daher hinkt der Vergleich imho etwas.
    Grafiklastige Anwendungen profitieren deutlich sobald man Teile auf die GPU auslagern kann.

  • Benzinpreise

    • nuts
    • 30. Juni 2011 um 20:06

    Der Ölpreis wird nicht frei am Markt ermittelt (schön wärs) sondern durch verschiedene "Bündnisse" (z.B. die Opec) "gesteuert".

    In Deutschland kommt erschwerend hinzu, dass auf Preisanpassungen des Rohöls ein riesiger Steuerhebel wirkt.

    so ca. sieht das aus:
    Preis1
    + Mineralölsteuer
    = Preis2
    + Ökosteuer
    =Preis3
    +Umsatzsteuer
    =Endverbraucherpreis.

  • An die Mathe Profis: Schnitt zweier Flächen?

    • nuts
    • 29. Juni 2011 um 11:14

    Mit einem Kreismikro nimmst du den Mittelpunkt zwischen Mikro1 und Mikro 2 und konstruierst eine Ebene drumrum.


    Beispiel:

    M1=(0|1|0)
    M2=(0|-1|0)

    => S(0|0|0)

    Die Ebenengleichung der Schallquellen:
    Y=(0|0|0) + r* (1|0|0) + s* (0|0|1)

    Die Bewegungsvektoren der Ebene liegen senkrecht zum Vektor M1M2 (Normalenvektor).


    Bei der Nierenform ist das ungleich komplizierter.
    Ist deine Lösung ist für den Schallpegel überhaupt zielführend?
    Muss man nicht den ersten Schnittpunkt der Flächen nehmen und darum eine Gerade konstruieren?

  • An die Mathe Profis: Schnitt zweier Flächen?

    • nuts
    • 28. Juni 2011 um 23:53
    Zitat von eukalyptus


    z.B: Nierenform: von vorne kommen 100% ins Mikro, von hinten 0%


    Nun will ich berechnen, wo bei 2 oder mehr aufgestellten Mikros die Trennlinie verläuft, also wo beide Mikros denselben Schallpegel empfangen


    Mal eine Freifeldmessung angenommen ist der Schallpegel doch auch abhängig von der Position der Schallquelle.
    Bei der angenommen Nierenform (gleich ausgerichtet) bzw. beim Kugelmikro wäre ein möglicher Punkt für die Schallquelle genau der Mittelpunkt zwischen Mikro1 und Mikro2.
    Alle weiteren Punkte liegen auf einer Geraden, die genau im rechten Winkel zur Geraden durch Mikro1 und Mirko2 verläuft.

    Würde sich auch in Vektoren ausdrücken lassen. Per autoit kann ich dir das aber mangels Können nicht skripten.

  • GDIPlusVideo - Videos in einer GUI abspielen.

    • nuts
    • 24. Juni 2011 um 12:26

    Ganz lustige Idee.
    Kannst du den Speicherbedarf nicht durch einen (Ring-)Buffer beschränken?
    So funktioniert das zumindest bei der "echten" Wiedergabe von Mediadateien.

  • Listview Anzeige

    • nuts
    • 20. Juni 2011 um 16:14

    1. Nur wenn die Daten auch gespeichert werden sollen brauchst du eine Datei (ini, txt, csv usw.)

    2. Na klar :)

    [autoit]

    GUICtrlCreateListViewItem("Rex|Schäferhund|ja", $hlistview)

    [/autoit]
  • Scriptoptimierung komme aber nicht auf die Lösung Case / ContinueCase

    • nuts
    • 17. Juni 2011 um 12:25

    Vielleicht von oben runter?

    ca. nach dem Schema:

    Spoiler anzeigen
    [autoit]


    For $i_cnt_a=$a_Client[0][0] to 1 step -1
    switch $i_cnt_a
    case 8
    GUICtrlSetData($Inp_Client_Host,$a_Client[1][1]) ; case 1
    GUICtrlSetData($Inp_Client_Mac,$a_Client[2][1]) ; case 2

    ; usw.
    ; ..
    ;...


    _Replace_Detail_Infos($a_Client[8][1],"",$Inp_Client_User) ; case 8

    ExitLoop
    case 7
    GUICtrlSetData($Inp_Client_Host,$a_Client[1][1]) ; case 1
    GUICtrlSetData($Inp_Client_Mac,$a_Client[2][1]) ; case 2

    ; usw.
    ; ..
    ;...
    _Replace_Detail_Infos($a_Client[7][1],"Bitte Tunnel auswählen",$Cbo_Client_Tunnel) ; case 7
    GUICtrlSetData($Inp_Client_User,"") ; case 7
    ExitLoop

    case 6
    ; ....
    ; ....
    ; ....


    EndSwitch
    next

    [/autoit]

    So müssen die control je nach $a_Client[0][0] auch nicht x-mal geändert werden.

  • autoit ist zu langsam

    • nuts
    • 16. Juni 2011 um 19:51

    Eigentlich war die Ausgangsfrage ja wie das Script schneller gemacht werden kann.
    Die Überschrift ist vielleicht etwas ungünstig aber mein Gott ....

    Zum Thema: Für GDI+ sollte man den GUIOnEventMode verwenden (zumindest wurde mir das so gelernt).

  • xVideo 1.2.2 UDFv0.1

    • nuts
    • 14. Juni 2011 um 22:21

    msgboxen würde ich aus UDF's eh ganz rauslassen.

    Errorhandling braucht man im eigentlichen Skript sowieso.
    Die msgbox in der UDF stört nur und ist nicht hilfreich (egal was drin steht).

    Ansonsten nicht schlecht gemacht! :thumbup:
    xVideo ist auch ein interessantes Projekt.

  • WM_Command an Winamp senden

    • nuts
    • 14. Juni 2011 um 18:46

    Gibt auch was in autoit direkt (s. Anhang).

    Dateien

    Winamp_Library.au3 72,08 kB – 208 Downloads
  • Listview mit Gruppen: Einfache Möglichkeit alle Items einer Gruppe auszulesen?

    • nuts
    • 11. Juni 2011 um 01:13

    Mal ein Versuch von mir:

    Spoiler anzeigen
    [autoit]


    Func _GetListview_GroupItems($hwnd, $iGruop, $index = 0)
    Local $count = $index
    Local $istart = $index
    Local $aret[2]
    Local $imode
    If _GUICtrlListView_GetItemGroupID($hwnd, $index) > $iGruop Then
    $imode = 2
    ElseIf _GUICtrlListView_GetItemGroupID($hwnd, $index) = $iGruop Then
    $imode = 1
    ElseIf _GUICtrlListView_GetItemGroupID($hwnd, $index) < $iGruop Then
    $imode = 0
    Else
    $imode = 0
    $index = 0
    EndIf

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

    Local $imax = _GUICtrlListView_GetItemCount($hwnd) -1
    Local $istart = 0
    Local $iend = $imax
    Switch $imode
    Case 0
    For $i = $index To $imax
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) = $iGruop Then
    $istart = $i
    ExitLoop
    EndIf
    Next
    For $i = $istart To $imax
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) > $iGruop Then
    $iend = $i - 1
    ExitLoop
    EndIf
    Next
    Case 2
    For $i = $index To 0 Step -1
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) = $iGruop Then
    $iend = $i
    ExitLoop
    EndIf
    Next
    For $i = $iend To 0 Step -1
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) < $iGruop Then
    $istart = $i + 1
    ExitLoop
    EndIf
    Next
    Case 1
    For $i = $index To 0 Step -1
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) < $iGruop Then
    $istart = $i + 1
    ExitLoop
    EndIf
    Next
    For $i = $index To $imax
    If _GUICtrlListView_GetItemGroupID($hwnd, $i) > $iGruop Then
    $iend = $i - 1
    ExitLoop
    EndIf
    Next
    EndSwitch

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

    $aret[0] = $istart
    $aret[1] = $iend
    ;_ArrayDisplay($aret)
    Return $aret

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

    EndFunc ;==>_GetListview_GroupItems

    [/autoit]


    So richtig gefällt mir das aber noch nicht. :wacko:

  • Listview mit Gruppen: Einfache Möglichkeit alle Items einer Gruppe auszulesen?

    • nuts
    • 9. Juni 2011 um 08:39

    Keiner ne Idee? :(

  • Listview GUICtrlSetBkColor Performance

    • nuts
    • 8. Juni 2011 um 13:53

    Schonmal mit dem ExStyle $LVS_EX_DOUBLEBUFFER ausprobiert?

    _GUICtrlListView_BeginUpdate und _GUICtrlListView_EndUpdate ist auch nützlich bevor die ganzen Daten ins Listview übertragen werden.

  • Listview mit Gruppen: Einfache Möglichkeit alle Items einer Gruppe auszulesen?

    • nuts
    • 7. Juni 2011 um 17:49

    Hey,


    ich suche eine Möglichkeit herauszufinden wieviele Items in einer Gruppe sind.
    z.B. lese ich eine INI ein und stelle diese mit Hilfe von Gruppen in einem Listview dar:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <File.au3>

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

    Global $ini = "" ;Pfad zur ini

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

    $Form1 = GUICreate("Ini read to Listview - Beispiel", 700, 500, -1, -1)
    $ListView1 = GUICtrlCreateListView("", 20, 20, 660, 350)
    $hlistview = GUICtrlGetHandle($ListView1)
    _GUICtrlListView_AddColumn($hlistview, "Key", 200)
    _GUICtrlListView_AddColumn($hlistview, "Value", 450)

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

    $Button2 = GUICtrlCreateButton("Iniread", 20, 420, 120, 33, 0)
    $Button1 = GUICtrlCreateButton("Add", 220, 420, 120, 33, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    _Initolistview($hlistview, $ini)
    Case $Button1
    _Add()
    EndSwitch
    WEnd

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

    Func _Initolistview($hwnd, $path)
    ; nuts (http://www.autoit.de)
    ; $hwnd = Handle to the listview
    ; $path = ini path
    Local $anames, $aread
    If Not IsHWnd($hwnd) Then
    SetError(1,0,1) ;not a handle -> @error = 1
    Return
    ElseIf Not FileExists($path) Then
    SetError(1,0,2) ;ini not found -> @error = 2
    Return
    EndIf
    $anames = IniReadSectionNames($path)
    $counter = -1;_GUICtrlListView_GetItemCount($hwnd)
    For $i = 1 To $anames[0]
    $aread = IniReadSection($path, $anames[$i])
    If @error Then
    $counter += 1
    _GUICtrlListView_EnableGroupView($hwnd)
    _GUICtrlListView_InsertGroup($hwnd, -1, $i, $anames[$i])
    _GUICtrlListView_AddItem($hwnd, "Kein Eintrag")
    _GUICtrlListView_SetItemGroupID($hwnd, $counter, $i)
    ContinueLoop
    EndIf
    _GUICtrlListView_EnableGroupView($hwnd)
    _GUICtrlListView_InsertGroup($hwnd, -1, $i, $anames[$i])
    For $x = 1 To $aread[0][0]
    $counter += 1
    _GUICtrlListView_AddItem($hwnd, $aread[$x][0])
    _GUICtrlListView_AddSubItem($hwnd, $counter, $aread[$x][1], 1)
    _GUICtrlListView_SetItemGroupID($hwnd, $counter, $i)
    Next

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

    Next
    EndFunc ;==>_Initolistview

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

    Func _Add()
    #region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form1", 431, 200, 192, 124)
    $Input1 = GUICtrlCreateInput("", 40, 64, 113, 21)
    $Input2 = GUICtrlCreateInput("", 192, 64, 177, 21)
    $Label1 = GUICtrlCreateLabel("Key", 40, 32, 36, 17)
    $Label2 = GUICtrlCreateLabel("Value", 192, 32, 36, 17)
    $Button = GUICtrlCreateButton("Übernehmen", 140, 150, 120, 33, 0)
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form2)
    GUISetState(@SW_SHOW, $Form1)
    ExitLoop
    case $Button
    local $count
    _GUICtrlListView_AddItem($hlistview,GUICtrlRead($Input1))
    local $count=_GUICtrlListView_GetItemCount($hlistview)-1
    _GUICtrlListView_AddSubItem($hlistview,$count,GUICtrlRead($Input1),1)
    _GUICtrlListView_SetItemGroupID($hlistview,$count,1)
    GUIDelete($Form2)
    GUISetState(@SW_SHOW, $Form1)
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_Add

    [/autoit]

    Um die INI wieder zurückzuschreiben müsste man jetzt wissen wieviele Gruppen es gibt (_GUICtrlListView_GetGroupCount) und eben wieviele Items in einer Gruppe drin sind (oder den Index des Start- bzw. des Enditems).
    Gibt es dafür eine einfache Möglichkeit? In der HIlfe hab ich keinen passenden Befehl gefunden.

    Gruß nuts

  • Directshow: Registrierte Filter auslesen

    • nuts
    • 20. Mai 2011 um 22:57

    Ich hab mal Informationen aus dem Netz zu dem Thema zusammengetragen.

    1. So findet man die registrierten direcshow Filter: http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

    Pseudocode:

    Code
    Enum Regread => HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance\
    
    
    suche: Regkey Friendlyname ="Directshow" 
    => so bekommt man die directshow CLSID 
    
    
    Enum Regread => HKEY_CLASSES_ROOT\CLSID\ "directshow CLSID"
    => Liste mit allen registrierten Filtern

    2. Interpretieren der für die jeweiligen Filter hinterlegten Daten (jetzt wirds richtig blöd)
    Man findet dort einen Key "Filterdata" mit Binärdaten:
    http://blog.monogram.sk/janos/2008/02/…istry-database/

    Im weiteren Schritt (wenn man sich die subtypes für die mediaformate gegoggelt hat) kann man jetzt die Filter nach Mediadateien auflisten, Merits setzen usw.
    Registrieren bzw. wieder entfernen: http://msdn.microsoft.com/en-us/library/ms924596.aspx
    Über die Regsrv32.exe geht das relativ einfach.

    Alles in allem kein Thema für freitagabends :whistling:
    Ich schau nun einen Film und hoffe die Filter funktionieren auch ohne eigenen Filtermanager einwandfrei. :D

    P.S. Ich hab den Thread mal auf gelöst gesetzt. Sollte jemand schon fertige Funktionen oder sonstige Tipps und Tricks auf Lager haben würde ich mich darüber aber trotzdem sehr freuen.

  • Directshow: Registrierte Filter auslesen

    • nuts
    • 20. Mai 2011 um 20:35

    Hallo zusammen,

    ich möchte alle im System registrierten Filter zunächst einmal auslesen.

    Im englischen Forum hab ich dazu dieses Skript gefunden:
    http://www.autoitscript.com/forum/topic/64…page__p__872817

    Die Freude war aber schnell vorbei :(
    Ohne _AutoItObject Kenntnisse ist das ja völlig unlesbar. :wacko:

    Könnte mir vielleicht jemand kurz erklären was wo passiert?
    Interessant ist eigentlich nur der Teil bei dem die directshow Filter ermittelt werden.

    Ich vermute mal dabei wird ein COM-Objekt von windows verwendet (welches?)? Oder die Registrierung ausgelesen (welche Schlüssel?)?
    Leider konnte ich dies dem Skript nicht entnehmen, was nach einigen Jahren autoit Erfahrung ziemlich deprimierend ist :(


    Gruß nuts

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™