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

Beiträge von Ineluki

  • Pilotentest

    • Ineluki
    • 25. September 2010 um 11:27

    Habs verbessert ;)

  • Warum geht das so nicht?

    • Ineluki
    • 25. September 2010 um 11:11
    Spoiler anzeigen
    [autoit]

    Dim $array[4]=["ID-String der Sounddatei", "VBR Länge Korrekturfaktor", "VBR Zeit Korrekturfaktor", "Sound ID Marker"] ; Array erstellen und Werte zuweisen
    $hGUI = GUICreate("GUI", 615, 438, 192, 124) ; GUI erstellen
    GUICtrlCreateGroup("GroupName", 16, 16, 273, 161) ; Gruppe erstellen
    $idstring = GUICtrlCreateLabel("", 32, 40, 244, 17) ; 1. label in der Gruppe erstellen
    $vbrl = GUICtrlCreateLabel("", 32, 72, 244, 17) ; 2. Label in der Gruppe erstellen
    $vbrt = GUICtrlCreateLabel("", 32, 104, 244, 17); 3. Label in der Gruppe erstellen
    $soundid = GUICtrlCreateLabel("", 32, 136, 244, 17); 4. Label in der Gruppe erstellen
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schließen
    GUISetState() ; GUI sichtbar machen
    If Ubound($array)=4 Then ; Prüfen ob das Array 4 Felder hat
    GUICtrlSetData($idstring, $array[0]) ; Den Wert vom ersten Label ändern
    GUICtrlSetData($vbrl, $array[1]) ; Den Wert vom zweiten Label ändern
    GUICtrlSetData($vbrt, $array[2]) ; Den Wert vom dritten Label ändern
    GUICtrlSetData($soundid, $array[3]) ; Den Wert vom vierten Label ändern
    EndIf
    While true
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Warum geht das so nicht?

    • Ineluki
    • 25. September 2010 um 11:02

    Du tust in die Gruppe 4 Label, prüfst ob $array ein Array ist (IsArray), wenn ja lässt du die Werte mit GUICtrlSetData anzeigen

  • Pilotentest

    • Ineluki
    • 25. September 2010 um 10:55

    Vorgestern gab es in der Shoutbox den Vorschlag, diesen Test nachzumachen. Auch wenn es nicht an mich gerichtet war, hab ich es trotzdem mal gemacht.

    Spoiler anzeigen
    [autoit]

    ; In Anlehnung an http://www.msf-longkamp.de/pilotentest.html
    #AutoIt3Wrapper_usex64=n
    #region includes
    #include <QuickDraw.au3>
    #include <Array.au3>
    #include <Misc.au3>
    #endregion includes
    #region Variablen und Einstellungen
    HotKeySet("{NUMPADSUB}", "changeSpeed")
    HotKeySet("{NUMPADADD}", "changeSpeed")
    Opt("MouseCoordMode", 2)
    Dim $rects[4][6] = [[30, 30, 170, 30, Random(-5, 5, 1), Random(-5, 5, 1)],[400, 30, 50, 170, Random(-5, 5, 1), Random(-5, 5, 1)], _
    [300, 400, 153, 30, Random(-5, 5, 1), Random(-5, 5, 1)],[32, 300, 50, 133, Random(-5, 5, 1), Random(-5, 5, 1)]], _
    $DrawWall[4][5] = [[0, 0, 25, 500, 4],[0, 0, 500, 25, 5],[475, 0, 25, 500, 4],[0, 475, 500, 25, 5]], _
    $playerRect[4] = [250, 250, 50, 50], $wall[4][5] = [[0, 0, 1, 500, 4],[0, 0, 500, 1, 5],[499, 0, 1, 500, 4],[0, 499, 500, 1, 5]]
    Global $sTimer = TimerInit(), $speed = 2, $game=true, $mPressed=false
    #endregion Variablen und Einstellungen
    For $i = 0 To 3
    If $rects[$i][4] = 0 Then $rects[$i][4] = Random(1, 5, 1)
    If $rects[$i][5] = 0 Then $rects[$i][5] = Random(1, 5, 1)
    Next
    While true
    _QuickDraw_Enable("Pilotentest", 500, 500, 500, 500, 0)
    $Font = _QuickDraw_CreateFont("Arial")
    For $i = 3 To 0 Step -1
    counter($i)
    Next
    Local $cSec = @SEC, $fps = 0, $fps_zaehler = 0
    $hTimer = TimerInit()
    #region Hauptschleife
    While _QuickDraw_Running() And Sleep(10) And $game
    _QuickDraw_ClearBuffer(0xFFCCCCFF)
    For $i = 0 To 3
    _QuickDraw_Rect($rects[$i][0], $rects[$i][1], $rects[$i][2], $rects[$i][3], $Draw_Fill, 0xFF000099)
    _QuickDraw_Rect($DrawWall[$i][0], $DrawWall[$i][1], $DrawWall[$i][2], $DrawWall[$i][3], $Draw_Fill, 0xFF000000)
    Next
    _QuickDraw_Text(20, 20, "Zeit: " & Round(TimerDiff($hTimer) / 1000, 3), 13, $Font, $Draw_Fill, 0xFF00FF00)
    _QuickDraw_Text(100, 20, "Geschwindigkeit: " & $speed, 13, $Font, $Draw_Fill, 0xFF00FF00)
    _QuickDraw_Text(280, 20, "FPS: " & $fps, 13, $Font, $Draw_Fill, 0xFF00FF00)
    _QuickDraw_Rect($playerRect[0], $playerRect[1], $playerRect[2], $playerRect[3], $Draw_Fill, 0xFFFF0000)
    _QuickDraw_SwapBuffers()
    If TimerDiff($sTimer) > $speed * 10 Then moveBlocks()
    playerRect()
    FPS()
    WEnd
    $game=true
    WEnd
    #endregion Hauptschleife
    #region Funktionen
    Func moveBlocks()
    For $i = 0 To 3
    For $x = 0 To 3
    If RectCollision($rects[$i][0], $rects[$i][1], $rects[$i][2], $rects[$i][3], $wall[$x][0], $wall[$x][1], $wall[$x][2], $wall[$x][3]) Then $rects[$i][$wall[$x][4]] *= (-1)
    Next
    $rects[$i][0] += $rects[$i][4]
    $rects[$i][1] += $rects[$i][5]
    Next
    $sTimer = TimerInit()
    EndFunc ;==>moveBlocks
    Func playerRect()
    $mouseX = MouseGetPos(0)
    $mouseY = MouseGetPos(1)
    If _IsPressed(01) And ($mouseX > $playerRect[0] - 40 And $mouseX < $playerRect[0] + 40) And ($mouseY > $playerRect[1] - 40 And $mouseY < $playerRect[1] + 40) And $mPressed=false Then
    $playerRect[0] = $mouseX - $playerRect[2] / 2
    $playerRect[1] = $mouseY - $playerRect[3] / 2
    $mPressed=True
    ElseIf _IsPressed(01) And $mPressed Then
    $playerRect[0] = $mouseX - $playerRect[2] / 2
    $playerRect[1] = $mouseY - $playerRect[3] / 2
    Else
    $mPressed=False
    EndIf
    For $i = 0 To 3
    If RectCollision($playerRect[0], $playerRect[1], $playerRect[2], $playerRect[3], $rects[$i][0], $rects[$i][1], $rects[$i][2], $rects[$i][3]) Then end()
    If RectCollision($playerRect[0], $playerRect[1], $playerRect[2], $playerRect[3], $DrawWall[$i][0], $DrawWall[$i][1], $DrawWall[$i][2], $DrawWall[$i][3]) Then end()
    Next
    EndFunc ;==>playerRect
    Func end()
    If MsgBox(4, "Verloren", "Du hast leider verloren. Du hast " & Round(TimerDiff($hTimer) / 1000, 3) & " Sekunden durchgehalten."&@CRLF&"Möchtest du es nocheinmal versuchen?")=6 Then
    $game=false
    WinKill("Pilotentest")
    $playerRect[0]=250
    $playerRect[1]=250
    Dim $rects[4][6] = [[30, 30, 170, 30, Random(-5, 5, 1), Random(-5, 5, 1)],[400, 30, 50, 170, Random(-5, 5, 1), Random(-5, 5, 1)], _
    [300, 400, 153, 30, Random(-5, 5, 1), Random(-5, 5, 1)],[32, 300, 50, 133, Random(-5, 5, 1), Random(-5, 5, 1)]]
    For $i = 0 To 3
    If $rects[$i][4] = 0 Then $rects[$i][4] = Random(1, 5, 1)
    If $rects[$i][5] = 0 Then $rects[$i][5] = Random(1, 5, 1)
    Next
    Else
    _QuickDraw_FreeFont($Font)
    _QuickDraw_Disable()
    Exit
    EndIf
    EndFunc ;==>end
    Func counter($number)
    For $x = 255 To 25.5 Step -25.5
    _QuickDraw_ClearBuffer(0xFFCCCCFF)
    For $i = 0 To 3
    _QuickDraw_Rect($rects[$i][0], $rects[$i][1], $rects[$i][2], $rects[$i][3], $Draw_Fill, 0xFF000099)
    _QuickDraw_Rect($DrawWall[$i][0], $DrawWall[$i][1], $DrawWall[$i][2], $DrawWall[$i][3], $Draw_Fill, 0xFF000000)
    Next
    _QuickDraw_Rect($playerRect[0], $playerRect[1], $playerRect[2], $playerRect[3], $Draw_Fill, 0xFFFF0000)
    _QuickDraw_Rect(0, 0, 500, 500, $Draw_Fill, 0x80FFFFFF)
    _QuickDraw_Text(150 + $x / 2, 250 + $x / 2, $number, $x, $Font, $Draw_Fill, "0x" & Hex($x * 1, 2) & "000000")
    _QuickDraw_SwapBuffers()
    Sleep(100)
    Next
    EndFunc ;==>counter
    Func changeSpeed()
    If @HotKeyPressed = "{NUMPADSUB}" Then $speed += 1
    If @HotKeyPressed = "{NUMPADADD}" Then $speed -= 1
    If $speed > 10 Then $speed = 10
    If $speed < 0 Then $speed = 0
    EndFunc ;==>changeSpeed
    Func FPS()
    If $cSec <> @SEC Then
    $cSec = @SEC
    $fps = $fps_zaehler
    $fps_zaehler = 0
    EndIf
    $fps_zaehler += 1
    EndFunc ;==>FPS
    Func RectCollision($iX1, $iY1, $iWidth1, $iHeight1, $iX2, $iY2, $iWidth2, $iHeight2)
    ;Author: Faweyr
    Return $iX1 + $iWidth1 > $iX2 And $iX1 < $iX2 + $iWidth2 And $iY1 + $iHeight1 > $iY2 And $iY1 < $iY2 + $iHeight2
    EndFunc ;==>RectCollision
    #endregion Funktionen

    [/autoit]


    Als Zip Archiv (mit Dll, include usw.):Download Download

    Mit + und - (auf dem Numpad) kann man die Geschwindigkeit verändern. Je höher der Wert, umso langsamer sind die Rechtecke.

  • If Abfrage Problem

    • Ineluki
    • 24. September 2010 um 19:59

    Ich würde sagen in diesem Fall bringt Select/Switch nur wenig.

  • Problem mit ablauf des scriptes

    • Ineluki
    • 24. September 2010 um 15:51
    [autoit]


    $nMsg=GUIGetMsg()
    While $nMsg <> $btn3
    $nMsg=GUIGetMsg()
    Switch $nMsg
    Case $btn3
    MsgBox(0, "", "Die Alte umfrage wird nun überschrieben!")
    Case $btn4
    Exit
    EndSwitch
    WEnd
    ;oder
    While true
    $nMsg=GUIGetMsg()
    Switch $nMsg
    Case $btn3
    MsgBox(0, "", "Die Alte umfrage wird nun überschrieben!")
    ExitLoop
    Case $btn4
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Progress Zahl

    • Ineluki
    • 23. September 2010 um 19:14

    Sieht ganz lustig aus :D

  • Problem mit Inputbox auslesen

    • Ineluki
    • 23. September 2010 um 19:09

    "$Input1" ist ein String ;) Die Variable musst du so wiedergeben:

    [autoit]

    $Input = InputBox ("Text","Schreibe bitte deinen Text")
    MsgBox ( 1,"dein Text",$Input)

    [/autoit]


    Wenn du Strings, Makros, Variablen verbinden willst, musst du das mit einem & Zeichen tun:

    [autoit]

    $var=1
    MsgBox(0, "", "Das Ergebnis von 1*1: "&$var)

    [/autoit]
  • Bastelei mit +=

    • Ineluki
    • 22. September 2010 um 18:13
    [autoit]

    Local $hour=07, $minutes=59
    MsgBox(0, "Zeit vorher", $hour&":"&$minutes)
    sleep(60000)
    If $minutes=60 Then
    $minutes=00
    If $hour=23 Then
    $hour=00
    Else
    $hour+=1
    EndIf
    EndIf
    If StringLen($hour)=1 Then $hour="0"&$hour
    If StringLen($minutes=1 Then $minutes="0"&$minutes
    MsgBox(0, "Zeit nachher", $hour&":"&$minutes)

    [/autoit]
  • Input Eingabe sperren

    • Ineluki
    • 22. September 2010 um 16:05

    ich würds so machen:

    [autoit]

    GUICtrlSetState($CONTROLID, 128) ; zum sperren
    GUICtrlSetState($CONTROLID, 64) ; zum entsperren

    [/autoit]
  • Input Eingabe sperren

    • Ineluki
    • 22. September 2010 um 15:48

    Mehr Infos bitte. Ist es die Standart Funktion InputBox oder hast du die InputBox mit einer GUI nachgebaut?

  • PC prüfen ( ping )

    • Ineluki
    • 21. September 2010 um 17:01
    Spoiler anzeigen
    [autoit]

    Local $check=False, $time=0.5
    $hGUI = GUICreate("GUINAME", 277, 438, 192, 124)
    GUICtrlCreateLabel("Ip's (bitte durch einen Zeilenumbruch trennen)", 16, 16, 220, 17)
    $ipEdit = GUICtrlCreateEdit("", 16, 48, 217, 313, BitOR(64, 4096, 0x00200000))
    $start = GUICtrlCreateButton("Starten", 16, 384, 75, 25)
    $stop = GUICtrlCreateButton("Anhalten", 160, 384, 75, 25)
    GUICtrlSetState(-1, 128)
    GUISetState()
    $hTimer=TimerInit()
    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $start
    If GUICtrlRead($ipEdit)<>'' Then
    $check=True
    GUICtrlSetState($start, 128)
    GUICtrlSetState($stop, 64)
    Else
    MsgBox(16, "Fehler", "Bitte gebe erst IP's ein.")
    EndIf
    Case $stop
    $check=False
    GUICtrlSetState($start, 64)
    GUICtrlSetState($stop, 128)
    EndSwitch
    If TimerDiff($hTimer)>= $time*60000 And $check Then checkIp()
    WEnd
    Func checkIP()
    Local $offline
    $IP=StringSplit(GUICtrlRead($ipEdit), @LF)
    For $i=1 to $IP[0]
    If Not Ping($IP[$i]) Then $offline+=1
    Next
    If $offline=$IP[0] Then Shutdown(1)
    $hTimer=TimerInit()
    EndFunc

    [/autoit]
  • AutoIt in C++

    • Ineluki
    • 21. September 2010 um 12:34

    Also ich persönlich fände es super, wenn du wieder anfangen würdest.

  • AutoIt in C++

    • Ineluki
    • 20. September 2010 um 19:56

    Sieht super aus :thumbup: Genau so hatte ich mir das vorgestellt. Arbeitest du noch an dem Projekt? Ich fänds super :thumbup:

  • In Seiten etwas suchen lassen

    • Ineluki
    • 20. September 2010 um 15:28

    Guck dir mal

    [autoit]

    INetGetSource

    [/autoit]


    an
    (oder

    [autoit]

    BinaryToString(INetRead("URL"))

    [/autoit]

    )

  • AutoIt in C++

    • Ineluki
    • 20. September 2010 um 14:32

    Mit dem Compiler von AutoIt sind die Programme immer ziemlich langsam, wenn man das nach C++ übertragen würde wäre es sicherlich um einiges schneller, oder nicht?

  • AutoIt in C++

    • Ineluki
    • 20. September 2010 um 14:16

    Dass es nicht einfach ist, ist klar, trotzdem ist es meiner Meinung nach ein Versuch wert.

  • AutoIt in C++

    • Ineluki
    • 20. September 2010 um 13:58

    Gleich vorweg: Wenn der Thread im falschen Forum ist, bitte verschieben

    Wie wäre es, alle Funktionen aus AutoIt in C++ zu übertragen, also ein Include File für C++ wo Funktionen mit den Funktionsnamen von AutoIt drin sind, die auch genau das gleiche machen wie die Funktionen in AutoIt. So wäre das fertige Programm doch sicherlich schneller, oder? Dafür bräuchte ich natürlich Helfer, da ich selber C++ so gut wie gar nicht kann :pinch: Mattthias hat schon in der SB gesagt, dass er gern mitmachen würde, gibt es sonst noch Leute, die Interese hätten?

  • [Spiel] Drop Off

    • Ineluki
    • 20. September 2010 um 10:08

    Schönes Spiel, aber etwas leicht. Vllt noch etwas den Schwierigkeitsgrad erhöhen und noch Bonus/Malus hinzufügen.

  • Gleichungslöser

    • Ineluki
    • 18. September 2010 um 09:23

    Ich hab grad das hier gefunden:
    Klick
    Scheint recht schnell zu sein und scheint auch zu funktionieren.

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™