Beiträge von alpines
-
-
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.
-
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.
-
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.
-
Du hast ein anderes Style offenbar, ich nutze Windows 7 mit dem Standard Skin, so siehts bei mir aus:
-
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. -
_GDIPlus_DwmEnableBlurBehindWindow vielleicht? Das Viereck ist in dem 1. Beispiel nicht geblurrt, im 2. Beispiel aber schon.
C
Alles anzeigen#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 ;==>GDIPlusFreeC
Alles anzeigen#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 -
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
Alles anzeigen#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 -
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.
-
-
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!!

-
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öschenPUs 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).
-
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.
-
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.
-
Wie benutzt man denn GUIGetMsg ohne Control?
GUIGetMsg ist nicht nur für Controls zu gebrauchen.
-
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.
-
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

SB bleibt natürlich, sie soll aber nur auf dem Dashboard zu sehen sein.
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.
-
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
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.
-
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).
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.
-
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.