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

Beiträge von chip

  • GDI+ Grafik unterschiedlich schnell

    • chip
    • 26. September 2011 um 13:56

    Kann sein, hab einfach nach chipset und charset bei google gesucht um dummygrafiken zu haben.

  • GDI+ Bild wird gestaucht

    • chip
    • 26. September 2011 um 11:50

    Hi,

    bei folgenden Script wollte ich eigentlich lediglich, dass sich das Hintergrundbild statt der Figur verschieben. Anzumerken ist dabei, das das Hintergrundbildt mit "_GDIPlus_GraphicsDrawImageRectRect" wurde. Aber anstatt sich zu verschieben wir es einfach "zusammengestaucht".

    Please help ;(

    Spoiler anzeigen
    [autoit]

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

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

    Opt("GuiOnEventMode", 1)

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

    OnAutoItExitRegister("_end")

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

    $x = 0
    $y = 0

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

    $Gui = GUICreate("Beispiel", 400, 400)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    _GDIPlus_Startup()

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

    $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\test.png")
    $height = _GDIPlus_ImageGetHeight($figur)
    $width = _GDIPlus_ImageGetWidth($figur)
    $verhaelnis = $height / $width

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

    $bk = _GDIPlus_ImageLoadFromFile("back.png")

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

    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(431, 400, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap);

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

    GUISetState(@SW_SHOW)

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

    While 1
    Select
    Case _IsPressed(25)
    If $x > 0 Then
    $x -= 2
    EndIf
    Case _IsPressed(26)
    If $y > 0 Then
    $y -= 2
    EndIf
    Case _IsPressed(27)
    If $x < 410 Then
    $x += 2
    EndIf
    Case _IsPressed(28)
    If $y < 399 Then
    $y += 2
    EndIf
    EndSelect

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

    _GDIPlus_GraphicsDrawImageRectRect($buffer, $bk, $x, $y, 431, 400, $x, $y, 832, 800)
    _GDIPlus_GraphicsDrawImageRect($buffer, $figur, 200, 200, 20, 20 * $verhaelnis)
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    WEnd

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

    Func CLOSEClicked()
    Exit
    EndFunc ;==>CLOSEClicked

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

    Func _end()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_ImageDispose($figur)
    _GDIPlus_ImageDispose($bk)
    _GDIPlus_Shutdown()
    EndFunc ;==>_end

    [/autoit]

    Bilder

    • test.png
      • 549 Byte
      • 21 × 30

    Dateien

    back.png 37,27 kB – 0 Downloads
  • GDI+ Grafik unterschiedlich schnell

    • chip
    • 26. September 2011 um 11:31

    Perfekt, danke.

  • GDI+ Grafik unterschiedlich schnell

    • chip
    • 26. September 2011 um 10:47

    Hi,

    hab mich jetzt mal an GDI+ versucht und dazu mal das Beispiel aus dem GDI+ Tutorial von Ubuntu angepasst. Problem ist nun allerdings, das die Figur manchmal beim drücken der Pfeiltasten schnell von einem Punkt auf den anderen springt oder generell plötzlich sich schneller bewegt. Woran könnte das liegen?

    Spoiler anzeigen
    [autoit]

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

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

    OnAutoItExitRegister("_end")

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

    $x = 0
    $y = 0

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

    $Gui = GUICreate("Beispiel", 431, 400)

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

    _GDIPlus_Startup()

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

    $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\test.png")
    $height = _GDIPlus_ImageGetHeight($figur)
    $width = _GDIPlus_ImageGetWidth($figur)
    $verhaelnis = $height / $width

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

    $bk = _GDIPlus_ImageLoadFromFile("back.png")

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

    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(431, 400, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap);

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

    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25)
    If $x > 0 Then
    $x -= 1
    EndIf
    Case _IsPressed(26)
    If $y > 0 Then
    $y -= 1
    EndIf
    Case _IsPressed(27)
    If $x < 410 Then
    $x += 1
    EndIf
    Case _IsPressed(28)
    If $y < 399 Then
    $y += 1
    EndIf
    EndSelect

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

    _GDIPlus_GraphicsDrawImageRect($buffer, $bk, 0, 0, 431, 400)
    _GDIPlus_GraphicsDrawImageRect($buffer, $figur, $x, $y, 20, 20 * $verhaelnis)
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    WEnd

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

    Func _end()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_ImageDispose($figur)
    _GDIPlus_ImageDispose($bk)
    _GDIPlus_Shutdown()
    EndFunc ;==>_end

    [/autoit]
  • SAXC - Beta 0.3.3 | xmpp-udf veröffentlicht

    • chip
    • 26. September 2011 um 09:39

    MUC unterstützt die UDF aber nicht oder?

  • Prozesse schliessen die im Inifile gelistet sind

    • chip
    • 26. September 2011 um 09:14

    Mh meinst das vielleicht so?

    Spoiler anzeigen
    [autoit]

    Opt("TrayMenuMode", 1)
    $config = (@ScriptDir & "\UserInfo.ini")
    $titel = IniRead($config, "Configuration", "Titel", "NichtGefunden")
    $zeile1 = IniRead($config, "Configuration", "Zeile1", "NichtGefunden")
    $zeile2 = IniRead($config, "Configuration", "Zeile2", "NichtGefunden")
    $zeile3 = IniRead($config, "Configuration", "Zeile3", "NichtGefunden")
    $zeile4 = IniRead($config, "Configuration", "Zeile4", "NichtGefunden")
    $zeile5 = IniRead($config, "Configuration", "Zeile5", "NichtGefunden")

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

    $prozesse = IniReadSection(@ScriptDir & "\UserInfo.ini", "Prozesse")

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

    While 1
    TrayTip($titel, @LF & $zeile1 & @LF & @LF & $zeile2 & @LF & @LF & $zeile3 & @LF & @LF & $zeile4 & @LF & @LF & $zeile5, 5, 1)
    While 1
    For $i = 1 To $prozesse[0][0]
    If ProcessExists($prozesse[$i][0]) Then
    ToolTip($titel & ", terminated process: " & $prozesse[$i][1], 550, 0)
    ProcessClose($prozesse[$i][0])
    EndIf
    Next
    WEnd
    Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Probleme beim Kompilieren

    • chip
    • 26. September 2011 um 08:09

    Kann ich nicht reproduzieren. Funktioniert bei mir Problemlos.

    Drückst du vielleicht nur auf "Save Only" statt auf "Compile Script"?

  • Konzeptbewertung: Multiplayergame über IRC mit optionaler Clustermöglichkeit

    • chip
    • 26. September 2011 um 08:06

    Moin,

    während ich an meinem Messenger auf IRC-Basis geschrieben habe ist mir eine, wie ich finde, interessante Idee gekommen. Ich nenne sie einfach mal "Multiplayergame über IRC mit optionaler Clustermöglichkeit".

    Sinn dahinter ist es die bereits von IRC bereitgestellten Funktionen effektiv zu nutzen sowie auf sehr einfach weiße auch das bilden von "Clustern" zu ermöglichen.

    Das ganze lässt sich am besten an einen Beispiel erklären. Nehmen wir an wir haben ein Game in dem man sich immer in abgeschlossenen Gebieten befinden (einige denke ich kenne das früher noch vom GameBoy da war es in einigen Games so). Sprich man kommt an den Rand der Gebietes und das nächste lädt dann. So diese Grundstruktur reicht erst mal um das Ganze zu verdeutlichen.

    Wenn sich ein User am Spiel anmeldet wird zur eindeutigen Authentifizierung der Nickserv des IRC genommen und im Anschluss einem allgemeine Channel gejoint. Hierdurch spart man sich eine eigene Userverwaltung und hat immer eine eindeutige Userauthentifizierung. Genauso ist auch direkt der "Welt"-Chat vorhanden.
    Wenn der User sich nun in eine Gebiet bewegt joint der Client einem entsprechenden, für diese Gebiet erstellten, Channel. z.B. der User befinden sich im Gebiet "Pusteblume" und somit auch im IRC-Channel Pusteblume. Hier haben wir nun wieder zwei Features der IRC ausgenutzt. Wir haben den Regionenchat, durch die unterschiedlichen Channels, sowie auch die Möglichkeit des "Flüstern" wie /tell des IRC.
    Wenn sich nun ein Spieler in der Region bewegt schreibt der Client seine neue Position in den IRC wodurch alle anderen Client in dieser Region direkt auf dem Laufenden sind er sich nun befindet.

    Soweit so gut aber ist doch etwas langweilig wenn man nur Leute rumlaufen sieht ;).

    Um nun entsprechende Serverfunktionen wie z.B. Inventarverwaltung, NPC usw. bereit zu stellen bedarf es einer Erweiterung, da der IRC als solcher das nicht kann. Sprich es muss ein IRC-Bot (wobei die Entwicklungssprache hier offen ist, von C über Autoit bis hin zu PHP ist alles möglich) welcher diese Features bereitstellt. Die Kommunikation zwischen den Client und dem IRC-Bot erfolgt via /tell um Regionenchat/Allgemeinenchat zu entlasten.

    Einige fragen sich jetzt wohl wo nun die Clustermöglichkeit besteht. Die Clustermöglichkeit ergibt sich dadurch, dass man für Regionsspezifische Features z.B. Zufallsbegegnungen mit NPCs, Items finden usw. für jede Region einen eigenen IRC-Bot erstellen kann welcher sich dann auch im entsprechenden IRC-Channel befindet. Diese IRC-Bots können auch alle auf unterschiedlichen Servern liegen und sich lediglich im Hintergrund mit dem "Mainserver" abgleichen müssten.

    Hätte nun gerne paar Meinungen bzw. auch Anmerkungen/Kritikpunkte/von mir nicht bedachte Problem zu diesem Konzept

  • In WBBlite-Forum SB einfügen

    • chip
    • 25. September 2011 um 23:36
    Zitat von Der-Eddy


    wenn du die Shoutbox trotzdem willst hohl dir einen Webspace bei kilu (oder bplaced, funpic, etc. und installier dort dein Forum (das ergibt viel mehr Freiheiten)

    Du meinst wenn er will das das komplette Forum dann gelöscht wird wenn die SB zu oft genutzt wird ;). Weil SB gilt als Chat und ist damit bei 99% aller Freehoster nicht erlaubt und führt zur Webspacelöschung. Und bei den zwei von dir genannten ist es nicht erlaubt.

  • Plugin UDF

    • chip
    • 25. September 2011 um 22:14

    Genau aus deiner Frage ist die Idee zu dieser UDF entstanden hehe.

  • Plugin UDF

    • chip
    • 25. September 2011 um 16:51

    Interessanter Ansatz. Mir ist nur aktuell nicht klar wie ich das praktisch umsetzen sollte.

  • _FFXPath funktioniert nach _FFTabAdd nichtmehr

    • chip
    • 25. September 2011 um 02:38

    Will ja zu einem bestehenden Tab wechseln in dem die Seite schon geladen ist und nicht die Seite in einem neuen Tab laden :).

  • Plugin UDF

    • chip
    • 24. September 2011 um 18:57

    Hi,

    hier mal eine kleine UDF die es ermögliche Plugin zu eine z.B. einem Autoitserverscript hinzuzufügen. Wenn ihr Fehler finden, Probleme habt oder Verbesserungen dann bitte Posten! So erst mal die Funktionen und jeweils eine kleine Beschreibung dazu:

    _Plugininsert($Pluginvar, $Plugincat = "Standard") = Diese Funktioen muss in jedes Plugin, am besten ganz an den Anfang des Scriptes. Über den Paramter $Pluginvar wird angegeben welche Variablen aus dem Hauptscript übergeben werden sollen. Mit $Plugincat hat man die Möglichkeit Plugins in der verschiedene Kategorien aufzuteilen

    _Plugininizial($Plugincat = "all", $Plugindir = "\plugins") = Gibt alles aktiven Plugins in einem Array zurück. Mit dem Paramter $Plugincat kann man sich auch nur die Plugins einer bestimmten Kategorie ausgeben lassen. Mit $Plugindir kann man ein alternatives Pluginverzeichniss angeben

    _Plugincheck ($Plugindir = "\plugins") = Diese Funktion prüft auf neue Plugins und entfernt nichtmehr vorhanden Plugins aus der Liste. Daher braucht man einfach das Plugin aus dem Pluginverzeichniss löschern oder hinzufügen.

    _Pluginstart($Pluginname, $Pluginvar, $Pluginvartyp = "global", $Plugindir = "\plugins") = Starter das Plugin mit dem angegeben Namen und den Variablen. Mit dem Punkt $Pluginvartyp kann man zwischen "global" und "lokal" umschalten. WICHTIG: Bei der Verwendung von "global" werden im Hauptscript als Global deklarierte Variablen erwartet.

    Kleiner Tipp: Verwendet man zum Übergeben der Variablen „global“ und ruf _Plugincheck regelmäßig, z.b. in einer Schleife, auf kann man Plugin on the Fly dem Server hinzufügen und entferne ohne diesen neu starten zu müssen.

    Dateien

    Plugin.au3 6,11 kB – 788 Downloads
  • Pluginsystem ... Multithreading möglich?

    • chip
    • 23. September 2011 um 22:48

    Das ganze kannst auch noch schön erweitern.

    Du kannst eine zentrale ini machen in der die Plugins eintragen mit welchen Parametern sie aufgerufen werden können. Wenn ein Plugin nun startet schaut es ob seine Paramter schon in der Ini steht und wenn nicht schreibt es diese rein.

    Der Server kann nun einfach die Ini einlesen und die Plugins ausführen.

    Das ganze kannst sogar so weit treiben, dass der Server bei einem neuen Plugin nichtmal gestoppt/neugestartet werden muss. Also plugin on the fly. Dazu einfach den Server preidisch das Pluginverzeichniss scannen und schauen ob ein Plugin im Verzeichniss ist aber noch nicht in der ini. Dieses wird dann einfach direkt vom Server gestartet und trägt sich dann in die ini ein.

    Musst dich dann aber halt ein einheitliches Schema entscheiden.

  • Pluginsystem ... Multithreading möglich?

    • chip
    • 23. September 2011 um 22:09

    Ich würde das so umsetzen.

    Statt die kompletten Funktionen ins Mainscript zu holen nur einfach mit "Run" das Plugin starten. So startet das Script in einem eingen Thread und du kannst auch beliebige Paramter übergeben.

  • Alternative zu AutoIt

    • chip
    • 23. September 2011 um 11:57

    Windows PowerShell

  • Jährliche Foreninventarisierung

    • chip
    • 23. September 2011 um 11:45

    campweb ich glaub du hast diesen Thread nicht verstanden :D

  • Die Hilfe richtig verwenden

    • chip
    • 22. September 2011 um 21:57

    Um ehrlich zu sein, kannte ich das englische Tut garnicht *lach*.

  • _GUICtrlListBox_GetItemData($List200,1)

    • chip
    • 22. September 2011 um 15:39

    Ich nehme mal an du willst den Text haben der bei dem ListBoxitem ist.

    Das machst du mit

    [autoit]

    _GUICtrlListBox_GetText

    [/autoit]


    Und damit könntest den für _GUICtrlListBox_ClickItem benötigten Index finden:

    [autoit]

    _GUICtrlListBox_FindString

    [/autoit]
  • Die Hilfe richtig verwenden

    • chip
    • 22. September 2011 um 15:23

    Hi,

    dies ist eine kleine Einführung in der erklärt wird, wie man die Autoithilfe richtig verwendet. Wenn du neu in Autoit bist dann schau dir als erste den Bereich "Häufig gestellte Fragen (FAQ)" in der Hilfe an, dort sind schon einige der Frage beantwortet.
    Wirst du dort nicht fündig kannst du in der restlichen Hilfe nach einer Lösung suchen. Zu beachten ist, dass die Beschreibungen der Befehle zwar ins deutsche Übersetz sind, die Befehle aber weiterhin englisch sind.
    Es gibt nun die Möglichkeiten etwas in der Hilfe zu finden. Diese drei Möglichkeiten erkläre ich nun:

    1. Inhalt
    Im Reiter Inhalt der Hilfe sind die Befehle nach Themen geordnet diese sind:

    - „Allgemeines zu Autoit“ – Erklärungen zu den mit Autoit mitgelieferten Toll sowie grundlegende Begriffserklärungen
    - „Tutorials“ – Hier findet man vier Grundlagentutorials
    - „Sprachreferenzen“ – Beschreibung von Variablen, Schleifentypen, Makros, Kommentare usw.
    - „GUI-Referenz“ – Erklärung der GUI-Elemente und deren Aufgabe
    - „Schlüsselwortreferenz“ – Die am häufigsten verwendeten Befehle
    - „Makroreferenz“ – Von Autoit vorbelegt „Variablen“ um bestimmte Informationen zu erhalten
    - „Funktions Referenz“ – In der Funktionsreferenz sind alle Autoitbefehle nach entsprechen Kategorieren geordnet. Z.b. unter dem Punkt Maus findet man alle Befehle die mit der Maus zu tun haben. Unter dem Punkt Registry alle die mit der Registry zu tun haben usw.
    - „Anhang“ – Im Anhang findet man Listen auf die von anderen Bereichen der Hilfe verlinkt werden z.b. ASCII-Zeichensatz.
    - „Benutzerdefinierte Funktionen Referenz“ – Unter diesem Punkt sind weiter Funktionen aufgelistet die meist für speziellere Funktionen und „fortgeschrittener“ Autoitentwickler gedacht sind.

    2. Index
    Im Reiter Index kannst du zu Befehlen springen die mit einer, von dir angegeben, Zeichenkette beginnen. Z.b. Du willst eine Datei löschen. Datei heißt auch Englisch „File“. Also gibst du File ein und bis direkt bei der entsprechenden Stelle und sieht alle Befehle die mit File zu tun haben

    3. Suchen
    Wenn du gar nicht weiter kommst kannst du auch über "Suchen" nach Wörtern/Wörtergruppen suchen. Hierbei werden die Beschreibungen aller Seiten in der Hilfe nach diesen Wörtern durchsucht und dir werden alle gefunden Themen angezeigt.

    mfg

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™