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. General Kaboom

Beiträge von General Kaboom

  • Happy Glückwunsch Andy zum 47'ten

    • General Kaboom
    • 4. Februar 2013 um 16:03

    Wow das ist jetzt ein Bisschen Gruselig ^^ du könntest (alterstechnisch) mein Vater sein xD

    Alles gute, und trink nicht zu viel ^^ . In deinem Alter verträgt man das nicht mehr so :rofl:

  • Prozentanteil aller Farben in einem Bildausschnitt

    • General Kaboom
    • 4. Februar 2013 um 15:13

    Genau das ist der Grundgedanke...in Assembler kenne ich mir leider nun so ziehmlich...gar nicht aus, wollt s mir eigentlich mal letztes Jahr vornehmen, aber ich will kein Durcheinander bekommen (bin seid meiner C++/C#-Zeit ziehmlich anfällig darauf, alle verschiedensten Programmiersprachen miteinander zu vermischen ^^).
    Gute Performance wäre ein Plus-Punkt, aber nicht essentiell notwendig. Wenn ich da noch eine maximale Grösse festlege wird das schon klappen, es sollen ja keine HD-Bilder sein die eingelesen werden sondern eher so...halt Zeugs das sich lohnt in Pixel-Art darzustellen.
    Ich denke ich nehm deine Lösung...naja sobald ich fertig mit testen bin ;)

  • CityMark 0.1 - OpenGL 3D Benchmark

    • General Kaboom
    • 4. Februar 2013 um 15:07
    Zitat

    =============== MINX-O-MAT =====================================
    - CPU: Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz (4 x 2504MHz)
    - CPU-Cooldown [====================]
    + Test 1: 365555 points.
    Failed to select a GLFWFBConfig from the alternatives
    Unable to find a usable pixel format
    Failed to create GLFW window
    !>15:06:47 AutoIT3.exe ended.rc:-1073741819

    Alles anzeigen

    8|
    Was denn nu...ich schwöre ich hab nichts angefasst ^^

  • Prozentanteil aller Farben in einem Bildausschnitt

    • General Kaboom
    • 4. Februar 2013 um 15:01

    Besten dank, werd ich mir gleich mal anschauen, so wie das hier Aussieht, muss ich dann aber jedes Pixel einzeln überprüfen...so müsste ich aber dann vermutlich irgendwie eine maximale Grösse festlegen, damit die Suche nicht zu lange dauert und vorallem nicht gleich den PC überlastet...wobei das natürlich keine unüberwindbare Hürde ist/wäre. Wenn das so funktioniert, ist das für mich eg. okay, aber ich lasse mal noch offen für den Fall, dass jemand etwas NOCH besseres weiss ;)

  • Prozentanteil aller Farben in einem Bildausschnitt

    • General Kaboom
    • 4. Februar 2013 um 14:43

    Moinsen

    Also 1. mal sorry für den unverständlichen Titel aber ich hatte so keinen Schimmer, wie man diese Frage in einen Sinnvollen Titel verwandeln kann ^^
    Nun zu meiner Frage. Die Ausgangslage ist folgende:

    • Ich habe irgendein Bild (Auflösung unterschiedlich)
    • Ich will nun von einem bestimmten Ausschnitt des Bildes (z.B. 10x10px-Ausschnitt an den Koordinaten 0x0) herausfinden, welche Farbe am meisten vorkommt
    • Es soll nicht einfach nur mit bestimmten Farben gearbeitet werden, sondern es soll der (möglichst) genaue Hex-Farbcode ausgegeben werden

    Ich weiss es gäbe da eine Lösung mit PixelGetColor, aber dafür müsste das Bild meines Wissens irgendwie auf dem Bildschirm angezeigt sein und genau das will ich nicht.
    Das ganze soll nun also das Bild (Speicherort bekannt) irgendwie im Hintergrund öffnen und dann an der gewünschten Position innerhalb des angegebenen Bereichs diese Prozentual am meisten vorkommende Farbe ausfindig machen, diese Funktion wird dann auf dem gesamten Bild immer mit neuen Koordinaten ausgeführt, bis ich dann für alle einen Farbcode Beispielsweise in einem Array habe.
    Ich hoffe das ist mehr oder weniger verständlich geschrieben, ich bin gerade etwas im Stress :S

    lg Gene

  • Bildausschnitt aus dem Clipboard lesen

    • General Kaboom
    • 4. Februar 2013 um 11:10

    Moin

    Für sowas gibt es Suchmaschinen, ich habe über Google so einiges gefunden ;)
    Als Beispiel: vielecht hilft dir das irgendwie: http://www.autoit.de/index.php?page=Thread&threadID=19801

  • Chessboard [GDI+-Spiel]

    • General Kaboom
    • 31. Januar 2013 um 10:10

    Moin zusammen

    Hier also mein erstes abgeschlossenes GDI+ Skript, es ist nichts besonderes, einfach ein kleines Geschicklichkeitsspiel.
    Besten Dank an gem für die Hilfe zur Geschwindigkeitsoptimierung!
    Der Code ist etwas umständlich und könnte durchaus noch mehr optimiert werden, aber ich will nicht zu lange daran rumdoktoren.
    Es war eher so eine Art Übungsskript, also hier mal die Endversion meines Schachbrettspiels.

    Regeln:

    • Klickt auf dem Schachbrett die erscheinenden roten Quadrate an
    • Ihr habt 5 Sekunden Zeit sonst habt ihr verloren
    • Alle 10 Punkte wird das Schachbrett mit halb so grossen Quadraten neu erstellt

    Frei nach dem Motto "wer den Code liest bevor er s gespielt hat ist ein Spielverderber" will ich nun gar nicht mehr lange drumrum reden.
    Also: Viel Spass beim spielen!.
    Und bitte keine Bemerkungen über den Gewinnerbildschirm im Forum ;)

    lg Gene

    Dateien

    Chessboard.zip 1,36 MB – 371 Downloads
  • GDI+ Schachbrettspiel, Geschwindigkeitsprobleme

    • General Kaboom
    • 30. Januar 2013 um 16:01

    Genau :thumbup: besten dank

    Bin heute wohl etwas zerstreut...150 Zeilen in 8h, normalerweise schaff ich mind. 600 :D

  • GDI+ Schachbrettspiel, Geschwindigkeitsprobleme

    • General Kaboom
    • 30. Januar 2013 um 15:06

    Moin zusammen

    Ich habe gerade angefangen, mit GDI+ zu skripten. Nun hab ich ein etwas komplizierteres Projekt pausiert, um mich mit der Funktion

    [autoit]

    _GDIPlus_GraphicsDrawRect

    [/autoit]


    auseinander zu setzen und da ich ein Fan von konzentrationsspielen bin, dachte ich mir, ich versuch mal etwas ganz einfaches zu diesem Thema auf die Beine zu stellen.
    Nun herausgekommen ist der untenstehende Code, das Programm funktioniert auch grundsätzlich.

    Regeln:
    - Klickt die erscheinenden Roten Quadrate auf dem Schachbrett an, ihr habt 5 Sekunden Zeit
    - Alle 10 Punkte wird die Anzahl der Quadrate auf dem Schachfeld verdoppelt
    - Es gibt max. 5 Runden zu spielen (weiter wollte ich aus Zeitgründen nicht gehen)

    So...wie gesagt, die Grundfunktionalität ist vorhanden, allerdings werdet ihr bemerken, dass das Schachbrett bereits ab der 3. Stufe nach jedem Punk flackert, auf der letzten Stufe dauert es beinahe 1/2 Sekunde bis das Feld geladen ist.

    Ich wäre mir froh, wenn mir jemand helfen könnte, ich glaube ich habe den Buffer irgendwie total seltsam ("schrägstrich" falsch) platziert.


    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>;das include
    #include <Misc.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    OnAutoItExitRegister("_end") ; die Funktion _end am Ende des Scriptes ausführen

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

    $size = 80
    $score = 0
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup() ;Gdi starten
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(800, 800, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    _drawChess()
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(800, 800, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    $timer = TimerInit()

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

    While 1
    _drawChess()
    While 1
    Do
    $xRandom = Random(0, 800 - $size, 1)
    Until IsInt($xRandom / $size)
    Do
    $yRandom = Random(0, 800 - $size, 1)
    Until IsInt($yRandom / $size)
    $redButton = GUICtrlCreateLabel("", $xRandom, $yRandom, $size, $size)
    GUICtrlSetBkColor(-1, 0xFF0000)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $redButton
    $timer = TimerInit()
    GUICtrlDelete($redButton)
    $score += 10
    If IsInt($score / 100) Then
    $size = $size / 2
    ExitLoop 2
    EndIf
    If $score = 500 Then
    $return = _win()
    If $return =1 Then
    Exit
    Else
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $timer = TimerInit()
    ExitLoop 2
    EndIf
    EndIf
    _drawChess()
    ExitLoop
    EndSwitch
    If TimerDiff($timer) > 5000 Then
    $return = _gameOver($score)
    If $return = 1 Then
    Exit
    Else
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $timer = TimerInit()
    ExitLoop 2
    EndIf
    EndIf
    WEnd
    WEnd
    WEnd

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

    Func _gameOver($score)
    GUICtrlDelete($redButton)
    GUIDelete($Gui)
    _drawChess()
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $Label1 = GUICtrlCreateLabel("Game Over!", 80, 120, 589, 122)
    GUICtrlSetFont(-1, 72, 400, 0, "MS Reference Sans Serif")
    $Label2 = GUICtrlCreateLabel("Your score is: ", 75, 295, 295, 53)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Label3 = GUICtrlCreateLabel($score, 380, 295, 295, 53, $SS_RIGHT)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button1 = GUICtrlCreateButton("Replay", 75, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button2 = GUICtrlCreateButton("Quit", 395, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $return = 0
    ExitLoop
    Case $Button2
    $return = 1
    ExitLoop
    EndSwitch
    WEnd
    Return $return
    EndFunc

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

    Func _win()
    GUICtrlDelete($redButton)
    GUIDelete($Gui)
    _drawChess()
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $Label1 = GUICtrlCreateLabel("Congratulations!", 80, 120, 589, 122)
    GUICtrlSetFont(-1, 50, 400, 0, "MS Reference Sans Serif")
    $Label2 = GUICtrlCreateLabel("You won!!!!!", 75, 295, 295, 53, $SS_CENTER)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button1 = GUICtrlCreateButton("Replay", 75, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button2 = GUICtrlCreateButton("Quit", 395, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $return = 0
    ExitLoop
    Case $Button2
    $return = 1
    ExitLoop
    EndSwitch
    WEnd
    Return $return
    EndFunc

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

    Func _drawChess()
    $whitePen = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    $blackPen = _GDIPlus_BrushCreateSolid(0xFF000000)
    $redPen = _GDIPlus_BrushCreateSolid(0xFFFF0000)
    _GDIPlus_GraphicsFillRect($graphic, 0, 0, 800, 800, $whitePen)
    For $i = 0 To 800 Step $size * 2
    For $j = $size To 800 Step $size * 2
    _GDIPlus_GraphicsFillRect($graphic, $j, $i, $size, $size, $blackPen)
    _GDIPlus_GraphicsFillRect($graphic, $j - $size, $i - $size, $size, $size, $blackPen)
    Next
    Next
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    EndFunc

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

    Func _end();die Exit funktion
    _GDIPlus_GraphicsDispose($graphic);Grafik Objekt freigeben
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_Shutdown();Ressourcen freigeben
    EndFunc ;==>_end

    [/autoit]
  • Souris [Spiel]

    • General Kaboom
    • 30. Januar 2013 um 10:14

    Also ich finde die Version mit überraschung witziger ^^ werds mir aber trotzdem mal ziehen

  • Wie sieht euer Desktop aus?

    • General Kaboom
    • 29. Januar 2013 um 15:12

    Musikplayer gibts auf Android keinen Besseren als Power AMP ;)

  • Inputbox zu Text Datei

    • General Kaboom
    • 28. Januar 2013 um 12:41

    Schlage vor das schreibst du ausserhalb des Spoilers, in den Spoiler gehört eg. nur der Code wenn er viele Zeilen hat ;)

  • Info Tool

    • General Kaboom
    • 28. Januar 2013 um 12:32

    Windows Enterprise 32 bit wärs bei mir. Ich hab dir mal 2 Screens davon angehängt.

    Falls du Lust hast GDI+ einzubauen, https://autoit.de/index.php?page=Thread&amp;threadID=20612 ein relativ leicht verständliches Tutorial.

    Dateien

    1.PNG 30,52 kB – 0 Downloads 2.PNG 34,05 kB – 0 Downloads
  • Info Tool

    • General Kaboom
    • 28. Januar 2013 um 11:19

    Also ich geb dir mal ein paar Kritikpunkte:

    • Das Feld mit den x-Koordinaten wechselt irgendwie immer zu irgendeiner Prozentzahl, könnte evtl. die Core 0 Auslastung sein die da irgendwie dieses Feld überschreibt
    • Die Beschriftung der Gruppe für die Cursorkoordinaten usw. zeigt ebenfalls diese Prozentzahl anstatt einem Titel an
    • Für die Anzeige der Auslastung solltest du evtl. Balken mit GDI+ erstellen oder was anderes verwenden, da die Ladebalken immer von 0 beginnen und dann relativ langsam auf die Prozentzahl steigen, spätestens bei Belastungen über 40% kommt dann der Balken nicht mehr nach
    • Die Prozentzahlen sind teils Negativ, es kann wohl kaum sein, dass eine CPU unterlastet ist ^^
    • Die ganze GUI wirkt noch etwas lieblos, etwas trocken, ausserdem könnten gut noch einige zusätzliche Infos ausgelesen werden

    Fazit: aktuell ist es noch so ein Standard-Infotool, keine grossen Besonderheiten. Versuch doch irgendwie gewisse Dinge (z.B. CPU-/RAM-Verlauf) noch Grafisch in einem Diagramm anzuzeigen.
    Ich als Design-Fanatiker vermisse natürlich zusätzlich noch die Liebe zum Detail, etwas peppiges keine Ahnung wie genau.
    Sieh dir mal Programmie wie z.B. Speccy an da kommst du vieleicht noch Ideen was noch angezeigt werden könnte

  • Problemlösung bei 2.GUIs und Maus

    • General Kaboom
    • 23. Januar 2013 um 14:16
    Zitat von BugFix


    Das sollte man so auf gar keinen Fall verwenden. Gerade für solche Fälle gibt es ein Flag in der Funktion GuiGetMsg(), wie im Bsp. von Make-Grafik gezeigt.

    Jaa, ich war etwas im Stress und hab nicht gründlich nachgedacht :whistling: sorry

  • Problemlösung bei 2.GUIs und Maus

    • General Kaboom
    • 22. Januar 2013 um 13:22

    Hoppla...mein Fehler ^^ Moment

    Spoiler anzeigen
    [autoit]

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

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

    $Form1 = GUICreate("NLT", 105, 116, 192, 133, $GUI_SS_DEFAULT_GUI, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    $Label1 = GUICtrlCreateLabel("Nova Lüftungstool", 9, 8, 91, 17)
    $Label2 = GUICtrlCreateLabel("Status: On/Off", 18, 32, 73, 17)
    $Button1 = GUICtrlCreateButton("Tastenbelegung", 5, 72, 83, 17)
    $Button2 = GUICtrlCreateButton("Hilfe", 5, 96, 83, 17)
    $Label3 = GUICtrlCreateLabel("v.0.4", 40, 48, 28, 17)
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Nova Lüftungstool Tastenbelegung", 540, 230, 666, 394)
    $Label1 = GUICtrlCreateLabel("Nova Lüftungstool", 152, 32, 133, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Tastenbelegung", 160, 64, 103, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("Eckig: Kanal=a; Bogen=s; Übergang=ü; Übergang eckig>rund=p; T-Stück=t; Hosenstück=h", 56, 104, 449, 17)
    $Label4 = GUICtrlCreateLabel("Rund: Rohr=w; Bogen=r; T-Stück=e; Übergang=u", 56, 144, 456, 17)
    $Label5 = GUICtrlCreateLabel("Konstruktionshilfe: Linie=l; K-Linie=k; Verbinder=v; Messen=m; Draggen=d; Drehen=y; Spiegeln=g", 56, 184, 463, 17)
    $Label6 = GUICtrlCreateLabel("Textmodus=q; Beenden=Einfg", 144, 200, 371, 17)
    GUISetState(@SW_HIDE)

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

    While 1
    $nMsg = GUIGetMsg($Form1)
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_Show, $Form2)
    While 1
    $nMsg = GUIGetMsg($Form2)
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $Form2)
    GUISetState(@SW_Show, $Form1)
    ExitLoop
    EndSwitch
    WEnd
    EndSwitch
    WEnd

    [/autoit]
  • Problemlösung bei 2.GUIs und Maus

    • General Kaboom
    • 22. Januar 2013 um 12:54

    Zu 1. versuch mal:

    [autoit]


    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $Form2)

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


    Anstatt:

    [autoit]

    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit]

    Zu 2.

    [autoit]

    _MouseTrap

    [/autoit]
  • [MySQL] INNER JOIN. Etwas Verwirrung

    • General Kaboom
    • 22. Januar 2013 um 10:53

    Meiner Faulheit schadet das ENORM xD

  • Wie kommt ihr auf euren Nicknamen?

    • General Kaboom
    • 22. Januar 2013 um 08:25

    @miks keine Sorge, ich hab noch nen schlechteren :D

    [Blockierte Grafik: http://www.fireworks.us/v/vspfiles/photos/FR235-2T.jpg]

  • [MySQL] INNER JOIN. Etwas Verwirrung

    • General Kaboom
    • 21. Januar 2013 um 09:02

    -.- wenn ich gewusst hätte, dass hier SQL-Genies rumkursieren. Hätte ich statt mir das alles übers Wochenende einzprügeln, bloss mal hier nachgefragt ^^
    Hab heute ne Abschlussprüfung über SQL...jetzt musste ich 22 Kapitel (ca. 200 Seiten) auswendig lernen, die Prüfung ist Mündlich und beinhaltet 3 FRAGEN! Ich meine wofür lerne ich den ganzen Mist, wenn an der Prüfung genau 3 FRAGEN kommen? :cursing:

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™