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

Beiträge von minx

  • Funktionen werden zu Objekten - Das OCFGV-Paradigma - Eigene Objekte in 2 Zeilen

    • minx
    • 1. April 2013 um 12:48

    Keine GUI? Die sollte aber wenigstens erscheinen.

  • Switch mit mehreren Buttons

    • minx
    • 1. April 2013 um 12:26

    Genau so wur du es gesagt hast. Das gleiche Event für die Button und im Event dann ein Switch mit @guictrl_handle

  • [GDI+] Rotierende Kreisausschnittsegmente

    • minx
    • 1. April 2013 um 02:22

    Läuft mit bis zu 100 noch Butterweich und smooooooth ohne Anfall. Bei mir jedenfalls. 50 finde ich optimal ^^

  • [GDI+] Rotierende Kreisausschnittsegmente

    • minx
    • 31. März 2013 um 23:14

    Kommt hier gut an, verwende ich als Lockscreen wärend des Kaffee-Holens ^^

  • Autoit TCP Browser

    • minx
    • 31. März 2013 um 21:47

    Umständlich ist ja kein Wort 8) . Der IE hat ja einen eigenen Renderer. Wolltest du alle Daten selbst interpretieren bräuchtest du deinen eigenen HEML Renderer ^^

  • [GDI+] Rotierende Kreisausschnittsegmente

    • minx
    • 31. März 2013 um 21:44

    Hier nochmal auch mit Mausabfrage:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    Global Const $W = @DesktopWidth, $H = @DesktopHeight
    Global Const $Anzahl = 20

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

    Global $PEN, $GFX, $BUF, $BMP, $GUI, $TWI[$Anzahl], $IMG, $BRU
    Global Enum $CNT, $COL, $ANZ, $OFF, $DIS, $ROT, $DIA, $WID, $RAN, _
    $ROT_End, $ROT_DisMul, $ROT_OffMul, $ROT_Dir, $DIR, $COL_Add

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

    Local $MouseX = MouseGetPos(0), $MouseY = MouseGetPos(1)

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

    _GDIPlus_Startup()
    $GUI = GUICreate('Test', $W, $H, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
    $IMG = _Image_Create($W, $H)
    $BUF = DllStructGetData($IMG, 1)
    $DC = _WinAPI_GetDC($GUI)
    $GFX = _GDIPlus_GraphicsCreateFromHDC($BUF)
    $PEN = _GDIPlus_PenCreate()
    $BRU = _GDIPlus_BrushCreateSolid(0x30000000)
    _GDIPlus_GraphicsSetSmoothingMode($GFX, 2)

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

    For $i = 1 To $Anzahl Step 1
    $TWI[$i-1] = _CreateTwister(60 + $i^1.4 * 15, 6 + $i^0.8 * Random(2,4))
    Next

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

    OnAutoItExitRegister('_Dispose')
    GUISetOnEvent(-3, '_Event', $GUI)
    GUISetState(@SW_SHOW, $GUI)

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

    While Sleep(10)

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

    _GDIPlus_GraphicsFillRect($GFX, 0, 0, $W, $H, $BRU)

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

    For $i = 0 To $Anzahl - 1 Step 1
    _Twister($TWI[$i])
    Next

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

    _WinAPI_BitBlt($DC, 0, 0, $W, $H, $BUF, 0, 0, 0xCC0020)

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

    If MouseGetPos(0) <> $MouseX or MouseGetPos(1) <> $MouseY Then _event()

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

    WEnd

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

    Func _CreateTwister($_DIA, $_WID)
    Local $a[15]
    $a[$ANZ] = Random(6,15,1)
    $a[$CNT] = Random(-555555, 555555)
    $a[$COL] = 0
    $a[$OFF] = 0
    $a[$DIS] = 0
    $a[$ROT] = 0
    $a[$DIA] = $_DIA
    $a[$WID] = $_WID
    $a[$ROT_End] = 0
    $a[$ROT_OffMul] = 0
    $a[$ROT_DisMul] = 0
    $a[$ROT_Dir] = 0
    $a[$RAN] = Random(10, 20, 1)
    $a[$DIR] = Random(-2.5, 2.5)
    $a[$COL_Add] = Random(0, 10000)
    Return $a
    EndFunc

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

    Func _Twister(ByRef $a)

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

    $a[$CNT] += $a[$DIR]
    $a[$COL_Add] += 2
    $a[$COL] = '0xAA' & Hex(Int(Sin(($a[$COL_Add] +$a[$CNT]) / 100) * 127.9 + 128), 2) & Hex(Int(Sin(($a[$COL_Add] +$a[$CNT]) / 150) * 127.9 + 128), 2) & Hex(Int(Cos(($a[$COL_Add] +$a[$CNT]) / 120) * 127.9 + 128), 2)

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

    If $a[$ROT] Then
    If Not $a[$ROT_End] Then
    $a[$ROT_End] = Random(240,480)
    $a[$ROT_DisMul] = Random(0.7, 2)
    $a[$ROT_OffMul] = Random(0.4, 2)
    $a[$ROT_Dir] = Random(0, 1, 1)
    EndIf
    If $a[$ROT] > $a[$ROT_End] Then
    $a[$ROT] /= 1.5
    $a[$ROT_End] /= 1.5
    If Round($a[$ROT],0) = 0 Then
    $a[$ROT_End] = 0
    $a[$ROT] = 0
    $a[$RAN] = Random(10, 20, 1)
    EndIf
    Else
    $a[$ROT] += $a[$ROT]^0.3
    EndIf
    $a[$DIS] = ($a[$DIS]*6 + $a[$DIS] / $a[$ROT_DisMul])/7
    $a[$OFF] = ($a[$OFF]*7 + $a[$OFF] / $a[$ROT_OffMul])/8
    If Not Random(0, 100, 1) Then
    $a[$ANZ] += Random(-1, 1, 1)
    If $a[$ANZ] < 5 Then $a[$ANZ] = 5
    If $a[$ANZ] > 16 Then $a[$ANZ] = 16
    EndIf
    Else
    If IsInt(Int($a[$CNT])/$a[$RAN]) Then $a[$ROT] += 2
    EndIf

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

    If Not Random(0, 100, 1) Then $a[$DIR] = Random(-2.5, 2.5)

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

    $a[$DIS] = ($a[$DIS]*9 + $a[$WID])/10
    $a[$OFF] = ($a[$OFF]*8 + $a[$DIA])/9

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

    For $i = 0 To $a[$ANZ] - 1 Step 1
    _PieSegment($GFX, $W / 2, $H / 2, $a[$OFF], $a[$OFF], $a[$DIS], $i * 360 / $a[$ANZ] + $a[$CNT] + ($a[$ROT_Dir] = 0 ) * $a[$ROT] * 2 - $a[$ROT], 300 / $a[$ANZ], $a[$COL])
    Next

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

    EndFunc

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

    Func _PieSegment($GFX, $mX, $mY, $W, $H, $D, $fStart, $fSweep, $iCol)
    DllCall($ghGDIPDll, 'int', 'GdipSetPenColor', 'handle', $PEN, 'dword', $iCol)
    DllCall($ghGDIPDll, 'int', 'GdipSetPenWidth', 'handle', $PEN, 'float', $D)
    DllCall($ghGDIPDll, 'int', 'GdipDrawArc', 'handle', $GFX, 'handle', $PEN, 'float', $mX + $D / 2 - $W / 2, 'float', $mY + $D / 2 - $H / 2, 'float', $W - $D, 'float', $H - $D, 'float', $fStart, 'float', $fSweep)
    EndFunc ;==>_PieSegment

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

    Func _Image_Create($iW, $iH)
    Local $Ptr, $hDC, $hBmp, $tBMI, $aDIB, $vStruct
    $hDC = _WinAPI_CreateCompatibleDC(0)
    $tBMI = DllStructCreate($tagBITMAPINFO)
    DllStructSetData($tBMI, 'Size', DllStructGetSize($tBMI) - 4)
    DllStructSetData($tBMI, 'Width', $iW)
    DllStructSetData($tBMI, 'Height', -$iH)
    DllStructSetData($tBMI, 'Planes', 1)
    DllStructSetData($tBMI, 'BitCount', 32)
    $aDIB = DllCall('GDI32.DLL', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'uint', 0)
    $hBmp = $aDIB[0]
    $Ptr = $aDIB[4]
    _WinAPI_SelectObject($hDC, $hBmp)
    $vStruct = DllStructCreate('int[5]')
    DllStructSetData($vStruct, 1, $hDC, 1)
    DllStructSetData($vStruct, 1, $iW, 2)
    DllStructSetData($vStruct, 1, $iH, 3)
    DllStructSetData($vStruct, 1, $Ptr, 4)
    DllStructSetData($vStruct, 1, $hBmp, 5)
    Return $vStruct
    EndFunc ;==>_Image_Create

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

    Func _Image_Delete(ByRef $vStruct)
    _WinAPI_DeleteObject(DllStructGetData($vStruct, 1, 5))
    _WinAPI_DeleteDC(DllStructGetData($vStruct, 1, 1))
    $vStruct = 0
    EndFunc ;==>_Image_Delete

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

    Func _Event()
    _WinEX_LockWorkStation()
    Exit
    EndFunc ;==>_Event

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

    Func _Dispose()
    _Image_Delete($Img)
    _WinAPI_ReleaseDC($GUI, $DC)
    _GDIPlus_BrushDispose($BRU)
    _GDIPlus_GraphicsDispose($GFX)
    _GDIPlus_PenDispose($PEN)
    _GDIPlus_Shutdown()
    EndFunc ;==>_Dispose

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

    Func _WinEX_LockWorkStation()
    Local $vRetVal = DllCall("user32.dll", "int", "LockWorkStation")
    If @error > 0 Then Return SetError(1, @error, 0)
    Return $vRetVal[0]
    EndFunc

    [/autoit]

    Mars Cooler Trick zum Zeichnen der Elemente :D

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • minx
    • 31. März 2013 um 21:38

    Wie wäre es mit Inline VBScript nativ in Autoit (3.3.8.1+) + Mini UDF :whistling:


    Ist nur ein Vorschlag ^^

  • [GDI+] Rotierende Kreisausschnittsegmente

    • minx
    • 31. März 2013 um 21:06

    Cool :thumbup:

    Hat Iron-Man Feeling :D


    Hier, sowird ein schöner animierter Lockscreen draus: ^^

    siehe mein 2. Post

  • Zoomender Rotierender Würfel aus Würfeln (eigene "Engine")

    • minx
    • 31. März 2013 um 20:25

    Der Titel sagt alles. Die Engine ist nur eine Zeile groß und kann 3D Punkte mit Rotation usw. in 2D Punkte umrechnen. War eigentlich nur ein Teil eines Skripts, ist aber so schon ganz witzig.

    Haph phun!

    Spoiler anzeigen
    [autoit]

    $lTheta = 0
    $lAlt = 0
    $lSize = 1000
    $lperspective = 10000

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

    Opt("GUIOnEventMode", 1)
    GUICreate("This", 500, 500,-1,-1,Default,34078728)
    GUISetBkColor(0)
    Global $hGR = GUICtrlCreateGraphic(0,0)
    GUISetState()
    GUISetOnEvent(-3, "done")

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

    Local $Timer = TimerInit()
    AdlibRegister("main", 50)
    While 1
    WEnd

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

    Func main()
    $b = $hGR
    $hGR = GUICtrlCreateGraphic(0,0)
    GUICtrlSetGraphic($hGR, 8, 0xFFFFFF)
    For $zPos = -2 To 2
    $zOffset = $zPos * 40
    For $yPos = -2 To 2
    $yOffset = $yPos * 40
    For $xPos = -2 To 2
    $Size = 15
    $xOffset = $xPos * 40
    PlotLine($xOffset - $Size, $yOffset - $Size, $zOffset + ($Size-1), $xOffset + $Size, $yOffset - $Size, $zOffset + ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset + $Size, $yOffset - $Size, $zOffset + ($Size-1), $xOffset + $Size, $yOffset + $Size, $zOffset + ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset + $Size, $zOffset + ($Size-1), $xOffset + $Size, $yOffset + $Size, $zOffset + ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset - $Size, $zOffset + ($Size-1), $xOffset - $Size, $yOffset + $Size, $zOffset + ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset - $Size, $zOffset - ($Size-1), $xOffset + $Size, $yOffset - $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset + $Size, $yOffset - $Size, $zOffset - ($Size-1), $xOffset + $Size, $yOffset + $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset + $Size, $zOffset - ($Size-1), $xOffset + $Size, $yOffset + $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset - $Size, $zOffset - ($Size-1), $xOffset - $Size, $yOffset + $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset - $Size, $zOffset + ($Size-1), $xOffset - $Size, $yOffset - $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset + $Size, $yOffset - $Size, $zOffset + ($Size-1), $xOffset + $Size, $yOffset - $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset - $Size, $yOffset + $Size, $zOffset + ($Size-1), $xOffset - $Size, $yOffset + $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    PlotLine($xOffset + $Size, $yOffset + $Size, $zOffset + ($Size-1), $xOffset + $Size, $yOffset + $Size, $zOffset - ($Size-1), $lTheta, $lAlt, $lsize, $lperspective)
    Next
    Next
    Next
    GUICtrlSetGraphic($hGR, 22)
    GUICtrlDelete($b)
    $lAlt = $lAlt + .1
    If $lAlt >= 360 Then $lAlt = $lAlt - 360
    $lTheta = $lTheta + .3
    If $lTheta >= 360 Then $lTheta = $lTheta - 360
    If $lsize < 15000 Then $lsize = $lsize + 100
    EndFunc

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

    Func PlotLine($x1, $y1, $z1, $x2, $y2, $z2, $Theta, $Alt, $Size, $Perspective)
    Local $Phi = 90 - $Alt, $cX = 250, $cY = 250,$Sin_Theta = Sin($Theta),$Cos_Theta = Cos($Theta),$Sin_Phi = Sin($Phi),$Cos_Phi = Cos($Phi),$vX = -$x1 * $Sin_Theta + $y1 * $Cos_Theta,$vY = -$x1 * $Cos_Theta * $Cos_Phi - $y1 * $Sin_Theta * $Cos_Phi + $z1 * $Sin_Phi, $vZ = -$x1 * $Cos_Theta * $Sin_Phi - $y1 * $Sin_Theta * $Sin_Phi - $z1 * $Cos_Phi + $Perspective,$pX1 = $cX + $Size * $vX / $vZ,$pY1 = $cY - $Size * $vY / $vZ,$vX = -$x2 * $Sin_Theta + $y2 * $Cos_Theta,$vY = -$x2 * $Cos_Theta * $Cos_Phi - $y2 * $Sin_Theta * $Cos_Phi + $z2 * $Sin_Phi,$vZ = -$x2 * $Cos_Theta * $Sin_Phi - $y2 * $Sin_Theta * $Sin_Phi - $z2 * $Cos_Phi + $Perspective,$px2 = $cX + $Size * $vX / $vZ,$pY2 = $cY - $Size * $vY / $vZ
    GUICtrlSetGraphic($hGR, 6, $pX1, $pY1)
    GUICtrlSetGraphic($hGR, 2, $px2, $py2)
    EndFunc

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

    Func done()
    Exit
    EndFunc

    [/autoit]
  • Arbeitsspeicher - Problem oder nicht?

    • minx
    • 31. März 2013 um 18:57

    Man kann große Variablen wie Structs auch mit $Ver = 0 freigeben ^^

  • Funktionen werden zu Objekten - Das OCFGV-Paradigma - Eigene Objekte in 2 Zeilen

    • minx
    • 31. März 2013 um 13:43

    Update (macht vieles einfacher)

  • Funktionen werden zu Objekten - Das OCFGV-Paradigma - Eigene Objekte in 2 Zeilen

    • minx
    • 30. März 2013 um 18:24

    ^^

  • GUICtrlSetOnEvent <- event abfangen im neu ersteller GUI

    • minx
    • 30. März 2013 um 10:41

    Hast du meine Beiträge überhaupt gelesen :D

    Du hast prinzipiell nur wiederholt. Ich habe nichts anderes gesagt als du, den Artiket hab ich auch verlinkt, den Scope hab ich auch erklärt ... Was wolltest du jetzt genau sagen? ^^

  • [Mini-Tutorial] BitOR und Konsorten.

    • minx
    • 30. März 2013 um 09:23

    Hättest dus mal hier gepostet (hab aber nicht nachgesehen :D ) :whistling:

  • GUICtrlSetOnEvent <- event abfangen im neu ersteller GUI

    • minx
    • 30. März 2013 um 08:58

    Der OnEvent-Modus feuert immer auf Hochtouren. Wenn du nicht gerade ein Spiel machst und/oder eine eigene CPU Regelung einbauen möchtest, ist kommt dir der Messageloop schon entgegen. Sobald der Nutzer Maus & Tastaturaktivitäten einstellt, läuft das Skript entsprechend langsamer.

  • Internet Explorer Cookies löschen

    • minx
    • 30. März 2013 um 02:30

    Naja in jedem Fall sollte das einen Ordner eliminieren:

    [autoit]

    #requireAdmin
    DirRemove($Ordner, 1)

    [/autoit]
  • Internet Explorer Cookies löschen

    • minx
    • 30. März 2013 um 01:45

    Doch, auch bei dir. Du glaubst doch nicht ernsthaft, dass du den Ordner im Explorer siehst :D

    [autoit]

    ShellExecute(@AppDataDir & "\Microsoft\Windows\Cookies")

    [/autoit]
  • Internet Explorer Cookies löschen

    • minx
    • 30. März 2013 um 01:01

    Die Cookies sollten bei Windows7 hier liegen:

    [autoit]

    $Dir = "C:\Users\" & @username & "\AppData\Roaming\Microsoft\Windows\Cookies"

    [/autoit]

    Der Ordner von dir ist der Cache.

  • Desktop-Basketball (Mini-Spiel)

    • minx
    • 29. März 2013 um 23:10

    Selbst mein Browser schlägt schon Alarm, bevor das Archiv den Virenscanner überhaupt erreicht. Die Exe bitte aus dem Archiv nehmen und/oder getrennt anbieten. Dann kannst du die ZIP auch auf den Forenserver hochladen und nicht irgendwo anders ^^.

    Außerdem gibt es zahlreiche Errors beim Ausführen des Skripts. Zumal das Include BASS fehlt! (und bitte tu die dazu - es gibt inzwischen verschiedene Versionen davon)

  • [Mini-Tutorial] BitOR und Konsorten.

    • minx
    • 29. März 2013 um 21:54
    Zitat

    Naja, ein Volladdierer ist ja nicht unbedingt der Sinn und Zweck für die Bit-Operationen.


    Aber klar! Grundlagen-Aufbau eines Rechners, der "Urzweck" der bool'schen Mathematik :P . In Verbindung mit AutoIt ist dein Beispiel sinnvoller ^^

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™