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

  • Zufälliger GDI+ Guibackground

    • name22
    • 22. Juni 2010 um 18:40

    Kann mich dem nur anschließen, es sieht echt nicht schlecht aus :thumbup: .
    Da hat Ubuntu aber was ins Rollen gebracht... :D

  • Textdokument-Fragen

    • name22
    • 20. Juni 2010 um 17:07

    Hier wird nicht geclosed, sondern das Präfix auf Gelöst gesetzt (Ersten Post bearbeiten) ;).
    (Kannst sowieso nicht closen ohne Mod Rechte :P).

  • winkel von der maus zur negativen x Achse berechnen

    • name22
    • 20. Juni 2010 um 15:13
    Zitat


    Edit: Lol, ich wusste gar nicht, dass ACos(-1) = π ist 8|


    Wusstest du, dass der ATan(1) * 4 = π ist? :D

  • winkel von der maus zur negativen x Achse berechnen

    • name22
    • 20. Juni 2010 um 15:04
    Zitat

    Wieso muss man den Arcus Tangens durch Arcus Cosinus -1 durch 180 rechnen?


    Um von Radiant in Grad umzurechnen ;). (Für weitere Infos -> Wikipedia :D).

  • winkel von der maus zur negativen x Achse berechnen

    • name22
    • 20. Juni 2010 um 14:49

    Hier mal mein Ansatz 8) .

    Spoiler anzeigen
    [autoit]

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

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

    Opt("GUIOnEventMode", 1)

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

    $hWnd = GUICreate("Degree", 400, 400)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
    $hBitmap_BG = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    $hBuffer_BG = _GDIPlus_ImageGetGraphicsContext($hBitmap_BG)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer_BG, 2)

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

    $hPenRed = _GDIPlus_PenCreate(0xFFFF0000, 2)

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

    _GDIPlus_GraphicsClear($hBuffer_BG, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawLine($hBuffer_BG, 0, 200, 400, 200)
    _GDIPlus_GraphicsDrawLine($hBuffer_BG, 200, 0, 200, 400)
    _GDIPlus_GraphicsFillEllipse($hBuffer_BG, 198, 198, 4, 4)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    OnAutoItExitRegister("_Exit")

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

    While Sleep(15)
    $aMousePos = GUIGetCursorInfo($hWnd)
    $iAngle = Round(_GetLineDegreeX($aMousePos[0] - 200, $aMousePos[1] - 200), 2)
    If $aMousePos[0] >= 200 Then $iAngle += 180
    If $aMousePos[1] >= 200 And $aMousePos[0] <= 200 Then $iAngle += 360
    _GDIPlus_GraphicsDrawImageRect($hBuffer, $hBitmap_BG, 0, 0, 400, 400)
    _GDIPlus_GraphicsDrawLine($hBuffer, $aMousePos[0], $aMousePos[1], 200, 200, $hPenRed)
    _GDIPlus_GraphicsDrawPie($hBuffer, 150, 150, 100, 100, -180, $iAngle, $hPenRed)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
    ToolTip($iAngle & "°")
    WEnd

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

    Func _GetLineDegreeX($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, 0)
    Switch $iFlag
    Case 0
    Return ATan($iY_Point / $iX_Point) / (ACos(-1) / 180)
    Case 1
    Return 180 - Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    Case 2
    Return 360 - Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

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

    Func _GetLineDegreeY($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, 0)
    Switch $iFlag
    Case 0
    Return Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    Case 1
    Return 180 - Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    Case 2
    Return 360 - Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_GraphicsDispose($hBuffer_BG)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap_BG)
    _GDIPlus_PenDispose($hPenRed)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]
  • winkel von der maus zur negativen x Achse berechnen

    • name22
    • 20. Juni 2010 um 13:39
    Zitat

    in welchem grad system rechnet autoit eigentlich?


    Wie meinst du das?

    Hab das Beispiel in meinem vorherigen Post nochmal überarbeitet. ;)

  • Autoit - Mehrere Checkboxen auslesen und status in variable/array packen

    • name22
    • 20. Juni 2010 um 13:27

    Man lernt nie aus :D. Danke Oscar den Stil kannte ich noch gar nicht. ^^

    Zitat

    denn es kommt entweder 0 "False" oder eben der mit BitAnd verknüpfte Wert heraus, was AutoIt als "True" interpretiert.


    Bei BitAND steht die 0 dann aber nicht für "False" im Sinne von falsch sondern für:

    [autoit]

    BitAND(2, 8)

    [/autoit]


    0010 = 2
    1000 = 8
    0000 = 0

    Anderes Beispiel:

    [autoit]

    BitAND(10, 8)

    [/autoit]


    1010 = 10
    1000 = 8
    1000 = 10

  • winkel von der maus zur negativen x Achse berechnen

    • name22
    • 20. Juni 2010 um 13:12

    Ich hab mal eben ein paar Funktionen dafür gebastelt, ich hoffe sie helfen dir weiter...

    Spoiler anzeigen
    [autoit]

    MsgBox(0,"",_GetLineDegreeX(5, 5, 1))

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

    Func _GetLineDegreeX($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, -1)
    Switch $iFlag
    Case 0
    Return Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    Case 1
    Return 360 - Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

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

    Func _GetLineDegreeY($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, -1)
    Switch $iFlag
    Case 0
    Return Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    Case 1
    Return 360 - Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

    [/autoit]


    Hier noch mal überarbeitet und mit besserem Beispiel:

    Spoiler anzeigen
    [autoit]

    While Sleep(100)
    $aMousePos = MouseGetPos()
    ToolTip(Round(_GetLineDegreeX($aMousePos[0], $aMousePos[1], 1), 2) & "°", @DesktopWidth, @DesktopHeight, "", "", 4)
    WEnd

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

    Func _GetLineDegreeX($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, 0)
    Switch $iFlag
    Case 0
    Return Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    Case 1
    Return 180 - Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    Case 2
    Return 360 - Abs(ATan($iY_Point / $iX_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

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

    Func _GetLineDegreeY($iX_Point, $iY_Point, $iFlag = 0)
    If Not ($iX_Point Or $iY_Point) Then Return SetError(1, 0, 0)
    Switch $iFlag
    Case 0
    Return Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    Case 1
    Return 180 - Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    Case 2
    Return 360 - Abs(ATan($iX_Point / $iY_Point) / (ACos(-1) / 180))
    EndSwitch
    EndFunc

    [/autoit]
  • GDI+ Snake (Funktioniert jetzt!)

    • name22
    • 20. Juni 2010 um 12:17

    Ich meine du sollst eine Bitmap erstellen und da am Anfang alles hineinzeichnen was sich nicht bewegt ;).
    Dann muss in jedem Durchgang viel weniger neu gezeichnet werden, weil du einfach die Bitmap in den Buffer zeichnen kannst.

  • Autoit - Mehrere Checkboxen auslesen und status in variable/array packen

    • name22
    • 20. Juni 2010 um 12:14
    Zitat von Sprenger120
    [autoit]

    If BitAnd(GUICtrlRead($Checkbox1),$GUI_CHECKED) THen
    ; Wenn die Checkbox angekreuzt ist führt er den Code aus
    ; ### Code ###
    EndIf

    [/autoit]


    Erstens gibt BitAnd nicht nur True oder False zurück (also ist die Abfrage schwachsinnig), zweitens gibt GUICtrlRead bei einer Checkbox nur zwei Werte zurück ($GUI_CHECKED und $GUI_UNCHECKED), da keine kombinierten States zurückgegeben werden z.B. $GUI_CHECKED + $GUI_UNCHECKED wird BitAND nicht benötigt.
    Das hier reicht völlig aus:

    Spoiler anzeigen
    [autoit]

    If GUICtrlRead($Check1) = $GUI_CHECKED Then
    MsgBox(0,"","Checkbox aktiv")
    Else
    MsgBox(0,"","Checkbox inaktiv")
    EndIf

    [/autoit]
  • GDI+ Snake (Funktioniert jetzt!)

    • name22
    • 20. Juni 2010 um 12:07
    Zitat

    Noch eine Frage zum Schluss, hat jemand eine bessere Idee, wie ich die Welt noch zeichnen könnte? (So wie es jetzt ist, dauert es 25 ms pro Durchlauf)


    Mach doch eine extra Bitmap für die Welt und den Hintergrund und zeichne einfach diese Bitmap immer wieder in denn Backbuffer. (Ersetzt _GDIPlus_GraphicClear).
    Wenn man zu viele grüne Teilchen isst sinkt die Anzahl der Schlangenteile auf 0 und AutoIt meldet einen Error.

  • Array abspeicherungs Problem

    • name22
    • 16. Juni 2010 um 19:11

    Kann es daran liegen, dass du $split versehentlich 2 Mal verwendest? Das sieht nämlich nicht so ganz richtig aus... :D

  • Cursor in Inputfeld (Texteingabefeld setzen ?

    • name22
    • 13. Juni 2010 um 15:32

    Versuch mal

    [autoit]

    ControlFocus

    [/autoit]

    ;).

  • Audio Meter (Peak, VU, Stereoscope und Korrelationsgradmesser)

    • name22
    • 13. Juni 2010 um 13:51

    Wow sieht echt prima aus, ich weiß zwar nicht wofür die Hälfte der Anzeigen gut ist aber es sieht wirklich gut aus :D.

  • Download pausieren, neustarten, weiterladen

    • name22
    • 12. Juni 2010 um 19:35
    Zitat

    Hat denn da keiner eine Lösung?


    Musst du schon nach einer knappen Stunde pushen? :rolleyes:

  • html codes automatisch ändern

    • name22
    • 12. Juni 2010 um 19:20

    So ungefähr?

    Spoiler anzeigen
    [autoit]

    #include <String.au3>

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

    $sReplace = 'Test'
    $sHTML_Source = '<a href="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" target=_blank><img src="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" border="0" style="margin: 1px;" ></a>'
    $aHREF = _StringBetween($sHTML_Source, '<a href="', '"')
    If $aHREF <> 0 Then MsgBox(0,"",StringReplace($sHTML_Source, $aHREF[0], $sReplace))

    [/autoit]
  • RAM Problem

    • name22
    • 12. Juni 2010 um 19:13

    Ich glaube du hast FileOpen und FileRead noch nicht so ganz verstanden....

    Spoiler anzeigen
    [autoit]

    $fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
    $fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
    $fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
    $fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
    GUICtrlSetData($input1,FileRead(@Scriptdir&"\cache\1.txt"))
    GUICtrlSetData($input2,FileRead(@Scriptdir&"\cache\2.txt"))
    GUICtrlSetData($input3,FileRead(@Scriptdir&"\cache\3.txt"))
    GUICtrlSetData($input4,FileRead(@Scriptdir&"\cache\4.txt"))

    [/autoit]


    Und wozu benötigst du FileCreate? Wenn du eine Datei die nicht existiert mit FileOpen in einem Schreibmodus öffnest wird sie erstellt...

  • Laptop als Router

    • name22
    • 12. Juni 2010 um 18:16

    Ja das geht und über Google findest du sogar ein paar Tools dafür, aber du brauchst eine kompatible WLAN Karte und kannst dich mit dem Laptop auch nicht mehr mit einem anderen Router verbinden glaube ich... Du müsstest also eine LAN Verbindung zu deinem Router haben oder so... Du kannst aber auch gleich einen dieser komischen Nintendo Wi-Fi USB Sticks kaufen.

  • Download pausieren, neustarten, weiterladen

    • name22
    • 12. Juni 2010 um 18:13

    Nach einem Neustart? Dann müsste aber der Download wieder aufgenommen werden und könnte nicht einfach in der Mitte fortgesetzt werden...
    Die Internetverbindung wäre ja dann für kurze Zeit weg.

  • _GUICtrlMenu_CreateBitmap() v0.71 Build 2018-08-17 beta - Erstellt Icons für GUI Menüs

    • name22
    • 12. Juni 2010 um 17:19

    Kann es sein, dass Teiltransparenz nicht so ganz funktioniert? ?(

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™