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

Beiträge von teamnoobPDB

  • GDI Editor 2 [in Entwicklung]

    • teamnoobPDB
    • 19. Januar 2015 um 21:33

    Wenn man die notify Funktion so abändert sollte es überall funtionieren:

    Spoiler anzeigen
    [autoit]

    func notify($hwnd,$msg,$wparam,$lparam)
    Local $hmouse
    Switch $hwnd
    ;fenster werkzeug
    case WinGetHandle($window_tool), $window_tool
    $hmouse = GUIGetCursorInfo($window_tool)
    if $hmouse[2] then
    $tool_current = _GUICtrlToolbar_GetHotItem($toolbar_tool)

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

    toolbar_check()
    endif
    ;fenster objektinspektor
    case WinGetHandle($window_object_inspector), $window_object_inspector
    Local $edit_label = _GUICtrlListView_GetEditControl($list_object_settings)

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

    if $object_setting_current <> Null and $edit_label <> 0 Then
    ;eingabe
    $temp = $objects[$object_setting_current][$OBJECT_HANDLE]

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

    Local $read = int(_GUICtrlEdit_GetText($edit_label))
    Local $attribute = _GUICtrlListView_GetSelectedIndices($list_object_settings)

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

    if $read <> $temp[$attribute] Then
    $temp[$attribute] = $read
    endif

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

    $objects[$object_setting_current][$OBJECT_HANDLE] = $temp
    endif

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

    if $lparam = 0x008EEA90 Then
    ;objekteinstellungen
    object_settings($object_setting_current)
    EndIf
    EndSwitch
    EndFunc

    [/autoit]

    Nur einen haken hat das noch: Wenn man auf das Bewegen Tool klickt dann verschwindet das Fenster, das lässt dich aber über das MenuItem wieder herbeizaubern.

  • Lösung

    • teamnoobPDB
    • 19. Januar 2015 um 21:32

    Hupps das war wohl falsch xD

  • GDI Editor 2 [in Entwicklung]

    • teamnoobPDB
    • 19. Januar 2015 um 21:05

    Apropro: ein

    [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "window_document_settings", $window_document_settings)

    [/autoit]


    für die jeweiligen Fenster ermöglichen auch das schließen per "X"

  • GDI Editor 2 [in Entwicklung]

    • teamnoobPDB
    • 19. Januar 2015 um 19:26

    BTW. bei mir geht die Werkzeugleiste auch nicht. Ich benutze Win 8.1 64Bit und AutoIt 3.3.12.0

  • GDI Editor 2 [in Entwicklung]

    • teamnoobPDB
    • 19. Januar 2015 um 12:15

    Nettes Programm, dafür dass es noch einen frühren entwicklungsstatus hat.

    Aber ein kleiner Tipp: In der Close Funktion würde sich eine Abfrage wirklich besser machen... Man könnte auch noch abragen ob vorher gespeichert werden soll

    Spoiler anzeigen
    [autoit]

    func close()
    Local $iMsg = MsgBox(64 + 4, "GDI Editor 2", "Möchten Sie das Programm wirklich beenden?")
    If $iMsg = 6 Then
    ;dokument freisetzen
    document_free()

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

    ;gdiplus schließen
    _GDIPlus_PenDispose($grid_pen)
    _GDIPlus_BrushDispose($brush)
    _GDIPlus_PenDispose($pen)
    _GDIPlus_Shutdown()

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

    ;fenster schließen
    GUIDelete($window)

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

    ;dll schließen
    DllClose($dll_user32)

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

    ;programm beenden
    exit
    EndIf
    EndFunc

    [/autoit]
  • Radio Button automatisch an den Text anpassen

    • teamnoobPDB
    • 30. Oktober 2014 um 18:25

    @UEZ natürlich immer der umständliche Weg :D

  • Radio Button automatisch an den Text anpassen

    • teamnoobPDB
    • 30. Oktober 2014 um 18:20

    Probiers mal damit ;)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ColorConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Beispiel", 284, 126, 192, 124)
    $Radio1 = GUICtrlCreateRadio("Radio1", 16, 80, 249, 17)
    GUICtrlSetBkColor($Radio1, $COLOR_RED)
    $Input1 = GUICtrlCreateInput("", 32, 24, 121, 21)
    $Button1 = GUICtrlCreateButton("OK", 160, 24, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $hTextStart = ""

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

    While 1
    If GUICtrlRead($Input1) <> $hTextStart Then
    $hTextStart = GUICtrlRead($Input1)
    GUICtrlSetData($Radio1, $hTextStart)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Array in Array verändern

    • teamnoobPDB
    • 2. Oktober 2014 um 09:32

    ok danke.
    Ich dachte dass das möglich wäre. Dann halt auf die umständliche weise.

  • Array in Array verändern

    • teamnoobPDB
    • 2. Oktober 2014 um 09:22

    Hey Leute,

    ich habe in einem Array einen Array der folgendermaßen aussieht:

    Spoiler anzeigen
    [autoit]

    Local $aTemp[3] = ["Test1", "Test2", "Test3"]
    Local $myArray[5] = [$aTemp, "", "", "", ""]

    [/autoit]

    nun kann ich den erstem Array im zweiten Array so auslesen:

    Spoiler anzeigen
    [autoit]

    ConsoleWrite(($myArray[0])[1])

    [/autoit]

    Die Ausgabe ist dann vollkommen Korrekt.

    Nun möchte ich aber Werte in dem Array im Array verändern ohne ihn irgendwo zwischenzuspeichern dann zu ändern und wieder in den $myArray zurückzuverfrachten.

    Irgendeiner ne Idee?

  • Variablen "auslesen" und ändern

    • teamnoobPDB
    • 4. September 2014 um 15:10

    Also beide Programme sind von mir verfasst. Das "Haupt" Programm soll ab und zu etwas Code bzw. ein Fremdes Programm ausführen womit ich aber Variablen des Hauptprogramms ändern kann. Dafür ist es gedacht :D

  • Variablen "auslesen" und ändern

    • teamnoobPDB
    • 3. September 2014 um 21:19

    Hallo Leutchen,

    ich würde gerne aus einem "Fremden" Programm eine Variable auslesen und mit einem anderen Programm ändern.
    Mit dem Debugger von minx ist das in so einer ähnlichen Form möglich. Während ein Script am laufen ist kann man in dem Debugger die Werte von Variablen ändern.
    Das würde ich gerne extrahieren. Ist mir aber etwas zu kompliziert. Wer hätte da Ideen?

    [autoit]

    $var1 = 10

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

    while sleep(1000)
    consolewrite($var1 & @CRLF)
    wend

    [/autoit][autoit]

    _setVar("test.exe","$var1",12)

    [/autoit]
  • Verkürzung von Code

    • teamnoobPDB
    • 1. August 2014 um 16:39

    Hallo Leute,

    hat vielleicht jemand eine Idee wie ich folgenden Code Kürzen kann? (Hauptsächlich die For Schleife)

    Mit dieser Funktion wird auf einem Raster abgefragt auf welche Raute geklickt wurde.

    [autoit]

    Func _ObjectClick($x, $y)
    Local $aRaute1[2], $aRaute2[2], $aRaute3[2], $aRaute4[2], $aMaus[2] = [$x, $y]
    Local $IsSelected = False
    For $k = 0 To $iFieldWidth - 1
    For $i = 0 To $iFieldHeight - 1
    $aRaute1[0] = (($i * 50 + $k * 50) + $iX)
    $aRaute1[1] = ((425 - 25 * $i + 25 * $k) + 75 + $iY)
    $aRaute2[0] = (($i * 50 + $k * 50) + 50 + $iX)
    $aRaute2[1] = ((425 - 25 * $i + 25 * $k) + 50 + $iY)
    $aRaute3[0] = (($i * 50 + $k * 50) + 100 + $iX)
    $aRaute3[1] = ((425 - 25 * $i + 25 * $k) + 75 + $iY)
    $aRaute4[0] = (($i * 50 + $k * 50) + 50 + $iX)
    $aRaute4[1] = ((425 - 25 * $i + 25 * $k) + 100 + $iY)
    If (PointToLine2D($aMaus, $aRaute1, $aRaute2) >= 0) And (PointToLine2D($aMaus, $aRaute2, $aRaute3) >= 0) And (PointToLine2D($aMaus, $aRaute3, $aRaute4) >= 0) And (PointToLine2D($aMaus, $aRaute1, $aRaute4) <= 0) Then
    $aSelectedBlock[0][1] = True
    $aSelectedBlock[1][0] = $i * 50 + $k * 50
    $aSelectedBlock[1][1] = 425 - 25 * $i + $k * 25 + 75
    $aSelectedBlock[2][0] = $i * 50 + $k * 50 + 50
    $aSelectedBlock[2][1] = 425 - 25 * $i + $k * 25 + 50
    $aSelectedBlock[3][0] = $i * 50 + $k * 50 + 100
    $aSelectedBlock[3][1] = 425 - 25 * $i + $k * 25 + 75
    $aSelectedBlock[4][0] = $i * 50 + $k * 50 + 50
    $aSelectedBlock[4][1] = 425 - 25 * $i + $k * 25 + 100
    $IsSelected = True
    ExitLoop 2
    EndIf
    Next
    Next
    If Not $IsSelected Then $aSelectedBlock[0][1] = False
    EndFunc

    [/autoit]
  • OOP - AutoitObjekt - Objekte einbetten?

    • teamnoobPDB
    • 26. März 2014 um 11:32

    Ich kann deiner frage nicht genau entnehmen was du willst aber ich denke du meinst folgendes:

    Spoiler anzeigen
    [autoit]

    _AutoItObject_Startup()
    $oObj = _AutoItObject_Create()
    _AutoItObject_AddProperty($oObj, "Test", $ELSCOPE_PUBLIC, _UnterObjekt())
    MsgBox(64,"Test","X: " & $oObj.Test.X & @CRLF & _
    "Y: " & $oObj.Test.Y)
    _AutoItObject_Shutdown()

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

    Func _UnterObjekt()
    Local $oDummy = _AutoItObject_Create()
    _AutoItObject_AddProperty($oDummy, "X", $ELSCOPE_PUBLIC, 100); X-> name des Eingebetteten objekts || 100 wert den das objekt haben soll
    _AutoItObject_AddProperty($oDummy, "Y", $ELSCOPE_PUBLIC, 63); Y-> name des Eingebetteten objekts || 63 wert den das objekt haben soll
    ; Kier könnten dann noch weitere Unterobjekte folgen
    Return $oDummy
    EndFunc

    [/autoit]
  • Text im Button unterschiedlich formatieren

    • teamnoobPDB
    • 15. Februar 2014 um 08:17

    Oder probier es doch einfach so:

    Spoiler anzeigen
    [autoit]

    $ButtonText = "Überschrift" & @CRLF & "Der Button mach folgendes" & @CRLF & "Und noch mehr"
    $Button = GUICtrlCreateButton ($ButtonText, 10, 10, 150, 150, BitOR ($BS_MULTILINE, $BS_CENTER))

    [/autoit]

    Notfalls ginge auch diese Lösung:

    Spoiler anzeigen
    [autoit]

    $ButtonText = "Der Button mach folgendes" & @CRLF & "Und noch mehr"
    $Button = GUICtrlCreateButton ($ButtonText, 10, 10, 150, 150)
    GUICtrlSetTip($Button, $ButtonText, "Überschrift")

    [/autoit]

    Ich habe es zwar nicht getestet aber es müsste so funktionieren.

  • Brush mit Muster erstellen

    • teamnoobPDB
    • 2. Dezember 2013 um 20:14

    Hallo Community,

    ich würde gerne wissen wie man eine Brush mit GDI+ oder der WinAPI erstellen kann, die ein regelmäßiges Muster hat. Ich habe sowas schonmal gesehen, das war aber eine Alu Brush. Wenn es möglich wäre sowas zu machen bestünde dann auch die Möglichkeit Farbverläude und Transparenzen noch einzubauen?


    Danke schonmal

  • Infinite Darkness [Game][AutoIt][BASS][IrrLicht][Multiplayer]

    • teamnoobPDB
    • 11. Oktober 2013 um 16:20

    Also ich wäre dabei hört sich sehr interessant an :D Habe selbst relativ viel Erfahrung mit AutoIt und Irrlicht gemacht :D Nur was den ound und Texturen angeht müsste ich passen :D

  • Fehler in GDIPlus.au3

    • teamnoobPDB
    • 17. August 2013 um 12:58

    name22 Danke besser hätte ich es nicht formulieren können

    Aber es hat sich mit nem simplen _GDIPlus_StartUp geklärt :D

    Andy DU sprichst mir aus der Seele ;)

  • Fehler in GDIPlus.au3

    • teamnoobPDB
    • 16. August 2013 um 22:22

    was heißt wenn ich scheiße übergebe?? Ich habe ganz normale Parameter verwendet und ja gdiplus solle man starten danke :D

  • Fehler in GDIPlus.au3

    • teamnoobPDB
    • 16. August 2013 um 21:13

    Hallo Leute,

    in meinem Folgenden Skript wird mir ein merkwürdiger Fehler in der GDIPlus.au3 von AutoIt gemeldet. Das Skript soll jede Minute den Hintergrund ändern und dort z.B. die Uhrzeit anzeigen.
    Nun kommt aber immer dieser Fehler

    [autoit]

    "C:\Program Files\AutoIt3\Include\GDIPlus.au3" (1661) : ==> Subscript used with non-Array variable.:
    Local $aResult = _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)
    Local $aResult = _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $aInfo^ ERROR
    ->21:09:00 AutoIt3.exe ended.rc:1
    >Exit code: 1 Time: 33.472

    [/autoit]
    Spoiler anzeigen
    [autoit]

    #include <Date.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>

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

    $sTime = _NowTime(4)

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

    While Sleep(20)
    If $sTime <> _NowTime(4) Then
    $sTime = _NowTime(4)
    _New_Background($sTime)
    ;MsgBox(0, "", "Change")
    EndIf
    WEnd

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

    Func _New_Background($Time)
    Local $hGUI = GUICreate("BG-Dummy",@DesktopWidth,@DesktopHeight)
    Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    Local $hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth,@DesktopHeight,$hGraphic)
    Local $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Local $hRed = _GDIPlus_BrushCreateSolid(0x99FF0000)

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

    _GDIPlus_GraphicsFillEllipse($hBuffer,(@DesktopWidth / 2) - 200, (@DesktopHeight / 2) - 100,200,100,$hRed)
    Local $iTextWidth = _GetTextLabelWidth($Time,"Arial",10)
    ConsoleWrite($iTextWidth & @CRLF)
    _GDIPlus_GraphicsDrawString($hBuffer,$Time,(@DesktopWidth / 2) - ($iTextWidth / 2),(@DesktopHeight / 2) - 5,"Arial",10,0x0001)
    _GDIPlus_GraphicsDrawImage($hGraphic,$hBitmap,0,0)
    ;_GDIPlus_ImageSaveToFile($hBitmap,@TempDir & "\Image_" & StringReplace($Time,":","_") & ".jpg")
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", "0")
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", "REG_SZ", "0")
    DllCall("user32.dll", "int", "SystemParametersInfo","uint",20,"uint",0,"str",$hBitmap,"uint",3)

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

    EndFunc ;==>_New_Background

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

    Func _GetTextLabelWidth($s_WinText, $s_TextFont, $i_FontSize, $i_FontWeight = -1)
    Local Const $DEFAULT_CHARSET = 0 ; ANSI character set
    Local Const $OUT_CHARACTER_PRECIS = 2
    Local Const $CLIP_DEFAULT_PRECIS = 0
    Local Const $PROOF_QUALITY = 2
    Local Const $FIXED_PITCH = 1
    Local Const $RGN_XOR = 3
    Local Const $LOGPIXELSY = 90
    Local Const $dUser32 = DllOpen("user32.dll"), $dGDI32 = DllOpen("gdi32.dll"), $dKERN32 = DllOpen("kernel32.dll")
    $h_WinTitle = "Get Label Width"
    If $i_FontWeight = "" Or $i_FontWeight = -1 Then $i_FontWeight = 600 ; default Font weight
    Local $h_GUI = GUICreate($h_WinTitle, 10, 10, -100, -100, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)
    Local $hDC = DllCall($dUser32, "int", "GetDC", "hwnd", $h_GUI)
    Local $intDeviceCap = DllCall($dGDI32, "long", "GetDeviceCaps", "int", $hDC[0], "long", $LOGPIXELSY)
    $intDeviceCap = $intDeviceCap[0]
    Local $intFontHeight = DllCall($dKERN32, "long", "MulDiv", "long", $i_FontSize, "long", $intDeviceCap, "long", 72)
    $intFontHeight = -$intFontHeight[0]
    Local $hMyFont = DllCall($dGDI32, "hwnd", "CreateFont", "int", $intFontHeight, "int", 0, "int", 0, "int", 0, "int", $i_FontWeight, "int", 0, "int", 0, "int", 0, "int", $DEFAULT_CHARSET, "int", $OUT_CHARACTER_PRECIS, "int", $CLIP_DEFAULT_PRECIS, "int", $PROOF_QUALITY, "int", $FIXED_PITCH, "str", $s_TextFont)
    DllCall($dGDI32, "hwnd", "SelectObject", "int", $hDC[0], "hwnd", $hMyFont[0])
    Local $res = DllStructCreate("int;int")
    Local $ret = DllCall($dGDI32, "int", "GetTextExtentPoint32", "int", $hDC[0], "str", $s_WinText, "long", StringLen($s_WinText), "ptr", DllStructGetPtr($res))
    Local $intLabelWidth = DllStructGetData($res, 1)
    GUIDelete($h_GUI)
    Return $intLabelWidth
    EndFunc ;==>_GetTextLabelWidth

    [/autoit]

    Könnte mir jemand erklären wieso der Fehler in der GDIPlus.au3 liegt und wie man ihn behebt?

    Vielen Dank :)

  • DBF-UDF - dBase-Datenbank lesen und schreiben über DLL

    • teamnoobPDB
    • 2. August 2013 um 19:55

    Hey sehr coole UDF aber ich würde mir noch wünschen wenn du UDF-Headers machen könntest in denen die ganzen Parameter erklärt werden. Ich würde dich bitten dies nachzuholen da ich die UDF erst dann gebrauchen kann... ;)

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™