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

Beiträge von gem

  • GDI+ und QuickDraw zu langsam für 65000 pixel

    • gem
    • 3. März 2012 um 16:56

    wow ich bin echt baff das geht ja unglaublich schnell ich muss unbedingt assembler lernen
    vielen vielen dank

  • GDI+ und QuickDraw zu langsam für 65000 pixel

    • gem
    • 2. März 2012 um 22:32

    ich wollte eine farbpallette darstellen allerdings braucht gdi+ und quickdraw zu lange um ca 65000 pixel darzustellen. was mache ich falsch?. gibt es eine bessere möglichkeit?.

    zeit bei mir für eine darstellung einer farbpalette

    GDI+ : 6169ms
    QuickDraw : 2284ms

    GDI+
    [autoit]

    #include <SliderConstants.au3>
    #include <GDIP.au3>

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

    $gui = GUICreate("example", 296, 256)

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

    $slider = GUICtrlCreateSlider(261, 5, 30, 251, BitOR($TBS_VERT, $TBS_TOP, $TBS_LEFT, $TBS_BOTH, $TBS_NOTICKS, $TBS_ENABLESELRANGE))
    GUICtrlSetLimit(-1, 255, 0)

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

    _GDIPlus_Startup()

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

    $graphics = _GDIPlus_GraphicsCreateFromHWND($gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(256, 256, $graphics)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    $brush = _GDIPlus_BrushCreateSolid()

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

    GUISetState()

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

    While GUIGetMsg() <> -3

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

    $a = GUICtrlRead($slider)

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

    For $b = 0 To 255
    For $c = 0 To 255
    $color = String(Hex($a, 2) & Hex($b, 2) & Hex($c, 2))
    _GDIPlus_BrushSetFillColor($brush, "0xFF" & $color)
    _GDIPlus_GraphicsFillRect($buffer, $b, $c, 1, 1, $brush)
    Next
    Next

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

    _GDIPlus_GraphicsDrawImage($graphics, $bitmap, 0, 0)

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

    WEnd

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

    _GDIPlus_Shutdown()

    [/autoit]
    QuickDraw
    [autoit]

    #include <QuickDraw.au3>

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

    _QuickDraw_Enable("example", 256, 256, 0, 0, False)

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

    $a = 0

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

    HotKeySet("{RIGHT}", "Slider1")
    HotKeySet("{LEFT}", "Slider0")

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

    While _QuickDraw_Running() And GUIGetMsg() <> -16

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

    _QuickDraw_ClearBuffer(0xFF000000)

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

    For $b = 0 To 255
    For $c = 0 To 255
    $color = String(Hex($a, 2) & Hex($b, 2) & Hex($c, 2))
    _QuickDraw_Point($b, $c, "0xFF" & $color)
    Next
    Next

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

    _QuickDraw_SwapBuffers()

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

    WEnd

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

    _QuickDraw_Disable()
    Exit

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

    Func Slider0()
    If $a <> 0 Then $a -= 1
    EndFunc ;==>Slider0

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

    Func Slider1()
    If $a <> 256 Then $a += 1
    EndFunc ;==>Slider1

    [/autoit]
  • String Frage

    • gem
    • 6. Februar 2012 um 14:27

    guten tag

    ich weis nicht wie ich einen string so koordinieren kann das es zu so einem ergebnis komm

    [autoit]

    ; gegebener string
    $string = "func1(func2(func3()),,func4())"

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

    ; so soll die ausgabe sein
    dim $array[4]
    $array[0] = "func4()"
    $array[1] = "func3()"
    $array[2] = "func2("&$array[0]&")"
    $array[3] = "func1("&$array[2]&",,"&$array[1] &")"

    [/autoit]
  • Chrome mit URL öffnen?

    • gem
    • 31. Januar 2012 um 02:34

    ShellExecute("chrome.exe","http://www.google.de")

  • FileSaveDialog ... und weiter?

    • gem
    • 19. Januar 2012 um 15:44

    mist war ich wohl langsamer

  • FileSaveDialog ... und weiter?

    • gem
    • 19. Januar 2012 um 15:42

    vieleicht so

    [autoit]

    FileSaveDialog("", @DesktopDir, "(*.*)", 16, "", $Account_Manager)

    [/autoit]
  • Dashboard

    • gem
    • 18. Januar 2012 um 22:23

    so die neue version ist draußen nun kann man apps löschen und das programm nicht doppelt starten außerdem sind app-parameter hinzugekommen.
    leider gab es bei zwei apps noch probleme einmal beim timer und bei der stoppuhr. die apss werde ich bald nachliefern

  • Dashboard

    • gem
    • 18. Januar 2012 um 21:13
    Zitat

    Nein nein, da kann man Hintergrundfarbe vom Dashboard die Hintergrundfarbe.


    tut mir leid versteh ich nicht :)

    ich versuch nochmal
    wenn du von deiner app die hintergrundfarbe ändert willst benutzt den parameter = background-color="" im frame bereich
    um die hintergrundfarbe von controls zu ändern benutzt diesen auch nur nicht im frame bereich

    wenn du durch ein klick die hintergrundfarbe vom programm dashboard ändern willst machst es z.b. so:

    Code
    <button left="0" top="0" width="100" height="100" action="guisetbkcolor(0xff0000,$mainwin)">rote hintergrundfarbe</button>
  • Dashboard

    • gem
    • 18. Januar 2012 um 20:50

    update kommt gleich :)
    um die hintergrundfarbe zu ändern muss man nicht das skript umschreiben schreib in deine app bei action einfach

    [autoit]

    guisetbkcolor(0xff0000,$mainwin)

    [/autoit]


    in der neuen version kannst du auch mit dem parameter regist arbeiten der wird einmal automatisch ausgeführt


    noch was

    combobox = <combobox></combobox>

  • Dashboard

    • gem
    • 17. Januar 2012 um 21:03

    bei dem parameter action wird beschrieben was passiert wenn man auf das control klickt dabei werden die befehle mit dem autoit befehl execute() ausgeführt wo es kein ifstatement gibt
    wichtig um variablen zu deklarieren assign() benutzen = z.B assign('variablenname','wert')
    um nächsten befehl auszuführen zwischen den befehlen mit dem zeichen § trennen =z.B msgbox(0,'','')§msgbox(0,'','')
    bei strings kein " benutzen sondern '


    um ein ifstatement zu benutzen, benutze die funktion ifstatement($wert1,$opeartor,$wert2,$function)
    $operator
    1:=
    2:<>
    3:==
    4:>=
    5:<=
    5:>
    6:<
    achte darauf das du die function als string generiest wobei du die strings in der funktion mit ^ umhüllst = z.b ifstatement(1,1,1,'msgbox(0,^^,^1 ist 1^)')

    wenn du den action parameter im frame deklariest werden diese befehle durckgehend ausgeführt z.b für eine zeitanzeige

    ich hoffe ich konnte dir damit helfen wenns noch fragen gibt einfach stellen ich werde bald eine ausfürlicher beschreiben schreiben.

  • Dashboard

    • gem
    • 17. Januar 2012 um 20:48

    Stevenx
    wie geil ist das den
    hätte nicht gedacht das jemand das macht :)

    ich habe bereits auch noch ein paar gemacht werde ich morgen reinstellen
    darunter gibt es
    Yahoo Suche, YouTube Suche, Wetter, Stoppuhr, Timer
    allerdings muss mann dafür eine neue version von dashboard downloaden da einige funktionen hinzugekommen sind

    updates in der neuen dashboard version
    -kann nur einmal gestartet werden
    -apps können entfernt werden

    updates bei den apps
    -notizen vom notizblock werden gespeichert

    Stevenx gui runden

    [autoit]

    $variable = _WinAPI_CreateRoundRectRgn(0, 0, $width, $height, $width / $round, $height / $round)
    _WinAPI_SetWindowRgn($GUI, $variable)

    [/autoit]
  • Dashboard

    • gem
    • 15. Januar 2012 um 19:11

    wäre sehr cool. kann ich gut gebrauchen danke dir

  • Dashboard

    • gem
    • 15. Januar 2012 um 18:43

    ich werde bald eine beschreibung schreiben in der erkärt wird wie man eine application erstellt allerdings gibt es noch nicht so einen großen funktionsumfang.

    Bildschirm verdunkeln:
    eigentlich ganz leicht du erstellt eine gui die maximiert wird dan blendest du das systemneu aus und setzt die transparenz mit winsettrans

    beispiel

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    GUICreate("Example", 500, 500, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_MAXIMIZE,$WS_POPUP,$WS_GROUP))
    WinSetTrans("Example","",150)
    GUISetState()

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

    While GUIGetMsg() <> -3
    WEnd

    [/autoit]
  • Dashboard

    • gem
    • 15. Januar 2012 um 17:38

    [Blockierte Grafik: http://www9.pic-upload.de/18.01.12/dc4b69wirtrv.png]

    da mir das dashboard von mac sehr gut gefällt und ich es sehr nützlich fande, habe ich es so gut wie es geht in autoit nachgemacht.
    das programm seht ihr weder als trayicon noch in der startleiste um es zu beenden einfach ESC drücken. um es ein- auszublenden F4 drücken.
    über das plus unten rechts könnt ihr anwendungen hinzufügen bisher habe ich vier gemacht. es kommen aber noch ein paar hinzu.

    Dateien

    dashboard.rar 396,33 kB – 437 Downloads
  • Dodge [QuickDraw]

    • gem
    • 10. Dezember 2011 um 12:06

    [Blockierte Grafik: http://img198.imageshack.us/img198/7291/unbenannt3kopieh.png]

    ich habe ein ausweichspiel versucht mit quickdraw zu realisieren. hauptprinzip ist es nicht die kästen zu berühren. im normalen modus könnt ihr mir leertaste einen schuss abgeben der allerdings wenn er ein feld trifft 100 minuspunkte gibt. durch ein weiße kugel bekommt ihr 250 punkte bei einem türkisen kugel habt ihr für drei sekunden einen schutzmantel. der speedmode unterscheidet sich nur in einer sache: die geschwindigkeit nimmt kontinuierlich zu. im ersten multiplayer modus kann ein zweiter auch eine kugel haben hier geht er nur darum wer zu erst verliert. im ersten multiplayer modus gibt es keine items. im zweiten multiplayer modus kommen die felder aus allen richtung hier gilt es wieder diesen zu entweichen dazu könnt ihr euch auch in alle richtungen bewegen. mit der F3 taste kommt ihr ins menu.

    Dateien

    Dodge.zip 1,48 MB – 391 Downloads
  • GDI+ Editor

    • gem
    • 28. November 2011 um 18:54

    ich habe nun eine neue version rausgebracht ist allerdings auch noch nicht ganz fertig was noch kommt steht ganz oben

    was würdet ihr noch machen?
    was fehlt noch?

  • GDI+ String zentrieren

    • gem
    • 24. November 2011 um 16:23

    vielen vielen dank das war es

  • GDI+ String zentrieren

    • gem
    • 24. November 2011 um 15:53

    Ich versuche vergeblich den Text im Button zu zentrieren das er sich Linksbündig anordnet habe ich so geschaft leider gibt es keine zentrierungsformat

    Linksbündig:

    [autoit]

    $hFormat = _GDIPlus_StringFormatCreate(0x0001)

    [/autoit]

    wie kann man den Text zentrieren?

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GDIP.au3>

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

    Global $Title = "Example"
    Global $Width = 500
    Global $Height = 500

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

    $Form = GUICreate($Title, $Width, $Height)

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

    _GDIPlus_Startup()
    $Graphic = _GDIPlus_GraphicsCreateFromHWND($Form)
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
    $Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
    $Brush1 = _GDIPlus_LineBrushCreate(0, 0, 0, 25, 0xFFFAFAFA, 0xFFE7E7E7)
    $Brush2 = _GDIPlus_LineBrushCreate(0, 0, 0, 25, 0xFFFDFDFD, 0xFFE9E9E9)
    $Brush3 = _GDIPlus_BrushCreateSolid(0xFF555555)
    $Brush4 = _GDIPlus_BrushCreateSolid(0xFF222222)
    $Pen1 = _GDIPlus_PenCreate(0xFFAAAAAA)
    $Pen2 = _GDIPlus_PenCreate(0xFF999999)
    $Pen3 = _GDIPlus_PenCreate(0xFFE0E0E0)

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

    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case -3
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_PenDispose($Pen2)
    _GDIPlus_PenDispose($Pen3)
    _GDIPlus_BrushDispose($Brush1)
    _GDIPlus_BrushDispose($Brush2)
    _GDIPlus_BrushDispose($Brush3)
    _GDIPlus_BrushDispose($Brush4)
    _GDIPlus_ImageDispose($Buffer)
    _GDIPlus_BitmapDispose($Bitmap)
    _GDIPlus_GraphicsDispose($Graphic)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    _GDIPlus_GraphicsClear($Buffer, 0xFFFFFFFF)
    Button(100, 100, 200, 22, "Hallo Welt")
    _GDIPlus_GraphicsDrawImage($Graphic, $Bitmap, 0, 0)
    WEnd

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

    Func Button($Left, $Top, $Width, $Height, $Text)

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

    If Pos($Left, $Top, $Width, $Height) = True Then
    $Brush = $Brush2
    $Pen = $Pen2
    $Color = $Brush4
    _GDIPlus_GraphicsDrawLine($Buffer, $Left - 1, $Top + 1, $Left - 1, $Top + $Height - 1, $Pen3)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + $Width + 1, $Top + 1, $Left + $Width + 1, $Top + $Height - 1, $Pen3)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top - 1, $Left + $Width - 1, $Top - 1, $Pen3)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top + $Height + 1, $Left + $Width - 1, $Top + $Height + 1, $Pen3)
    Else
    $Color = $Brush3
    $Brush = $Brush1
    $Pen = $Pen1
    EndIf

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

    _GDIPlus_GraphicsFillRect($Buffer, $Left + 1, $Top + 1, $Width - 1, $Height - 1, $Brush)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left, $Top + 1, $Left, $Top + $Height - 1, $Pen)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + $Width, $Top + 1, $Left + $Width, $Top + $Height - 1, $Pen)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top, $Left + $Width - 1, $Top, $Pen)
    _GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top + $Height, $Left + $Width - 1, $Top + $Height, $Pen)

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

    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 13, 0)
    $tLayout = _GDIPlus_RectFCreate($Left, $Top, $Width, $Height)
    $aInfo = _GDIPlus_GraphicsMeasureString($Buffer, $Text, $hFont, $tLayout, $hFormat)

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

    _GDIPlus_GraphicsDrawStringEx($Buffer, $Text, $hFont, $aInfo[0], $hFormat, $Color)
    EndFunc ;==>Button

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

    Func Pos($Left, $Top, $Width, $Height)
    $Pos = GUIGetCursorInfo($Form)
    If $Pos[0] >= $Left And $Pos[0] <= $Left + $Width And $Pos[1] >= $Top And $Pos[1] <= $Top + $Height Then Return True
    EndFunc ;==>Pos

    [/autoit]
  • _Stringbetween()

    • gem
    • 18. November 2011 um 16:42
    [autoit]

    $String = "123-456-789"
    $Nummern = StringSplit($String,"-")

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

    For $i = 1 To $Nummern[0]
    MsgBox(0,"",$Nummern[$i])
    Next

    [/autoit]
  • Neues Projekt - Neue Probleme

    • gem
    • 17. November 2011 um 17:26

    @Wydliez

    Habe mal eine PNG UDF geschrieben so werden die Bilder auch noch angezeigt wenn man das Fenster bewegt

    GUIImage
    [autoit]

    #include <GDIPlus.au3>

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

    Global $Graphic, $Counter, $Array[1][5]

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

    Func _GUIImageStart($Form)
    _GDIPlus_Startup()
    $Graphic = _GDIPlus_GraphicsCreateFromHWND($Form)
    EndFunc ;==>_GUIImageStart

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

    Func _GUICtrlCreateImage($Filename, $Left, $Top, $Width = False, $Height = False)
    $Counter += 1
    ReDim $Array[$Counter][6]
    $Array[$Counter - 1][0] = _GDIPlus_ImageLoadFromFile($Filename)
    If $Width = False Then $Width = _GDIPlus_ImageGetWidth($Array[$Counter - 1][0])
    If $Height = False Then $Height = _GDIPlus_ImageGetHeight($Array[$Counter - 1][0])
    $Array[$Counter - 1][1] = $Left
    $Array[$Counter - 1][2] = $Top
    $Array[$Counter - 1][3] = $Width
    $Array[$Counter - 1][4] = $Height
    GUIRegisterMsg(0x000F, "WM_PAINT")
    EndFunc ;==>_GUICtrlCreateImage

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

    Func WM_PAINT()
    For $i = 0 To UBound($Array) - 1
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Array[$i][0], $Array[$i][1], $Array[$i][2], $Array[$i][3], $Array[$i][4])
    Next
    EndFunc ;==>WM_PAINT

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

    Func _GUIImageClose()
    For $i = 0 To UBound($Array) - 1
    _GDIPlus_ImageDispose($Array[$i][0])
    Next
    _GDIPlus_GraphicsDispose($Graphic)
    _GDIPlus_Shutdown()
    EndFunc ;==>_GUIImageClose

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
    GUIImage Example
    [autoit]

    #include <GUIImage.au3>

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

    $Form = GUICreate("Example",500,500)
    _GUIImageStart($Form)
    _GUICtrlCreateImage("Basketball.png", 10, 10, 100, 100)
    _GUICtrlCreateImage("Basketball.png", 199, 199, 100, 100)
    _GUICtrlCreateImage("Basketball.png", 300, 300)
    GUISetState()

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

    While True
    Switch GUIGetMsg()
    Case -3
    _GUIImageClose()
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Dateien

    GUIImage.au3 1,18 kB – 324 Downloads GUIImage Example.au3 360 Byte – 324 Downloads

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™