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

  • GDI+ Sinuskurve

    • nuts
    • 11. März 2010 um 14:57

    Oh ha. Die 20ms bei AdlibRegister sind aber riskant. Mein alter BüroPC (Athlon XP 2600 @1,9 GHZ) schafft das nichmehr.
    Bei 40ms läufts und schaut gut aus. :thumbup:

    edit \ Am besten ab in die Schleife mit der Funktion oder?

  • GDI+ Sinuskurve

    • nuts
    • 11. März 2010 um 13:31

    _GDIPlus_GraphicsSetSmoothingMode() würde schonmal gegen die Zacken helfen. Das Flackern ist echt komisch. ?(
    Stellt man den Speed runter wirds besser, womöglich ist das einfach zu fies für unsere Systeme?

    edit \ Oder die Kurvenfunktion eignet sich dafür nicht (zu langsam?), versuchs doch mal mit der Varainte von eukalyptus.

  • GDI+ Sinuskurve

    • nuts
    • 11. März 2010 um 11:42

    _GDIPlus_GraphicsDrawCurve gibts auch noch. Damit kannst du das Array entsprechend der Sinusfunktion füllen.
    Bsp:

    Spoiler anzeigen
    [autoit]


    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()
    Local $hGUI, $hGraphic, $aPoints[5][2]

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

    ; Create GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState()
    Local $pi = 3.14159265358979
    ; Draw a cardinal spline
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)

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

    $aPoints[0][0] = 4
    $aPoints[1][0] = 0
    $aPoints[1][1] = 200
    $aPoints[2][0] = $pi/2*50
    $aPoints[2][1] = 150
    $aPoints[3][0] = 1.5*$pi*50
    $aPoints[3][1] = 250
    $aPoints[4][0] = 2.5*$pi*50
    $aPoints[4][1] = 150

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

    _GDIPlus_GraphicsDrawCurve ($hGraphic, $aPoints)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ; Clean up resources
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()

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

    EndFunc ;==>_Main

    [/autoit]
  • GDI+ Rotating Cubes

    • nuts
    • 11. März 2010 um 00:16

    Auch cool. :thumbup:
    Einige Seiten überlagern sich allerdings ohne den natürlichen Weg des Lichts zu berücksichtigen.
    Soll heissen Seiten sind sichtbar, die eigentlich verdeckt sein sollten.

  • Daten aus einer .ini auslesen und mit GuiCtrlSetData verwärten

    • nuts
    • 10. März 2010 um 16:51

    Das kannst du auch über die FTPEx UDF machen. Schau dir dazu am besten mal die Hilfe an.

    File ziehen und dann gehts mit Iniread oder Inireadsection weiter.

  • GDI+ Rotating Cubes

    • nuts
    • 10. März 2010 um 14:34

    Ah genau 8o
    Auch nicht schlecht wenn man das runterdreht. 8)

  • GETSID

    • nuts
    • 10. März 2010 um 14:27

    Na das Textfile einlesen.
    Schau dir mal Filereadline an.

    aus Oscars Listviewbeispiel:

    [autoit]


    Func Load() ; Datenbank-Datei laden
    Local $sItem
    Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($hLVHandle) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($hLVHandle) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>Load

    [/autoit]
  • GETSID

    • nuts
    • 10. März 2010 um 14:18

    Was spricht gegen die Lösung von chip?

  • GDI+ Rotating Cubes

    • nuts
    • 10. März 2010 um 14:04

    Tolles Skript. :thumbup:

    Ist das die maximale Rotationsgeschwindigkeit aufgrund der Autoit-Berechnung?

  • GDI+ Backbuffer - aber wie?!

    • nuts
    • 10. März 2010 um 13:54
    Spoiler anzeigen
    [autoit]


    #include <Misc.au3>
    #include <GUIConstantsEx.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>

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

    $GUI_Back_Color = 0xF0F0F0

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

    Global $x = 300, $y = 300
    Global $iSize = 15, $iPen = 2
    Global $iColor = 0xFFAA3366

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

    Opt("GUIOnEventMode", 1)

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

    $hDLL = DllOpen("user32.dll")
    $hGUI = GUICreate("", 600, 600)
    GUISetOnEvent(-3, "_Eventhandler")
    GUIRegisterMsg($WM_PAINT, "WM_PAINT")

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

    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Graphic obj erstellen
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(600, 600, $hGraphic)
    $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    $hPen = _GDIPlus_PenCreate($iColor, $iPen) ; Pinsel erstellen
    $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $GUI_Back_Color)
    ;~ $hBackbuffer = _GDIPlus_GraphicsGetDC($hGraphic) ; Backbuffer erstellen
    ;~ _WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_INTERNALPAINT) ; Fenster intern schonmal zeichnen

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

    GUISetState()

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

    WM_PAINT()

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

    $t = TimerInit()
    While 1
    If TimerDiff($t) > 10 Then
    Sleep(10)
    $t = TimerInit()
    EndIf
    _KeyHandler()
    WEnd

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

    Func WM_PAINT()
    ;~ _WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
    ;~ _GDIPlus_GraphicsFillRect($hBackbuffer, 0, 0, 600, 300, $hBrush)
    ;~ _GDIPlus_GraphicsDrawLine($hBackbuffer, $x - $iSize, $y, $x + $iSize, $y, $hPen) ; Fadenkreuz malen
    ;~ _GDIPlus_GraphicsDrawLine($hBackbuffer, $x, $y - $iSize, $x, $y + $iSize, $hPen)
    ;~ _WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)

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

    ; _WinAPI_RedrawWindow($hGUI)
    _GDIPlus_GraphicsFillRect($backbuffer, 0, 0, 600, 600, $hbrush)
    _GDIPlus_GraphicsDrawLine($backbuffer , $x - $iSize, $y, $x + $iSize, $y, $hPen) ; Fadenkreuz malen
    _GDIPlus_GraphicsDrawLine($backbuffer , $x, $y - $iSize, $x, $y + $iSize, $hPen)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $bitmap, 0, 0, 600, 600)
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_PAINT

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

    Func _Eventhandler()
    Switch @GUI_CtrlId
    Case -3
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    ;~ _WinAPI_ReleaseDC($hGUI,$hBackbuffer)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    EndFunc ;==>_Eventhandler

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

    Func _KeyHandler()

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

    If _IsPressed(25, $hDLL) Then ; links
    $x -= 1
    If $x < 0 Then $x = 0
    WM_PAINT()
    EndIf

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

    If _IsPressed(27, $hDLL) Then ; rechts
    $x += 1
    If $x > 599 Then $x = 599
    WM_PAINT()
    EndIf

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

    If _IsPressed(26, $hDLL) Then ; oben
    $y -= 1
    If $y < 0 Then $y = 0
    WM_PAINT()
    EndIf

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

    If _IsPressed(28, $hDLL) Then; unten
    $y += 1
    If $y > 599 Then $y = 599
    WM_PAINT()
    EndIf

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

    If _IsPressed("6B", $hDLL) Then ; Plus ( NumPad )
    $iSize += 1
    WM_PAINT()
    EndIf

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

    If _IsPressed("6D", $hDLL) Then ; Minus ( NumPad )
    $iSize -= 1
    If $iSize < 1 Then $iSize = 1
    WM_PAINT()
    EndIf

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

    If _IsPressed("6A", $hDLL) Then
    $iPen += 1
    _GDIPlus_PenDispose($hPen)
    $hPen = _GDIPlus_PenCreate($iColor, $iPen)
    WM_PAINT()
    EndIf

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

    If _IsPressed("6F", $hDLL) Then
    $iPen -= 1
    If $iPen < 1 Then $iPen = 1
    _GDIPlus_PenDispose($hPen)
    $hPen = _GDIPlus_PenCreate($iColor, $iPen)
    WM_PAINT()
    EndIf

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

    If _IsPressed("20", $hDLL) Then
    Local $iChosen = _ChooseColor(2)
    If @error Then Return
    $iColor = 0xFF000000 + $iChosen
    _GDIPlus_PenDispose($hPen)
    $hPen = _GDIPlus_PenCreate($iColor, $iPen)
    WM_PAINT()
    EndIf
    EndFunc ;==>_KeyHandler

    [/autoit]


    So gehts mit Backbuffer.

    edit \ Beim verlassen aber den Buffer noch freigeben (check das Skript nicht so ganz :D).

    [autoit]

    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_BitmapDispose($bitmap)

    [/autoit]


    Bei der Exit Funktion einfügen.

  • In Script schreiben

    • nuts
    • 8. März 2010 um 23:23

    Wobei das Passwort beim nächsten Start wieder zurückgesetzt wäre.
    Dagegen hilft nur auslagern (.txt, .ini oder so). Von der Sicherheitsseite aus sollte das Passwort gar nirgends auftauchen, denn überall lauern böse Decompilierer. ;)

  • FileCopy auch wenn Originalpfad unbekannt ist...wie?

    • nuts
    • 6. März 2010 um 16:10

    Wir sind hier doch auf autoit.de.
    Für C++ Lösungen ist ein anderes Forum wahrscheinlich besser geeignet.

    Vielleicht hilft dir das hier: http://social.msdn.microsoft.com/Forums/en-US/v…91-9dfc644f6248

  • AutoIT im Infounterricht

    • nuts
    • 5. März 2010 um 19:31

    [ gelöst ] COM-Objekt und die Datentypen.
    Hier mal ein Beispiel wie es einem geht wenn man mit AutoIt angefangen hat und sich nie groß Gedanken über Datentypen, Variablen usw. gemacht hat.

    Bei mir ist das zum Glück egal, da meine Berufswahl überhaupt nichts mit Informatik zu tun hat.
    Nur ob es sinnvoll ist zu lernen wie man sich mit AutoIt einen bass.dll Player bastelt? Ziel sollte es doch sein (im übertragenen Sinn) die bass.dll selbst schreiben zu können.

  • Simulieren eines >ECHTEN< Tastaturdrucks

    • nuts
    • 5. März 2010 um 19:20

    Der Lehrer meint die Send Funktion oder?
    Kannst ja eine schöne UDF schreiben, die einen Übergabestring (z.B. "Strg") in den autoit Syntax übersetzt.

    P.S. Wobei das auch sehr fragwürdig ist, wozu gibts denn die Hilfe? :rolleyes:

  • AutoIT im Infounterricht

    • nuts
    • 5. März 2010 um 13:42

    Aber sind das Punkte für den Informatikunterricht?

    Bei AutoIt gibts ja auch ein paar Besonderheiten die sich meiner Meinung nach eher weniger für den Informatikunterricht eignen.
    z.B. Datentypen, Deklaration von Variablen uws. also die Punkte, die AutoIt so super einfach machen weil der Interpreter es schon hinbiegt.
    Ob das die richtige Lernweise ist? Meiner Meinung nach nicht, ich bin aber auch kein Pädagoge. ;)

    Ansonsten ist AutoIt für Anfänger natürlich super, da man sehr schnell Ergebnisse sieht.

  • GPU Lüfter mit AutoIt ansteuern?

    • nuts
    • 2. März 2010 um 18:10

    Hilft euch das? NVIDIA nTune GPU-FanSpeed v1.0.3

  • GPU Lüfter mit AutoIt ansteuern?

    • nuts
    • 26. Februar 2010 um 17:55

    Hm mir fällt gerade auf, dass ich gar keine Nvidia Karte hier daheim habe :wacko:
    Ohne testen macht das keinen Spaß, ich werde dich wohl bis zum nächsten Arbeitstag (Montag) vertrösten müssen. :(

  • GPU Lüfter mit AutoIt ansteuern?

    • nuts
    • 26. Februar 2010 um 16:19
    Zitat von PokerFace


    Wäre nett, wenn du dir das mal anguckst.


    Verwendbar sollten die Funktionen per Autoit auf jeden Fall sein.
    Du kannst ja mal Vorarbeit leisten und die Funktion aus der Doku suchen, die für den Lüfter zuständig ist. Ich finde nämlich nichts :(
    Muss aber gehen, der Rivatuner kanns ja auch.

  • GPU Lüfter mit AutoIt ansteuern?

    • nuts
    • 26. Februar 2010 um 15:27

    Interessiert mich jetzt auch, ich schau heute abend mal.
    Ob das was wird kann ich aber nicht versprechen.

  • GPU Lüfter mit AutoIt ansteuern?

    • nuts
    • 26. Februar 2010 um 00:06

    Kann man den Rivatuner automatisieren? Oder Profile im Graka-Treiber erstellen? Oder gibts für Nvidia eine API die man sich mal ansehen könnte?

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™