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

Beiträge von name22

  • Script-Problem mit messageloop

    • name22
    • 23. April 2010 um 23:29

    Ich hab dir doch gesagt, dass das Script nach GUIDelete einfach mit der ENDLOSSCHLEIFE weiter macht. :rolleyes:
    Da muss schon noch ein ExitLoop o.Ä. rein. ;)

  • Alternativen zu ControlClick

    • name22
    • 23. April 2010 um 22:49
    Zitat

    Wenn du mir jetzt noch verrätst wie ich auf die Controls komme ohne sie vorher zu kennen


    Das geht nicht, außer du versuchst es mit Raten. ^^
    Wo liegt denn das Problem bei der Window Info?

  • Alternativen zu ControlClick

    • name22
    • 23. April 2010 um 22:36
    Zitat

    name22 du bist ein GENIE!


    Nein, ich schaue nur hin und wieder in die Hilfe. ;)

  • Script-Problem mit messageloop

    • name22
    • 23. April 2010 um 22:34

    Das Script hängt bei mir nirgendwo... ?(
    Die GUI wird gelöscht und die Endlosschleife fortgeführt, also wo liegt jetzt das Problem?

  • Alternativen zu ControlClick

    • name22
    • 23. April 2010 um 22:12
    Zitat

    Habe auch mal mit ControlClick versucht den taschenrechner zu steuern...
    geht aber nicht!


    Sicher? ;)

    Spoiler anzeigen
    [autoit]

    Run("calc")
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:7]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:11]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:15]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:6]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:10]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:20]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:7]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:11]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:15]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:6]")
    Sleep(500)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:10]")
    Sleep(1000)
    ControlClick("Rechner", "", "[CLASS:Button; INSTANCE:21]")

    [/autoit]
  • GDI+ Farbverlauf vom Mittelpunkt eines Kreises

    • name22
    • 23. April 2010 um 21:18

    Hier die Funktion und ein Beispiel dazu. :)
    Benötigt wird die GDIP.au3 (Anhang).
    Ich hoffe, dass irgendjemand das gebrauchen kann. :D Ich enstschuldige mich schon mal im vorraus für die schlecht formulierte Beschreibung. ^^

    Funktion:

    Spoiler anzeigen
    [autoit]

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GDIPlus_PathBrushCreatePie
    ; Beschreibung ..: Erstellt einen Farbverlauf in Form eines "Kuchens" (Teil eines Kreises) mit 2 Farben eine beginnend in der Mitte der Ellipse aus der der "Kuchen" erstellt wird und eine die auf dem Umkreis der Ellipse verläuft.
    ; Syntax.........: _GDIPlus_PathBrushCreatePie($iX, $iY, $iWidth, $iHeight, $iStartAngle, $iSweepAngle, $ARGB_Center, $ARGB_Surround, [$iWrapMode = 4])
    ; Parameter .....: $iX - X - Koordinate der linken oberen Ecke des Rechtecks aus dem die Ellipse des Kuchenstücks erstellt wird
    ; $iY - Y - Koordinate der linken oberen Ecke des Rechtecks aus dem die Ellipse des Kuchensstücks erstellt wird
    ; $iWidth - Breite der Ellipse
    ; $iHeight - Höhe der Ellipse
    ; $iStartAngle - Startwinkel des Kuchenstücks
    ; $iSweepAngle - Winkel der zum Startwinkel addiert wird und den Endwinkel bestimmt (Ein negativer Wert bedeutet eine "Rotation" nach links)
    ; $ARGB_Center - Farbe für den Mittelpunkt der Ellipse
    ; $ARGB_Surround - Farbe für den Umkreis der Ellipse
    ; $iWrapMode - Wrap mode der die Aufteilung und die Spiegelung des Brushes definiert (Standard 4):
    ; |0 - Teilen ohne spiegeln
    ; |1 - Teile werden horizontal gespiegelt wenn die Größe des Brush in X Richtung überschritten wird
    ; |2 - Teile werden vertikal gespiegelt wenn die Größe des Brush in Y Richtung überschritten wird
    ; |3 - Kombination aus 1 und 2
    ; |4 - Keine Teilung
    ; Rückgabewerte .: Success - Pointer zu einem neuen Brush Objekt
    ; Failure - -1 und setzt @error:
    ; |1 - $iSweepAngle ist = 0
    ; Bemerkungen ...: Um die Ressourcen für den Brush freizugeben, muss _GDIPlus_BrushDispose aufgerufen werden
    ; Autor .........: name22 @ http://www.autoit.de/
    ; ===============================================================================================================================
    Func _GDIPlus_PathBrushCreatePie($iX, $iY, $iWidth, $iHeight, $iStartAngle, $iSweepAngle, $ARGB_Center, $ARGB_Surround, $iWrapMode = 4)
    Local Const $Pi_Div_180 = ACos(-1) / 180

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

    If $iStartAngle <= 0 Then $iStartAngle = 1
    If $iSweepAngle = 0 Then Return SetError(1, 0, -1)
    If $iSweepAngle < 0 Then
    $iSweepAngle *= -1
    $iStartAngle = 360 - $iSweepAngle + $iStartAngle
    EndIf

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

    Dim $aPoints_Path[$iSweepAngle + 2][2]
    $aPoints_Path[0][0] = $iSweepAngle + 1
    $iI = 1
    For $i = $iStartAngle To $iStartAngle + $iSweepAngle - 1
    $aPoints_Path[$iI][0] = $iX + $iWidth / 2 + Cos(($i - 90) * $Pi_Div_180) * $iWidth / 2
    $aPoints_Path[$iI][1] = $iY + $iHeight / 2 + Sin(($i - 90) * $Pi_Div_180) * $iHeight / 2
    $iI += 1
    Next
    $aPoints_Path[UBound($aPoints_Path) - 1][0] = $iX + $iWidth / 2
    $aPoints_Path[UBound($aPoints_Path) - 1][1] = $iY + $iHeight / 2

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

    Dim $aColors_Path[$iSweepAngle + 1]
    $aColors_Path[0] = $iSweepAngle
    $iI = 1
    For $i = $iStartAngle To $iStartAngle + $iSweepAngle - 1
    $aColors_Path[$iI] = $ARGB_Surround
    $iI += 1
    Next

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

    $hBrush_Pie = _GDIPlus_PathBrushCreate($aPoints_Path, $iWrapMode)
    _GDIPlus_PathBrushSetCenterPoint($hBrush_Pie, $iX + $iWidth / 2, $iY + $iHeight / 2)
    _GDIPlus_PathBrushSetCenterColor($hBrush_Pie, $ARGB_Center)
    _GDIPlus_PathBrushSetSurroundColorsWithCount($hBrush_Pie, $aColors_Path)

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

    Return $hBrush_Pie
    EndFunc ;==>_GDIPlus_PathBrushCreatePie

    [/autoit]

    Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GDIP.au3>
    #include <GUIConstants.au3>

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

    $hWnd = GUICreate("Example by name22", 200, 200)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)

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

    $hBrush = _GDIPlus_PathBrushCreatePie(0, 0, 100, 100, 180, -270, 0xFFFF0000, 0x00000000)
    $hBrush2 = _GDIPlus_PathBrushCreatePie(0, 100, 100, 100, 90, 270, 0xFF0000FF, 0x00000000)

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

    _GDIPlus_GraphicsFillRect($hGraphic, 0, 0, 100, 100, $hBrush)
    _GDIPlus_GraphicsFillRect($hGraphic, 0, 100, 100, 100, $hBrush2)

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

    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_BrushDispose($hBrush2)
    _GDIPlus_Shutdown()

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GDIPlus_PathBrushCreatePie
    ; Beschreibung ..: Erstellt einen Farbverlauf in Form eines "Kuchens" (Teil eines Kreises) mit 2 Farben eine beginnend in der Mitte der Ellipse aus der der "Kuchen" erstellt wird und eine die auf dem Umkreis der Ellipse verläuft.
    ; Syntax.........: _GDIPlus_PathBrushCreatePie($iX, $iY, $iWidth, $iHeight, $iStartAngle, $iSweepAngle, $ARGB_Center, $ARGB_Surround, [$iWrapMode = 4])
    ; Parameter .....: $iX - X - Koordinate der linken oberen Ecke des Rechtecks aus dem die Ellipse des Kuchenstücks erstellt wird
    ; $iY - Y - Koordinate der linken oberen Ecke des Rechtecks aus dem die Ellipse des Kuchensstücks erstellt wird
    ; $iWidth - Breite der Ellipse
    ; $iHeight - Höhe der Ellipse
    ; $iStartAngle - Startwinkel des Kuchenstücks
    ; $iSweepAngle - Winkel der zum Startwinkel addiert wird und den Endwinkel bestimmt (Ein negativer Wert bedeutet eine "Rotation" nach links)
    ; $ARGB_Center - Farbe für den Mittelpunkt der Ellipse
    ; $ARGB_Surround - Farbe für den Umkreis der Ellipse
    ; $iWrapMode - Wrap mode der die Aufteilung und die Spiegelung des Brushes definiert (Standard 4):
    ; |0 - Teilen ohne spiegeln
    ; |1 - Teile werden horizontal gespiegelt wenn die Größe des Brush in X Richtung überschritten wird
    ; |2 - Teile werden vertikal gespiegelt wenn die Größe des Brush in Y Richtung überschritten wird
    ; |3 - Kombination aus 1 und 2
    ; |4 - Keine Teilung
    ; Rückgabewerte .: Success - Pointer zu einem neuen Brush Objekt
    ; Failure - -1 und setzt @error:
    ; |1 - $iSweepAngle ist = 0
    ; Bemerkungen ...: Um die Ressourcen für den Brush freizugeben, muss _GDIPlus_BrushDispose aufgerufen werden
    ; Autor .........: name22 @ http://www.autoit.de/
    ; ===============================================================================================================================
    Func _GDIPlus_PathBrushCreatePie($iX, $iY, $iWidth, $iHeight, $iStartAngle, $iSweepAngle, $ARGB_Center, $ARGB_Surround, $iWrapMode = 4)
    Local Const $Pi_Div_180 = ACos(-1) / 180

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

    If $iStartAngle <= 0 Then $iStartAngle = 1
    If $iSweepAngle = 0 Then Return SetError(1, 0, -1)
    If $iSweepAngle < 0 Then
    $iSweepAngle *= -1
    $iStartAngle = 360 - $iSweepAngle + $iStartAngle
    EndIf

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

    Dim $aPoints_Path[$iSweepAngle + 2][2]
    $aPoints_Path[0][0] = $iSweepAngle + 1
    $iI = 1
    For $i = $iStartAngle To $iStartAngle + $iSweepAngle - 1
    $aPoints_Path[$iI][0] = $iX + $iWidth / 2 + Cos(($i - 90) * $Pi_Div_180) * $iWidth / 2
    $aPoints_Path[$iI][1] = $iY + $iHeight / 2 + Sin(($i - 90) * $Pi_Div_180) * $iHeight / 2
    $iI += 1
    Next
    $aPoints_Path[UBound($aPoints_Path) - 1][0] = $iX + $iWidth / 2
    $aPoints_Path[UBound($aPoints_Path) - 1][1] = $iY + $iHeight / 2

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

    Dim $aColors_Path[$iSweepAngle + 1]
    $aColors_Path[0] = $iSweepAngle
    $iI = 1
    For $i = $iStartAngle To $iStartAngle + $iSweepAngle - 1
    $aColors_Path[$iI] = $ARGB_Surround
    $iI += 1
    Next

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

    $hBrush_Pie = _GDIPlus_PathBrushCreate($aPoints_Path, $iWrapMode)
    _GDIPlus_PathBrushSetCenterPoint($hBrush_Pie, $iX + $iWidth / 2, $iY + $iHeight / 2)
    _GDIPlus_PathBrushSetCenterColor($hBrush_Pie, $ARGB_Center)
    _GDIPlus_PathBrushSetSurroundColorsWithCount($hBrush_Pie, $aColors_Path)

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

    Return $hBrush_Pie
    EndFunc ;==>_GDIPlus_PathBrushCreatePie

    [/autoit]

    Bilder

    • Bild1.PNG
      • 6,24 kB
      • 108 × 103
    • Bild2.PNG
      • 6,41 kB
      • 104 × 103
    • Bild3.PNG
      • 6,27 kB
      • 104 × 102

    Dateien

    _GDIPlus_PathBrushCreatePie + GDIP.zip 96,59 kB – 296 Downloads
  • Icon Rund, bzw rest vom Icon Transparent

    • name22
    • 23. April 2010 um 18:36

    Du musst Icons verwenden. ^^
    PNGs funktionieren nicht mit Pic Controls (ja das steht auch in der Hilfe :D).

  • GDI+ Plasma - eine andere Variante :-)

    • name22
    • 22. April 2010 um 19:38
    Zitat

    lol, lol, lol
    du noob :rofl:


    Halt mal ieber die Luft an!
    Sowas kann jedem passieren und dafür beleidigst du ihn? :thumbdown:
    Sei doch ein wenig produktiver. :rolleyes:

    Nebenbei cooles Script UEZ. :thumbup:

  • Editfeld mit Zahlen am rand

    • name22
    • 21. April 2010 um 20:04

    Wie wäre es mit einem sich ständig auf der Y-Achse vergrößernden Label, in das du @CRLF und die aktuelle Zeile einfügst. :D
    Ansonsten fällt mir nur GDI+ ein, wobei das auch nicht allzu schwer sein dürfte. :P

  • Figur Mit Pfeiltasten steuern

    • name22
    • 21. April 2010 um 19:39

    @crocojunk
    Sag mal hast du vor etwas zu lernen?

  • Variablennamen

    • name22
    • 20. April 2010 um 21:44

    peethebee ist hier der Chef. ^^

  • If Bedingung - Fehler

    • name22
    • 20. April 2010 um 21:41

    Meinst du so?

    Spoiler anzeigen
    [autoit]

    $xoldArraynum1 = 1
    $yoldArraynum1 = 2

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

    If $xoldArraynum1 <> 1 And $xoldArraynum1 = 9 And ($yoldArraynum1 = 0 Or $yoldArraynum1 = 2 Or $yoldArraynum1 = 4 Or $yoldArraynum1 = 6 Or $yoldArraynum1 = 8) Then
    MsgBox(0, "2", "2te")
    MsgBox(0, "Nummern", $xoldArraynum1 & ", " & $yoldArraynum1)
    $xhelp1 = $xoldArraynum1
    $yhelp1 = $yoldArraynum1+1
    $xoldArraynum1 = $xhelp1
    $yoldArraynum1 = $yhelp1
    MsgBox(0, "Nummern", $xoldArraynum1 & ", " & $yoldArraynum1)
    Sleep(500)
    EndIf

    [/autoit]
  • Variablennamen

    • name22
    • 20. April 2010 um 19:15
    Zitat

    Gibt es da bestimmte Standards?


    Standards? Ich würde es so machen, dass jeder der den Code verstehen soll ihn auch verstehen kann.
    Präfixe wie h, b, f etc.. verwende ich auch nur wenn sie mir in diesem Zusammenhang logisch erscheinen. :)

  • Figur Mit Pfeiltasten steuern

    • name22
    • 20. April 2010 um 18:48

    Wenn man schon in den Backbuffer zeichnet, sollte man ihn auch auf den Frontbuffer bringen. ;)

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Global $GuiWidth = 600
    Global $GuiHeight = 600
    Global $iX = 100
    Global $iY = 100
    Global $piewidth = 0
    Global $pieheight = 320

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

    $form = GUICreate ("Test", 600,600)
    $hwnd = WinGetHandle ($form)
    GUISetBkColor (0x000000)
    GUISetState (@SW_SHOW)

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

    _GDIPlus_Startup ()

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

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND ($hwnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GUIWidth, $GUIHeight, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
    $pac = _GDIPlus_BrushCreateSolid (0xFFFFFF00)
    _GDIPlus_GraphicsFillPie ($hgraphics, 100,100, 50, 50, 0, 320, $pac)

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    If _IsPressed ("25") Then
    $iX -= 3
    Draw()
    EndIf
    If _IsPressed ("26") Then
    $iY -=3
    Draw()
    EndIf
    If _IsPressed ("27") Then
    $iX +=3
    Draw()
    EndIf
    If _IsPressed ("28") Then
    $iY +=3
    Draw()
    EndIf
    WEnd

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

    Func Draw()
    _GDIPlus_GraphicsClear($hBuffer)
    _GDIPlus_GraphicsFillPie ($hBuffer, $iX,$iY,50,50,0,320,$pac)
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, $GUIWidth, $GuiHeight)
    EndFunc

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

    Func _Exit()
    _GDIPlus_BrushDispose($pac)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]


    @crocojunk Meinst du nicht, dass Pacman ein wenig zu hoch gegriffen ist? Fang doch erstmal mit was leichtem an. :thumbup:

  • pixel-farbe aus raw datein bestimmen

    • name22
    • 19. April 2010 um 21:11
    Zitat

    weis das niemand ?


    Gut möglich. ;)
    Ich hab es nach langer Google Befragung und GDI+ Versuchen jedenfalls aufgegeben. :D
    Vielleicht findet ja noch jemand eine Lösung. :thumbup:

  • GDI+: Star Wars: Laserschwert Maler

    • name22
    • 18. April 2010 um 16:50

    Nett. ^^
    Das ist ein gutes Beispiel für... naja es wird wohl schon zu irgendetwas gut sein. :D
    Prima gemacht auf jeden Fall.

  • Von Bild Ring ausschneiden (kein Kreis!)

    • name22
    • 18. April 2010 um 14:25

    Für einen Tacho? Ich würde da eher ein Bild mit der Nadel auf ein Bild mit dem Tacho zeichnen und das eben in einem bestimmten Winkel.

  • Transparenz bei Labels funktioniert nicht!

    • name22
    • 18. April 2010 um 01:59

    Verdammt ist das nervig. X(
    Bitte hierlesen!

  • Happy Birthday

    • name22
    • 18. April 2010 um 01:33

    Wünsche euch beiden alles Gute zum Geburtstag! :thumbup:
    Nunja... Viel mehr hab ich hier auch nicht zu sagen, obwohl ich ja gerne noch was schreiben würde. :(

  • 2 dinge gleichzeitig?

    • name22
    • 17. April 2010 um 23:35

    Wenn das in die Datei Geschriebene mit dem geprüften zusammenhängen soll, ist es auch mit jeder anderen Software unmöglich. :D

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™