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

  • [RichEdit] Mehrere RichEdit erstellen nicht möglich

    • gem
    • 20. Januar 2013 um 14:46

    also ich benutze 3.3.8.0 und bei mir klappt es auch nicht

  • Weihnachtsscripting-Challenge

    • gem
    • 11. Dezember 2012 um 15:45

    also ich arbeite auch schon an einem netten skript :)

  • [gdiplus] Bewegender Transparenter Kreis , der Rest Schwarz

    • gem
    • 9. Dezember 2012 um 20:28

    vielen dank für die antworten

    name22

    ich werde mir das mal genauer anschauen und versuchen zu verstehen :)

  • [gdiplus] Bewegender Transparenter Kreis , der Rest Schwarz

    • gem
    • 9. Dezember 2012 um 14:04

    guten morgen

    ich suche verzweifelt an einer möglichkeit in gdiplus einen kreis transprarent zu machen und den rest schwarz. der transparente kreis soll sich auch bewegen können. also ungefähr so wie eine fernrohransicht in einem computerspiel.

    ich habe mal ein beispiel gemacht damit ihr versteht was ich meine. wie man sieht ist das nicht sehr schön geskriptet und der kreis ist ein rechteck.
    ich würde mich freuen wenn mir jemand ein tipp geben könnte wie ich das machen könnte.

    example

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

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

    Opt("GUIOnEventMode", 1)
    $gui = GUICreate("Example", 400, 400)
    GUISetOnEvent(-3, "close")
    _GDIPlus_Startup()
    $graphics = _GDIPlus_GraphicsCreateFromHWND($gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $graphics)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    $rot = _GDIPlus_BrushCreateSolid(0xFF0000FF)
    GUISetState()

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

    $x = 0
    $y = 0

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

    While True
    $info = GUIGetCursorInfo($gui)
    If $info <> 0 Then
    If $x <> $info[0] Or $y <> $info[1] Then
    _GDIPlus_GraphicsClear($buffer, 0xFFFFFFFF)

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

    _GDIPlus_GraphicsFillRect($buffer, 100, 100, 100, 100, $rot)

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

    _GDIPlus_GraphicsFillRect($buffer, 0, 0, $x - 100, 400)
    _GDIPlus_GraphicsFillRect($buffer, $x + 100, 0, 400 - $x + 100, 400)
    _GDIPlus_GraphicsFillRect($buffer, $x - 100, 0, 200, $y - 100)
    _GDIPlus_GraphicsFillRect($buffer, $x - 100, $y + 100, 200, 400 - $y + 100)

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

    _GDIPlus_GraphicsDrawImage($graphics, $bitmap, 0, 0)
    $x = $info[0]
    $y = $info[1]
    EndIf
    EndIf
    WEnd

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

    Func Close()
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>Close

    [/autoit]
  • multipoint [gdiplus]

    • gem
    • 29. November 2012 um 16:48

    BinDannMalWeg

    doch habe ich ;)

    name22

    komisch bei mir bleibt die fps zahl konstant egal ob die maus drin oder draußen ist.aber ich werde trozdem nächstes mal das mit dem oneventmode arbeiten,danke. benutzt du zufällig vista oder win7

    Mars

    jo das mit adlib und dem oneventmode werde ich ändern
    leider funktioniert das spielt in deiner version nicht mehr aber ich werde die beiden sachen mal ändern, danke

  • multipoint [gdiplus]

    • gem
    • 28. November 2012 um 18:05

    name22

    das die animation so unflüssig ist liegt nicht an der GUImessage schleife, sondern daran das sich die felder immer ruckartig um 25px verschieben
    oder ruckelt bei dir auch das bitmap das gezeichnet wird? wieviel fps hast du?

  • multipoint [gdiplus]

    • gem
    • 28. November 2012 um 17:01

    bobekos

    danke :)

    1. ich glaub das liegt daran das sich die felder nicht dynamisch sondern ruckartig bewegen . das werde ich aber in der nächsten version ändern. da wird dann auch das blaue feld einen eigeen bilschirm bekommen

    2. achso das habe ich vergessen ich nutze die GDIP.au3 LINK weil dort mehr funktionen drin sind, die ich aber bei diesem skript garnicht genutzt habe . das habe ich vergessen, nächstes mal nehm ich die normale

  • multipoint [gdiplus]

    • gem
    • 28. November 2012 um 00:02

    [Blockierte Grafik: http://www10.pic-upload.de/27.11.12/lajan65nrtq.jpg]

    ich habe mal aus spaß ein multiplayer spiel geskriptet.
    das rote feld wird mit den pfeiltasten gesteuert und muss versuchen das, das blaue feld nicht mehr auf dem feld zusehen ist. das blaue feld wird mit wasd gesteuert und muss versuchen auf das rote feld zukommen.

    ändern der konstanten
    $MAP_SIZE die größe der karte auf der gespielt wird
    $SCREEN_SIZE bildschirmgröße
    $SPEED geschwindigkeit. je niedriger desto schneller
    $DENSITY die dichte der schwarzen felder. je niedriger desto mehr schwarze felder

    mit q könnt ihr die musik an oder aus machen

    neu
    ich habe nun das ganze auch nochmal in purebasic programmiert um mal den unterschied zu sehen
    autoit 50fps
    purebasic 60fps

    DOWNLOAD

    freue mich über kritik

  • Geschwindigkeit (AutoIt, Blitz3D(BlitzBasic), FreeBASIC, Java, Python, Lua, Ruby, ActionScript)

    • gem
    • 26. Oktober 2012 um 20:46

    @kunstlust

    du hast recht nicht nur die geschwindigkeit ist wichtig, wie du schon sagtest auch das handhaben einer programmiersprachen. allerdings musste ich in letzter zeit viele mathematische berechnungen in kurzer zeit erledigen und dann merkt man wie langsam autoit ist. ich erhoffe mir durch die vergleiche das man sieht welche schleife schneller ist und wie diese im gegensatz zu anderen programmiersprachen sind um dann eventuell programme wo die geschwindigkeit wichtig ist in einer anderen programmiersprachen zu schreiben. mit diesen vielen beispielen kann man sich ja dann eine raussuchen man sieht sehr schnell wie die schleifen in der jeweiligen sprachen aussehen.

  • Geschwindigkeit (AutoIt, Blitz3D(BlitzBasic), FreeBASIC, Java, Python, Lua, Ruby, ActionScript)

    • gem
    • 26. Oktober 2012 um 20:22

    könntet ihr mal ein beispiel skript in autoit schreiben das die geschwindigkeit in mehreren berreichn (funktionen,verzweigungen,schleifen) am besten testet. ich könnte dieses dann in mehren programmiersprachen schreiben, damit hätte man dann ein besseren vergleich. allerdings fällt mir nicht ein perfektes geshwindigkeitsskript ein.

  • Geschwindigkeit (AutoIt, Blitz3D(BlitzBasic), FreeBASIC, Java, Python, Lua, Ruby, ActionScript)

    • gem
    • 26. Oktober 2012 um 17:59

    ich habe mal aus interesse das gleiche skript so gut wie möglich in mehreren programmiersprachen geschrieben um zu messen wie viel zeit diese dafür benötigen. in dem skript wird eine variable so lange um 10 erhöht bis diese variable 100000000 erreicht. dieser vorgang wird viermal ausgeführt damit man einen durchschnittswert erhält. ich hoffe das die skripte auch stimmen und die zeitwerte auch.

    AutoIt
    [autoit]

    $diff = 0
    for $a = 0 to 3
    $i = 0
    $timer = TimerInit()
    while $i <> 100000000
    $i += 10
    WEnd
    ConsoleWrite(TimerDiff($timer)&@CRLF)
    $diff += TimerDiff($timer)
    Next
    ConsoleWrite($diff/4&@CRLF)

    [/autoit]


    1. durchlauf: 10584.4285381053ms
    2. durchlauf: 10586.5284718916ms
    3. durchlauf: 10490.6476379452ms
    4. durchlauf: 10606.4572835072ms
    durchschnitt: 10567.0634941793ms

    Blitz3D
    Code
    diff = 0
    For a = 0 To 3
    	i = 0
        timer = MilliSecs()
    	While i <> 100000000
    		i = i + 10
    	Wend
    	Print MilliSecs() - timer
        diff = diff + MilliSecs() - timer 
    Next
    Print diff/4
    Alles anzeigen


    1. durchlauf: 955ms
    2. durchlauf: 938ms
    3. durchlauf: 934ms
    4. durchlauf: 971ms
    durchschnitt: 952ms

    FreeBASIC
    Code
    Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
    
    
    dim as long i,diff,timer1
    dim as integer a
    diff = 0
    For a = 0 To 3
    	i = 0
        timer1 = GetTickCount()
    	While i <> 100000000
    		i += 10
    	Wend
    	Print GetTickCount() - timer1
        diff += GetTickCount() - timer1 
    Next
    Print diff/4
    sleep
    Alles anzeigen


    1. durchlauf: 31ms
    2. durchlauf: 31ms
    3. durchlauf: 32ms
    4. durchlauf: 31ms
    durchschnitt: 31.25ms

    Java
    Code
    public class Time {
      public static void main(String[] args) {
        long diff = 0;
        for(int a = 0; a < 4; a++){
          long i = 0;
          long timer = System.currentTimeMillis();
          while(i!=100000000){
            i += 10;
          }
          System.out.println(System.currentTimeMillis()-timer);
          diff += System.currentTimeMillis()-timer;
        }
        System.out.println(diff/4);
      }
    }
    Alles anzeigen


    1. durchlauf: 31ms
    2. durchlauf: 15ms
    3. durchlauf: 16ms
    4. durchlauf: 16ms
    durchschnitt: 19ms

    Python
    Code
    import time
    
    
    diff = 0
    for a in range(0,4):
        i = 0
        timer = time.time()
        while i <> 100000000:
           i += 10
        print time.time() - timer
        diff += time.time() - timer
    print diff/4
    Alles anzeigen


    1. durchlauf: 2797.00016975ms
    2. durchlauf: 2812.00003624ms
    3. durchlauf: 2796.99993134ms
    4. durchlauf: 2812.99996376ms
    durchschnitt: 2804.75002527ms

    Lua
    Code
    require "socket"
    diff = 0
    for a = 0,3 do
    	i = 0
        timer = socket.gettime()*1000
    	while i  ~= 100000000 do
    		i = i + 10
    	end
    	print(socket.gettime()*1000 - timer)
        diff = diff + socket.gettime()*1000 - timer
    end
    print(diff/4)
    Alles anzeigen


    1. durchlauf: 2031.25ms
    2. durchlauf: 2046.875ms
    3. durchlauf: 2062.5ms
    4. durchlauf: 2062.5ms
    durchschnitt: 2050.78125ms

    Ruby
    Code
    diff = 0
    for a in 0..3 do
        i = 0	
        timer = Time.now.to_f
        while i != 100000000
          i += 10
        end
        puts(Time.now.to_f - timer)
        diff += Time.now.to_f - timer
    end
    puts(diff/4)
    Alles anzeigen


    1. durchlauf: 4437.5ms
    2. durchlauf: 4406.25ms
    3. durchlauf: 4453.125ms
    4. durchlauf: 4437.5ms
    durchschnitt: 4433.59375ms

    ActionScript
    Code
    onFrame (1) {
    var diff = 0;
    var a:int;
    var i:uint = 0
    var timer = 0 
    for(a = 0; i < 4;i++){
        i = 0;
        timer = flash.utils.getTimer();
        while(i != 100000000){
            i += 10;
        }
        trace(flash.utils.getTimer() - timer);
        diff += flash.utils.getTimer() - timer;
    }
    trace(diff/4)
    }
    Alles anzeigen


    komischerweise stürzt swish max immer ab wenn ich es starte aber ohne error meldung.

    was haltet ihr davon?
    welche skripte könnte man noch schneller machen?

  • Buttons neugezeichnet?

    • gem
    • 10. Oktober 2012 um 15:56

    ich habe mal eine verständnis frage:
    werden bei windows standard button schon im vorraus für jedes event (hot, disabled etc.) bitmaps angelegt oder wird ein bitmap erst erstellt wenn dieses evnet eintritt. z.b wenn die maus über ein button geht das dieser button dann im hot modus gemalt wird.

  • FreeBASIC DLL Rückgabe String

    • gem
    • 8. Oktober 2012 um 15:04

    super danke für die ganzen antworten :)

  • FreeBASIC DLL Rückgabe String

    • gem
    • 4. Oktober 2012 um 18:05

    wie bekomm ich ein string return von einer freebasic dll in autoit angezeigt so hat es leider nicht geklappt:

    Code
    extern "Windows-MS"
    
    
    function Text() as string export
        return "Text"
    end function
    
    
    end extern
    [autoit]

    $dll = DllOpen("Test.dll")
    $result = DllCall($dll,"wstr","Text")
    MsgBox(0,"",$result[0])

    [/autoit]
  • _IsPressed nur im Aktiven Fenster

    • gem
    • 17. September 2012 um 22:48
    Zitat von Nitrama

    ich hab zwar rumprobiert aber habs nicht hinbekommen :)

    vieleicht so:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 623, 442, 192, 124)
    $Dummy1 = GUICtrlCreateDummy()
    Dim $Form1_AccelTable[1][2] = [["a", $Dummy1]]
    GUISetAccelerators($Form1_AccelTable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Dummy1
    MsgBox(0,"","")
    a()
    EndSwitch
    WEnd

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

    Func a()
    MsgBox(0,"","")
    EndFunc

    [/autoit]
  • Wo ist der fehlende 1€?

    • gem
    • 15. September 2012 um 23:35

    die rechnung ist einfach falsch

  • LSD (3D Visualizer mit OpenGl und BASS)

    • gem
    • 15. September 2012 um 23:09

    das ging ja schnell :)

    vielen dank

  • Wo ist der fehlende 1€?

    • gem
    • 15. September 2012 um 23:08

    also ich finde wenn man es sorgfältig durchliest fällt einem der fehler auf. aber auf alle fälle ganz lustig :)

  • LSD (3D Visualizer mit OpenGl und BASS)

    • gem
    • 15. September 2012 um 22:47

    bei mir ist noch die task- und fensterleiste sichtbar. ich fände es halt gut wenn man nur noch das video sehen würde.

  • LSD (3D Visualizer mit OpenGl und BASS)

    • gem
    • 15. September 2012 um 22:38

    gefällt mir richtig gut.

    ich hätte noch eine kleine idee, vielleicht das man mit einer taste das video im fullscreen bekommt

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™