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

Beiträge von alpines

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • alpines
    • 19. November 2018 um 15:51

    Ich hab mal das was erledigt wurde in den entsprechenden Beiträgen editiert und durchgestrichen.

  • GDIPlus Klick auf Objekt

    • alpines
    • 18. November 2018 um 23:27
    Zitat von BugFix

    GUIGetMsg(1) gibt ein Array mit 2 Werten zurück.

    https://www.autoitscript.com/autoit3/docs/f…s/GUIGetMsg.htm Also meine Hilfe sagt 5.

    In [1] ist das Handle zum Fenster und in [2] das zum Control, wenn überhaupt ein Control ein Event getriggered hat.

  • ListView füllen und ProgressBar

    • alpines
    • 18. November 2018 um 23:07
    Zitat von autoiter

    Du könntest ein Array füllen und dann statt: GUICtrlCreateListViewItem(_ArrayToString($aDatentaxi, '|', 1, 21), $idListView) einmal _GUICtrlListView_AddArray benutzen.

    Dann möchte ich schon mal vorweg sagen, bitte nicht in jedem Schritt ReDim verwenden sondern direkt die passende Größe erstellen.

    Wenn du kannst (Ich hab mir AddArray nicht angeschaut) kannst du direkt so queryen, dass es formatpassend ist und direkt übergeben.

  • ListView füllen und ProgressBar

    • alpines
    • 18. November 2018 um 20:24

    Wie lange dauert es denn die Datenbank zu queryen?

    Du setzt deine ProgressBar mit $i aber wie hoch zählt denn dein i? ProgressBars akzeptieren Werte von 0 bis 100,

    es ist keine gute Idee jedes Mal die ProgressBar zu setzen, da deine GUI den Teil (ich denke aber nicht die gesamte GUI) neu zeichnen muss.

    Also aktualisiere deine ProgressBar wenn sich an einem ganzen Prozent was geändert hat 0.05 = 0.10 = 0.9% != 1% (du verstehst was ich meine).

    Zum Test kannst du ja mal deine Progressbar weglassen und wirklich nur deine ListView füllen.

  • Rundumschlag GDI+

    • alpines
    • 18. November 2018 um 14:14

    Du hast ein anderes Style offenbar, ich nutze Windows 7 mit dem Standard Skin, so siehts bei mir aus:

    pasted-from-clipboard.png      pasted-from-clipboard.png

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • alpines
    • 18. November 2018 um 13:23
    Zitat von Bitnugger

    Kann keine *.au3 mehr hochladen...


    Subclassing Example_2.au3 --> Die Datei hat eine ungültige Dateiendung.

    Generell die Dateiformate und Limits sind zurückgesetzt worden.

    Wir hatten im Laufe (nach dem letzten Update) das Limit auf 5 oder 6 MB angehoben und noch die benötigten Endungen: rar, 7z (?), au3 hinzugefügt.

  • Rundumschlag GDI+

    • alpines
    • 18. November 2018 um 13:20

    _GDIPlus_DwmEnableBlurBehindWindow vielleicht? Das Viereck ist in dem 1. Beispiel nicht geblurrt, im 2. Beispiel aber schon.

    C
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPISysWin.au3>
    #include <GDIPlus.au3>
    
    
    Opt("GUIOnEventMode", True)
    
    $hWnd = GUICreate("GDI+", 400, 400, -1, -1, -1, $WS_EX_LAYERED)
    GUISetBkColor(0xABCDEF, $hWnd)
    GUISetOnEvent(-3, OnExit)
    
    _GDIPlus_Startup()
    
    ;$hBrushRed = _GDIPlus_BrushCreateSolid(0xFFE81123)
    $hBrushRed = _GDIPlus_BrushCreateSolid(0x80E81123)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2)
    
    $hGraphicsBMP = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hGraphicsBMP)
    
    ;_GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
    _GDIPlus_GraphicsFillRect($hBuffer, 90, 90, 199, 199, $hBrushRed)
    
    GUIRegisterMsg($WM_PAINT, OnPaint)
    
    _WinAPI_SetLayeredWindowAttributes($hWnd, 0xABCDEF, 255)
    GUISetState()
    
    $hRegion = _WinAPI_CreateRectRgn(0, 0, 400, 400)
    $hRegion2 = _WinAPI_CreateRectRgn(90, 90, 90 + 199, 90 + 199)
    $hFinalRegion = _WinAPI_CreateRectRgn(0, 0, 400, 400)
    
    _WinAPI_CombineRgn($hFinalRegion, $hRegion, $hRegion2, $RGN_XOR)
    _WinAPI_DwmEnableBlurBehindWindow($hWnd, True, False, $hFinalRegion)
    
    While True
        Sleep(10)
    WEnd
    
    Func OnPaint($hWnd, $iMsg, $iWParam, $iLParam)
        _GDIPlus_GraphicsDrawImage($hGraphics, $hGraphicsBMP, 0, 0) ;draw buffer
        Return $GUI_RUNDEFMSG
    EndFunc
    
    Func OnExit()
        GDIPlusFree()
        Exit
    EndFunc ;==>OnExit
    
    Func GDIPlusFree()
        _GDIPlus_BrushDispose($hBrushRed)
        _GDIPlus_BitmapDispose($hGraphicsBMP)
        _GDIPlus_GraphicsDispose($hBuffer)
        _GDIPlus_GraphicsDispose($hGraphics)
        _GDIPlus_Shutdown()
    EndFunc ;==>GDIPlusFree
    Alles anzeigen
    C
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPISysWin.au3>
    #include <GDIPlus.au3>
    
    
    Opt("GUIOnEventMode", True)
    
    $hWnd = GUICreate("GDI+", 400, 400, -1, -1, -1, $WS_EX_LAYERED)
    GUISetBkColor(0xABCDEF, $hWnd)
    GUISetOnEvent(-3, OnExit)
    
    _GDIPlus_Startup()
    
    ;$hBrushRed = _GDIPlus_BrushCreateSolid(0xFFE81123)
    $hBrushRed = _GDIPlus_BrushCreateSolid(0x80E81123)
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2)
    
    $hGraphicsBMP = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hGraphicsBMP)
    
    ;_GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
    _GDIPlus_GraphicsFillRect($hBuffer, 90, 90, 199, 199, $hBrushRed)
    
    GUIRegisterMsg($WM_PAINT, OnPaint)
    
    _WinAPI_SetLayeredWindowAttributes($hWnd, 0xABCDEF, 255)
    GUISetState()
    
    $hRegion = _WinAPI_CreateRectRgn(90, 90, 90 + 199, 90 + 199)
    _WinAPI_DwmEnableBlurBehindWindow($hWnd, True, False, $hRegion)
    
    While True
        Sleep(10)
    WEnd
    
    Func OnPaint($hWnd, $iMsg, $iWParam, $iLParam)
        _GDIPlus_GraphicsDrawImage($hGraphics, $hGraphicsBMP, 0, 0) ;draw buffer
        Return $GUI_RUNDEFMSG
    EndFunc
    
    Func OnExit()
        GDIPlusFree()
        Exit
    EndFunc ;==>OnExit
    
    Func GDIPlusFree()
        _GDIPlus_BrushDispose($hBrushRed)
        _GDIPlus_BitmapDispose($hGraphicsBMP)
        _GDIPlus_GraphicsDispose($hBuffer)
        _GDIPlus_GraphicsDispose($hGraphics)
        _GDIPlus_Shutdown()
    EndFunc ;==>GDIPlusFree
    Alles anzeigen
  • Rundumschlag GDI+

    • alpines
    • 18. November 2018 um 12:13
    Zitat von borsTiHD

    Ist soetwas mit GDIPlus+ möglich?

    Na klar, nennt sich Gaussian Blur und ist schon in Gdi+ direkt eingebaut _GDIPlus_EffectCreateBlur.

    Hier mal ein kleines Beispiel:

    Code
    #include <GDIPlus.au3>
    
    _GDIPlus_Startup()
    $hGUI = GUICreate("Form1", 600, 200, 192, 124)
    GUISetState(@SW_SHOW)
    
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hEffect = _GDIPlus_EffectCreateBlur()
    
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 1)
    
    $hBitmap = _GDIPlus_BitmapCreateFromScan0(600, 200)
    
    $hBitmapGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    
    _GDIPlus_GraphicsClear($hGraphics, 0xFFDDAADD)
    _GDIPlus_GraphicsDrawString($hBitmapGfx, "Links Hinten", 20, 20, "Arial", "30")
    _GDIPlus_GraphicsDrawString($hBitmapGfx, "Rechts Hinten", 320, 20, "Arial", "30")
    
    _GDIPlus_BitmapApplyEffectEx($hBitmap, $hEffect, 0, 0, 300, 200)
    
    _GDIPlus_GraphicsDrawString($hBitmapGfx, "Links Vorne", 20, 100, "Arial", "30")
    _GDIPlus_GraphicsDrawString($hBitmapGfx, "Rechts Vorne", 320, 100, "Arial", "30")
    
    
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    
    While GUIGetMsg() <> -3
    WEnd
    Alles anzeigen
  • Anmeldung via Datenbank

    • alpines
    • 17. November 2018 um 13:46
    Zitat von SolemnStrike

    autoiter gibt es keinen Weg den Code zu schützen?

    Das ist schon eine Kunst für sich.

    Du solltest dich eher fragen: Ist das was ich schützen möchte wirklich so schützenswert, dass ich hier alle Register ziehen muss damit keiner drankommt?

    Oder kann ich einfach an einen Webserver eine Anfrage schicken und erhalte eine 1 / 0 zurück.

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • alpines
    • 17. November 2018 um 08:09
    Zitat von Musashi

    Ich frage mich, wo die 280 Besucher herkommen ;)

    Suchmaschinen-Crawler.

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • alpines
    • 16. November 2018 um 15:37

    Ich hab noch was unten rangehangen und die Sachen durchgestrichen die du abgearbeitet hattest aber nicht duchgestrichen hast.

    Vielen Dank Gun-Food , dass du hier die Arme hochkrempelst und alles wieder in die richtige Spur bringst!!

    Sehr gute Arbeit!!:thumbup:

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • alpines
    • 16. November 2018 um 14:01

    Wie bereits beim letzten Update gibts einen gepinnten Sammelthread damit wir hier alle Punkte sammeln können, die beim Update verloren gegangen sind oder ähnliches.

    Wenn die entsprechenden Punkte abgearbeitet sind dann editiert bitte eure Antwort damit wir alles hier sauber und schnell über den Tisch bekommen.

    • Kein Post-Counter/Punkte-Counter unter dem Avatar bzw. unter Antworten in Threads (Edit: Postcounter tauchte grad auf und stieg auf 1 nachdem ich das gepostet hab, man muss also noch die alten Posts irgendwie mitzählen).
    • Der Link oben im Header "Forum" leitet auf das Dashboard weiter anstatt in die Forenansicht
    • Sidebar taucht wieder in den Threads auf, wir hatten beim letzten Update das in der Threadansicht extra deaktiviert.
    • "Letzte Beiträge" in der Sidebar hatten wir vor dem Update nicht. Dafür war ja das Dashboard gedacht.
    • Shoutbox-Archiv ist nicht zugänglich (Ordnersymbol fehlt, und Link im Footer, Direktlink = Zugriff verweigert)
    • PUs können keine Shouts mehr löschen
    • PUs können nicht mehr Beiträge von anderen Usern editieren (um erledigt-Haken zu setzen, bei Verstoß gegen Forenregeln Links zu zensieren oder Threads zu deaktivieren)
    • Erledigt-Haken ist nicht mehr verfügbar (dafür das [offen] [gelöst] was in anderen Sektionen verfügbar war)
    • Like-Button ist wieder verfügbar, wir hatten schon eine endloslange Diskussion darüber, dass wir den hier nicht wollten.
    • Auf dem Dashboard ist "Letzte Aktivitäten" zu sehen obwohl das glaube ich im Header war.
    • Der Forumlink im Header hatte glaube ich noch das Unteritem "Unerledigte Themen".
    • Forenregeln im Header kam glaube ich als 3. oder 4. Punkt (ganz links war das Dashboard).
    • Benutzer online ist im Footer, davor war das unter (oder drüber?) der "Team Mitglieder Online" Box auf dem Dashboard (über neueste Mitglieder).
    • Letzte Beiträge ist in der Forenansicht zu sehen: War das vorher auch so? Ich glaube nicht.
    • "Unerledigte Themen" (im Header) leitet auf die Startseite weiter. Das Menü ist korrekt gesetzt, scheint ein WBB Bug zu sein.
    • Konversationslimit ist wieder geschrumpft
    • Profilnachrichten tauchen komischerweise doppelt auf

    BugFix unpinn den alten Thread und pinn den jetzigen bitte (falls die Rechte für Mods bereits gesetzt sind).

  • Zeilen in Exceltabelle löschen

    • alpines
    • 15. November 2018 um 21:55
    Zitat von Musashi

    Wäre das nicht gleich eine günstige Gelegenheit, Friedhelm39 auf die StringFormat Notation hinzuweisen ?

    Das ist hier in diesem Fall, zumindest ist das meine persönliche Meinung, keine gute Idee.

    Durch die zwei Variablen in dem String ":" dazwischen hat man vom Syntaxhighlighter her (rot - grau - rot) eigentlich eine gute Idee was genau da passiert (Variable, Doppelpunkt, Variable) und wenn ich nun versuche da StringFormat reinzuquetschen bläht sich das ganze nur weiter auf und ich muss zudem noch den Formatierungsstring angeben.

    Das mag sich eigenartig anhören aber so finde ich das meiner Meinung nach einfacher als StringFormat zu nutzen, den Formatierungsstring anzugeben und dann die eigentlichen Variablen.


    Wir versuchen doch nur ein Doppelpunkt zwischen zwei Variablen einzufügen, sollten wir hier die Kirche nicht im Dorf lassen und auf StringFormat verzichten?

    Das hat sicherlich bessere Anwendungsfälle als hier.

    Alternativ könnte man auch ExpandVarStrings nehmen und hätte $c$:$z$ aber ehrlich gesagt finde ich $c & ":" & $z viel besser.

    Aber das ist natürlich nur meine persönliche Meinung, soll jeder es halt so machen wie es ihm/ihr gefällt.

  • GDIPlus Klick auf Objekt

    • alpines
    • 14. November 2018 um 19:30
    Zitat von ThePhantomDesigns

    Ich habe gerade gemerkt, dass es auch $GUI_EVENT_PRIMARYUP / -DOWN und -SECONDARYUP und -DOWN gibt. Ist dabei Primary die linke Maustaste?

    Nein, es ist die primäte Maustaste, also die die Dateien auswählen kann und NICHT das Kontextmenu öffnet.

    Hat der User seine primäre Maustaste auf die rechte gelegt (für Linkshänder bspw.), dann ist das die rechte und nicht die linke.

  • GDIPlus Klick auf Objekt

    • alpines
    • 14. November 2018 um 18:57
    Zitat von ThePhantomDesigns

    Wie benutzt man denn GUIGetMsg ohne Control?

    GUIGetMsg ist nicht nur für Controls zu gebrauchen.

    AutoIt
    #include <GUIConstants.au3>
    
    GUICreate("")
    GUISetState()
    
    While Sleep(10)
        Local $aMsg = GUIGetMsg(1)
    
        If $aMsg[0] = $GUI_EVENT_MOUSEMOVE Then
            ToolTip("X: " & $aMsg[3] & @CRLF & _
                " Y: " & $aMsg[4])
        EndIf
    WEnd
    Alles anzeigen
  • GDIPlus Klick auf Objekt

    • alpines
    • 14. November 2018 um 17:30

    https://docs.microsoft.com/en-us/windows/…/wm-lbuttondown mit GUIRegisterMsg registrieren und die Koordinaten aus den Parametern holen.

    Anschließend musst du das mit einer Tabelle abgleichen die du anlegst, wenn du die Objekte erstellst.

  • Shoutbox weg?

    • alpines
    • 14. November 2018 um 09:35
    Zitat von Musashi

    Ich möchte mich für den Erhalt der Shoutbox in bekannter Form aussprechen !

    Niemand hat die Absicht die SB abzuschaffen... Moment, das hab ich doch schon mal irgendwo gehört :rofl:

    SB bleibt natürlich, sie soll aber nur auf dem Dashboard zu sehen sein.

    Zitat von Andy

    Macht ein Benachrichtigungssystem, dass bei Bedarf die letzten 3 Zeilen der SB im unteren Bereich der aktuellen Bildschirmanzeige einblendet. So wie im "blauen" Forum, da bekommt man eine Nachricht "UserXY hat im ThreadAB geantwortet". Statt dieser Nachricht werden nur die 3 letzten Zeile SB für x Sekunden eingeblendet. So stell ich mir das vor :o)

    Ich hab von wbb nicht viel Ahnung, aber müsste man dafür nicht ein neues Plugin installieren, Rechte einstellen und sonst noch zurecht tweaken?

    Erstmal alles zum alten bringen, dann können wir ja über neue Spielereien nachdenken.

  • Speicherabbild -Analyse

    • alpines
    • 13. November 2018 um 09:55
    Zitat von Tuxedo

    Einfluss aufs Ergebnis hatte nur der DLL-Call. Was mich daran stört ist auch die Rückgabe, wenn das Ergebnis nur ein 0 oder 1

    oder eben ein True oder False ist warum wird hier ein Long verwendet.

    Das ist der Vergangenheit geschuldet und einige Fäden ziehen sich bis heute noch durch. https://en.wikipedia.org/wiki/HRESULT

    Zitat von Tuxedo

    Warum prüfst du das überhaupt alle 3 Sekunden, wenn deine Leitung wirklich so übel ist,

    hast wohl noch ein viel grösseres Problem als den Speicherbedarf diese Scriptes.

    Es würde mich auch ziemlich stören wenn ein Skript einfach so, scheinbar ohne jeden Grund, mehr Speicher allokiert. Da kann was nicht stimmen, und dem auf den Grund zu gehen ist nur verständlich.

  • Speicherabbild -Analyse

    • alpines
    • 12. November 2018 um 23:25
    Zitat von fakeraol

    Muß ich also OnAutoItExitRegister benutzen.

    Der Speicherkonsum zur Laufzeit hat aber nichts damit zu tun ob du am Ende die Handles freigibst oder nicht.

    Handles zu Schließen wenn du die Anwendung sowieso beendest ist eigentlich redundant. Es ist schön zu sehen, dass man nichts vergessen hat aber Windows räumt für gewöhnlich alles auf (und ist auch schneller dabei).

    Zitat von fakeraol

    Gibts denn keine Möglichkeit, ein Programm zu überwachen, und im Betrieb zusätzlich requirierten Speicher zu erkennen? ES könnte ja schon reichen, sich den Inhalt anzusehen, um nen Hinweis auf den "Verursacher" zu finden.

    Du kannst den RAM-Inhalt von Programmen auslesen aber du wirst damit nicht weiterkommen, das kann ich dir jetzt schon sagen.

    Probier halt mal das FileWrite mit FileClose noch zu versehen (also immer öffnen, schreiben, schließen), ansonsten käme da nur ein Speicherleck von der Seite des Interpreters in frage.

  • Shoutbox weg?

    • alpines
    • 12. November 2018 um 22:44

    Die SB ist noch nicht da, hast du die Rechte dafür auch eingestellt? Auf das SB-Archiv kann ich z.B. nicht zugreifen, aber der Link unten wird angezeigt.

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™