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

Beiträge von meistertogo

  • Stummfilmmusik?

    • meistertogo
    • 10. Oktober 2011 um 13:51

    Hallo peethebee,
    ich denke, dass progandy mit seinem Tipp "Ragtime" richtig liegt.
    Außerdem nennt man die Musik, die General Kaboom meint, "Dixieland".

  • Probleme mit Scrollbalken: Steuerelemente werden verschoben und GDI+-Grafik verschwindet

    • meistertogo
    • 2. Oktober 2011 um 16:12

    Hallo liebe AuoIt-Community!

    Ich habe zwei Fragen zur Verwendung von Scrollbalken in GUIs.

    1. Wie lässt sich verhindern, dass Steuerelemente (z. B. Buttons) beim Scrollen verschoben werden?

    2. Eine mit GDI+ gezeichnete Grafik (Linie), die länger ist als das GUI wird beim Scrollen kürzer. Wie lässt sich dieses verhindern?

    Vielen Dank für Eure Hilfe!

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <GUIScrollbars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global $x1 = 0, $x2 = 600, $xScroll

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

    HotKeySet("{LEFT}", "_Scrollen")
    HotKeySet("{RIGHT}", "_Scrollen")

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

    $Fenster = GUICreate("Fenster zu Testzwecken", 500, 500, Default, Default, BitOR(Default, $WS_HSCROLL))
    $Button1 = GUICtrlCreateButton("Zeichnen", 0, 0, 75, 25)
    GUICtrlSetOnEvent(-1, "_Zeichnen")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Beenden")
    GUISetState()

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

    _GUIScrollBars_Init($Fenster)
    _GUIScrollBars_ShowScrollBar($Fenster, $SB_VERT, False)
    _GUIScrollBars_SetScrollRange($Fenster, $SB_HORZ, 0, 100)
    _GUIScrollBars_SetScrollInfoPage($Fenster, $SB_HORZ, 5)
    GUIRegisterMsg($WM_HSCROLL, "_SystemScrollen")
    GUIRegisterMsg($WM_VSCROLL, "_SystemScrollen")

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

    _GDIPlus_Startup()

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

    $Grafik = _GDIPlus_GraphicsCreateFromHWND($Fenster)
    $Stift = _GDIPlus_PenCreate(0xFF000000, 5)

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

    _Zeichnen ()

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

    Do
    Until GUIGetMsg() = -3

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

    Func _Zeichnen ()
    _GDIPlus_GraphicsDrawLine($Grafik, $x1, 250, $x2, 250, $Stift)
    EndFunc

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

    Func _Scrollen ()
    $xScroll = 0
    Switch @HotKeyPressed
    Case "{LEFT}"
    If $x1+$xScroll > 0 Then $xScroll -= 10
    Case "{RIGHT}"
    $xScroll +=10
    EndSwitch
    _GUIScrollBars_ScrollWindow($Fenster, $xScroll, 0)
    $x1 += $xScroll
    $x2 += $xScroll
    EndFunc

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

    Func _SystemScrollen ($hWndGUI, $MsgID, $WParam, $LParam)
    _GUIScrollBars_SetScrollInfoPos($Fenster, $SB_HORZ, _GUIScrollBars_GetScrollInfoTrackPos($Fenster, $SB_HORZ))
    $x1 += $WParam
    $x2 += $WParam
    EndFunc

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

    Func _Beenden ()
    _GDIPlus_PenDispose($Stift)
    _GDIPlus_GraphicsDispose($Grafik)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]
  • Random-Buchstaben generieren

    • meistertogo
    • 7. September 2011 um 18:45

    Dass jedes Zeichen bzw. jede Zahl nur einmal im Endergebnis vorkommt, könnte man durch ein Array erreichen, das sozusagen den Zeichenvorrat darstellt (s. 19. Post).

  • Random-Buchstaben generieren

    • meistertogo
    • 6. September 2011 um 21:25

    Das könntest Du mit einem Array machen, auch wenn ich nicht verstehe, warum sich Deine Frage mehrfach ändert und Du nicht die einfachste Lösung (s. 9. Post) verwendest.

  • Random-Buchstaben generieren

    • meistertogo
    • 6. September 2011 um 21:13

    Wenn Du acht einzelne Strings hast, kannst Du diese Strings einfach mit "&" aneinanderhängen.

    [autoit]


    Global $StringEins = "1", $StringZwei = "2"
    $StringEins = $StringEins&$StringZwei
    MsgBox(0, "Strings", $StringEins)
    Exit

    [/autoit]
  • Random-Buchstaben generieren

    • meistertogo
    • 6. September 2011 um 21:05

    Hallo Rey96,
    hier das von Dir gewünschte Beispiel (probier es lieber selbst, bevor Du Dir das ansiehst):

    Spoiler anzeigen
    [autoit]


    $String = ""
    For $i = 1 To 8
    $String = $String&Chr(Random(65, 122, 1))
    Next
    MsgBox(0, "8 zufällig generierte Buchstaben", $String)
    Exit

    [/autoit]


    P.S.: Wenn Du nur Großbuchstaben erhalten möchtest, einfach anstatt 122 90 einsetzen.

  • Welche Rechte stehen einem zu?

    • meistertogo
    • 4. August 2011 um 21:07

    Da das "Aufbrechen" einer kompilierten Datei jedoch gegen die Lizenzvereinbarung von AuoIt verstößt, macht man sich durch das Dekompilieren strafbar.

  • _ArrayDisplay mehrere Spalten

    • meistertogo
    • 1. August 2011 um 19:31

    Hallo Ilse,
    ich hatte mich in meiner Antwort wohl etwas undeutlich ausgedrückt.
    Falls Du noch grundsätzliche Probleme mit Arrays haben solltest, empfehle ich Dir das wirklich sehr gute Array-Tutorial von BugFix (http://www.bug-fix.info/array_tut.htm).

  • BASS.DLL Windows 7 64-Bit aktueller Audio Pegel

    • meistertogo
    • 1. August 2011 um 16:59

    Hallo Rufus,
    wie laut ein Output tatsächlich ist, kann man nicht anhand der Datei, die ausgegeben wird, feststellen, weil auch die Lautstärke des Lautsprechers eine Rolle spielt.
    Wie genau sich die am Lautsprecher eingestellte Lautstärke auf die tatsächliche Lautstärke der Wiedergabe auswirkt, kann man mithilfe der Bass-Dll nicht feststellen (außer man stellt wie bereits gesagt ein Mikrofon vor dem Lautsprecher auf und erzeugt so einen Input-Kanal).

  • _ArrayDisplay mehrere Spalten

    • meistertogo
    • 1. August 2011 um 16:50

    Hallo Ilse,
    meines Wissens nach zeigt die Funktion

    [autoit]

    _ArrayDisplay()

    [/autoit]

    das gesamte Array an.
    Besitzt das Array mehrere Spalten, werden alle angezeigt. Dazu benötigt man natürlich ein explizit deklariertes Array mit mehreren Dimensionen (Spalten).

  • BASS.DLL Windows 7 64-Bit aktueller Audio Pegel

    • meistertogo
    • 31. Juli 2011 um 20:01

    Hallo Rufus,
    es gibt mehrere Möglichkeiten, die Lautstärke/den Pegel von dem festzustellen, "was aus dem Lautsprecher" kommt.
    1. Mikrofon vor dem Lautsprecher, das mithilfe der Bass-UDF analysiert wird.
    2. Das Programm/die Anwendung, die etwas über den Lautsprecher ausgibt mithilfe der Bass-UDF analysieren.
    Falls Du unter "Line In" ein Gerät verstehst, das einen Sound-Input darstellt, ist es mit der Bass-UDF möglich, sämtliche Analyse-Verfahren durchzuführen.
    Außerdem wiederholst Du ständig, dass Dein Problem so verbreitet sei.
    Was genau Dein Problem allerdings ist bleibt unklar, da Deine Frage nach dem Analysieren eines Audiosignals von einer Website beantwortet wurde.

    P. S.: Zu Deiner Frage nach dem Feststellen eines Pegels bei der Ausgabe eines Videos sei gesagt, dass auch in diesem Fall ein Stream erstellt werden kann (mit der Funktion

    [autoit]

    _BASS_StreamCreateFile()

    [/autoit]

    ).

  • BASS.DLL Windows 7 64-Bit aktueller Audio Pegel

    • meistertogo
    • 31. Juli 2011 um 13:46

    Hallo Rufus,
    nicht alle Funktionen der Bass-Dll/-UDF beziehen sich auf Audiodateien.
    So auch die von mir genannte Funktion. Sie erwartet ein Handle zu einem Stream-, Musik- oder Aufnahme-Kanal.
    Um ein Audiosignal aus dem Internet zu analysieren, musst Du zuerst einen Stream erstellen (z. B. mit

    [autoit]

    _BASS_StreamCreateURL ()

    [/autoit]

    ) und dann der Funktion das Handle übergeben.
    Ich denke, dass Beispiel in der Hilfe ist sehr aufschlussreich und sollte Dein Problem lösen.

  • BASS.DLL Windows 7 64-Bit aktueller Audio Pegel

    • meistertogo
    • 30. Juli 2011 um 11:15

    Hallo Rufus,
    ich hoffe die folgende Funktion der Bass-UDF kann Dir weiterhelfen.

    [autoit]

    _BASS_ChannelGetLevel()

    [/autoit]
  • Sound-Gerät ändern

    • meistertogo
    • 29. Juli 2011 um 11:53

    Bin im Internet auf eine weitere, wenn auch simple, Lösung in AuoIt gestoßen.
    Hier der Link:
    http://www.computerbase.de/forum/showthread.php?t=786817

  • _DrawCube - Erweiterung für GDI+

    • meistertogo
    • 27. Juli 2011 um 15:45

    Stimmt.
    Danke für den Hinweis!
    Habe den Fehler beseitigt.

  • Frage/Problem bezüglich FileRead

    • meistertogo
    • 27. Juli 2011 um 15:27

    Hallo Gh0st,
    es ist schön, dass man Dir im Forum helfen konnte.
    Allerdings musst Du das Thema durch bearbeiten des ersten Beitrags schon selbst auf gelöst stellen. Einfach das Präfix ändern.

  • _DrawCube - Erweiterung für GDI+

    • meistertogo
    • 26. Juli 2011 um 20:22

    Anbei meine kleine UDF.
    Sie ermöglicht das einfache Zeichnen eines Würfels mit GDI+.

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ; Function Name: _DrawCube
    ; Description:: The function draws a cube with GDI+. The length of the cube's edge is inserted by the user.
    ; Parameters: $Fenstertitel: Title of the parent window.
    ; $Grafik: Handle to the graphics-object.
    ; $KantenlaengeWuerfel: Length of the cube's edge.
    ; $Stift: Handle to a pen.
    ; Requirement: Inclduing GDIPlus.au3 ("#Include<GDIPlus.au3>")
    ; Author: meistertogo
    ; Example:
    ;Lines marked with "°" are not necessary for the function itself.
    #include-once;°
    #include <GDIPlus.au3>
    #include <GUIConstants.au3>;°

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

    Opt("GUIOnEventMode", 1);°

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

    Dim $Position[4], $Fensterbreite, $Fensterhoehe, $KantenlaengeWuerfel, $Stift, $Grafik

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

    $Fensterbreite = InputBox("Schritt 1: Zeichnen eines Würfels", "Wie breit soll die Zeichenfläche sein [in Pixeln]?");°
    $Fensterhoehe = InputBox("Schritt 2: Zeichnen eines Würfels", "Wie hoch soll die Zeichenfläche sein [in Pixeln]?");°
    $KantenlaengeWuerfel = InputBox("Schritt 3: Zeichnen eines Würfels", "Wie lang sollen die Kanten des Würfels sein [in Pixeln]?");°

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

    $Zeichenflaeche = GUICreate("Zeichenfläche", $Fensterbreite, $Fensterhoehe);°
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Beenden");°
    GUISetState(@SW_SHOW);°

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

    _GDIPlus_Startup()

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

    $Grafik = _GDIPlus_GraphicsCreateFromHWND($Zeichenflaeche)
    _GDIPlus_GraphicsClear($Grafik)
    $Stift = _GDIPlus_PenCreate(0xFF00FF00)

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

    _DrawCube("Zeichenfläche", $Grafik, $KantenlaengeWuerfel, $Stift)

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

    Func _DrawCube ($FensterTitel, $Grafik, $KantenlaengeWuerfel, $Stift)
    $Position = WinGetPos($FensterTitel)
    _GDIPlus_GraphicsDrawRect($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2, ($Position[3]-$KantenlaengeWuerfel)/2, $KantenlaengeWuerfel, $KantenlaengeWuerfel, $Stift);der Startpunkt der folgenden Zeichenvorgänge ist die obere linke Ecke des gezeichneten Rechtecks, das die Frontseite des Würfels darstellt
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2, ($Position[3]-$KantenlaengeWuerfel)/2, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, $Stift);vom Startpunkt nach hinten
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, $Stift);vom Punkt hinter dem Startpunkt nach rechts
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2, $Stift);vom Punkt rechts des Punkts hinter dem Startpunkt nach vorne, zum Punkt rechts des Startpunkts
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, $Stift);vom Punkt rechts des Punkts hinter dem Startpunkt nach unten
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+$KantenlaengeWuerfel, $Stift);vom Punkt raumdiagonal gegenüber des Startpunkts nach vorne
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2, ($Position[3]-$KantenlaengeWuerfel)/2+$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, $Stift);vom Punkt unter dem Startpunkt nach hinten
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2-0.5*$KantenlaengeWuerfel, $Stift);vom Punkt unter und hinter dem Startpunkt nach oben
    _GDIPlus_GraphicsDrawLine($Grafik, ($Position[2]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, ($Position[2]-$KantenlaengeWuerfel)/2+1.5*$KantenlaengeWuerfel, ($Position[3]-$KantenlaengeWuerfel)/2+0.5*$KantenlaengeWuerfel, $Stift);vom Punkt unter und hinter dem Startpunkt nach rechts
    EndFunc

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

    Do;°
    Until GUIGetMsg() = $GUI_EVENT_CLOSE;°

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

    Func _Beenden ()
    _GDIPlus_PenDispose($Stift)
    _GDIPlus_GraphicsDispose($Grafik)
    _GDIPlus_Shutdown()
    Exit
    EndFunc
    ;
    ;===============================================================================
    ;

    [/autoit]


    P.S.: Mir ist klar, dass man auch 2 Rechtecke und 4 Linien oder 5 Rechtecke hätte zeichnen können.

  • Sound-Gerät ändern

    • meistertogo
    • 24. Juli 2011 um 16:56

    Hallo PokerFace,
    ganz so einfach geht es dann doch nicht.
    Wenn Du den Code so verwenden möchtest, müsstest du mit

    [autoit]

    _BASS_Init()

    [/autoit]

    oder einer vergleichbaren Funktion arbeiten.
    Außerdem solltest Du beachten, dass das Ausgabegerät nur im Rahmen der Verwendung mit dem jeweiligen Programm und der Bass_UDF geändert wird. Dazu steht in der Hilfe der jeweiligen Funktionen der Bass_UDF mehr.

  • Sound-Gerät ändern

    • meistertogo
    • 23. Juli 2011 um 16:26

    Hallo PokerFace,
    wenn ich Deine Frage richtig verstanden habe, müsste das auch mit folgender Funktion der BASS_UDF gehen.

    [autoit]

    _BASS_SetDevice()

    [/autoit]
  • Selbstanpassende GUI / Sidebar

    • meistertogo
    • 9. Juli 2011 um 09:58

    Hallo misterspeed,
    einige der von Dir gewünschten Eigenschaften der GUI kann man mit den entsprechenden Styles und Ext-Styles (s. Hilfe zur Funktion "

    [autoit]

    GUICreate()

    [/autoit]

    ") errreichen. Die Position der GUI würde ich mit

    [autoit]

    @DesktopWidth

    [/autoit]

    und

    [autoit]

    @DesktopHeight

    [/autoit]

    machen.

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™