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

  • Zeile löschen mit _FileWriteToLine funktioniert nicht mehr

    • alpines
    • 4. Dezember 2018 um 12:20

    Nicht wirklich, sowas wird meistens im blauen Forum diskutiert.

    Wenn du über Änderungen bei den verschiedenen Versionen den Überblick behalten möchtest kannst du dir immer die Changelog History anschauen, dort steht was über die Versionen hinweg verändert wurde und ob das dein Skript so verändert, das es nicht mehr lauffähig ist. http://www.autoitscript.com/autoit3/docs/history.htm

    Oder du schaust mal im Bugtracker vorbei, dort wird sowas auch diskutiert.

  • [Anfrage] Möchte Stoppuhr mit USB Button und Eingabeformular programmieren

    • alpines
    • 3. Dezember 2018 um 21:08
    Zitat von Muecke

    Muss ich das GUICtrlCreateInput bearbeiten? mit GUICtrlSetData ? oder macht man das anders?

    Du kannst den Inhalt eines Controls mit GUICtrlSetData setzen, das solltest du machen nachdem die GUI erzeugt wurde aber bevor sie angezeigt wird.

  • [Anfrage] Möchte Stoppuhr mit USB Button und Eingabeformular programmieren

    • alpines
    • 3. Dezember 2018 um 10:49
    Zitat von Tuxedo

    Hätte nicht gedacht, daß Regex so langsam ist. Wenngleich es mir merkwürdig vorkam hier Regex zu verwenden statt einfach die rechten 3

    wie in deinem Tipp jetzt.

    Ist zwar ein wenig OT aber mit Regex schießt du hier mit Kanonen auf Spatzen.

    Wenn du immer dreistellige Nachkommazahlen hast kannst du die Stringfunktionen verwenden, das ist wesentlich schneller, da der Interpreter nicht erst die RegEx-Maschine anschmeißen und alles in deinem Pattern durchparsen muss. Auch bei Zahlen ohne drei Nachkommastellen kannst du mit StringInStr nach dem Dezimalkomma suchen und ab dort abschneiden, wäre auch viel schneller.

  • Kurze Frage zu Send-Befehl ? (+{END})

    • alpines
    • 1. Dezember 2018 um 16:29

    Ein kleiner Blick in die Hilfe genügt um das herauszufinden: https://www.autoitscript.com/autoit3/docs/functions/Send.htm

    Zeichen wie ^!+# sind Modifikatoren und in deinem Fall entspricht + SHIFT. Das END steht in geschweiften Klammern, damit die Taste END (also Ende, unter Pos1) gesendet wird und nicht als Text.

    Wenn du die Kombination in einem Ordner mal ausführst wirst du merken, dass er ab der aktuellen Stelle (wenn nichts angeklickt wurde dann die oberste) alle Dateien und Ordner darunter auswählt.

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

    • alpines
    • 29. November 2018 um 12:30
    Zitat von Moombas

    Wäre es ggf. möglich im Dashboard bei den "ungelesenen Themen" die Möglichkeit zu geben "als gelesen markieren? Entweder je Thema und/oder für alle.


    Nicht alle Themen sind für alle gleich interessant und da wäre diese Möglichkeit echt nett :)

    Das kannst du in der Forenansicht machen, ich bezweifle dass das auf dem Dashboard in WBB konfigurierbar ist.

    Geh in die entsprechde Sektion, klick die 1. Checkbox an und anschließend unten auf "xx Themen", dann klickst du auf "als gelesen markieren" und fertig.

    Wenn du nur ein Thema "als gelesen markieren willst" öffne es in einem neuen Tab und schließe es nachdem es geladen ist.

  • Anzeiger der im Autoit3Wrapper definierten REs_Fields

    • alpines
    • 28. November 2018 um 17:09

    Die weiteren Ressourcenfelder werden von Windows glaube ich gar nicht beachtet, nur die Standarddaten die man ausfüllen kann.

    Die Extradaten kannst du aber mittels der Ressource UDF oder ähnlichem auslesen.

  • Sehr schnell in GUI schreiben

    • alpines
    • 27. November 2018 um 10:13
    Zitat von DasIch

    Der Code von Oscar ist schon Hochsprache, will ich meinen. Ich lese ihn mir auch gerade durch und ziehe meinen Hut. Hättest nur ein bisschen kommentieren können, lieber Oscar

    Ich will Oscars Code nicht schlecht reden, aber es ist nur eine einfache Stoppuhr. Du kannst den Teil mit der Segmentanzeige und den Kompressionsfunktionen komplett rausschmeißen, sie dienen lediglich der Optik.

    Wenn du den Code nicht verstehst kannst du die Teile rausstreichen und dir nur das angucken was wirklich zur Funktionalität beiträgt, das ist wesentlich einfacher als es sich anmuten mag.

    Der Hauptteil spielt sich in der _ShowTimer-Funktion ab in welcher die aktuelle Zeitmarke in ihre einzelnen Bestandteile aufgeteilt und angezeigt wird.

  • Parameter in Date.au3 nicht wie in der Norm

    • alpines
    • 27. November 2018 um 10:07

    Das ist leider das Problem wenn verschiedene Leute an den UDFs basteln, es gibt generell in den UDFs (bis auf die _GUICtrlxxx_bla Konvention) nichts was UDFs gemeinsam hätten.

    Einige wollen unbedingt Arrayreferenzen, andere akzeptieren auch Kopien. Einige geben Integer zurück und andere Strings und dann sucht man sich die Finger wund.

    Wenn man sich mal die Implementation der _DateDiff in der UDF anschaut könnte man sich eigentlich noch mehr aufregen, weil hier nicht wie vermutet Switch (case-insensitiv) sondern Select verwendet wird!

    Also man hätte direkt die Möglichkeit des case-sensitiven "m"s da, aber sie wird absichtlich nicht genutzt. Das ist schon grob fahrlässig.

    Und das tolle ist ja, die UDF ist mittlerweile so alt, dass sie da garantiert nichts ändern werden, da das wieder 90% der Scripte zerschießt die _DateDiff verwenden.

    Code
    ;Date.au3 / _DateDiff
    
    If StringInStr("d,m,y,w,h,n,s", $sType) = 0 Or $sType = "" Then
        Return SetError(1, 0, 0)
    EndIf
    
    ;...
    
    Select
        Case $sType = "d"
            ;...
    
        Case $sType = "m"
            ;...
    EndSwitch
    Alles anzeigen
  • Schriftgröße in Pixel umrechnen [GUISetFont]

    • alpines
    • 25. November 2018 um 20:48

    Dafür kannst du doch das Resizing von AutoIt nutzen? Schau dir mal in Koda die verschiedenen Resizeoptionen an.

    Die verschieben und vergrößern deine Controls je nachdem wie du dein Fenster ziehst.

    So musst du nur ein 1280x720 Fenster erstellen und danach einmal hochskalieren, die Elemente werden hochskaliert (bis auf die Schriftart natürlich).

  • Schriftgröße in Pixel umrechnen [GUISetFont]

    • alpines
    • 25. November 2018 um 19:59
    Zitat von Andy

    mit den Macros @DesktopHeight und @DesktopWidth erhälst du die Größe in Pixeln des aktuellen Desktops, also auf jedem Rechner individuell, auf dem dein Programm läuft.

    Wenn deine GUI ja immer die gleiche Größe hat, sollte es kein Problem sein, das Fenster genau in der Mitte des Desktops zu zentrieren, egal wie die Bildschirmauflösung ist.

    Dazu benötigst du die Makros für den Regelfall nicht. Wenn man GUICreate keine Parameter für die Position übergibt, wird das Fenster automatisch zentriert.

  • Sehr schnell in GUI schreiben

    • alpines
    • 25. November 2018 um 17:44
    Zitat von Kanashius

    Wenn die Anzeige für Sekunden aktualisiert werden soll, aktualisiere nicht alle 30 Millisekunden, sonder alle 500 bis 250 ms (Das Sleep in Zeile 24).

    Dazu noch angemerkt:

    Bei großen Sleeps bitte den OnEventModus verwenden, sonst wird sich deine GUI zäh anfühlen und laggen.

    Das passiert im EventModus nicht.

  • GUICtrlCreateLabel (Box an TextGröße anpassen)

    • alpines
    • 24. November 2018 um 20:28

    AutoIt autosized nur für die bereits angegebene Font beim Erstellen, du musst die Schriftart der GUI setzen wenn du die Controls so erstellen möchtest.

    Hier ein kleines Beispiel:

    Code
    $Form1 = GUICreate("Form1", 615, 438, 192, 124)
    
    GUISetFont(40)
    $Label1 = GUICtrlCreateLabel("Label1", 128, 72)
    GUISetFont(8.5) ;DEFAULT
    
    GUISetState(@SW_SHOW)
    
    While GUIGetMsg() <> -3
    WEnd
  • DPI Einstellungen bekommen

    • alpines
    • 22. November 2018 um 12:01

    Die Konstante die du entfernt hast ist in der UDF MsgBoxConstants.au3 definiert und hat keinen Einfluss auf dein Programm, da sie lediglich den Wert 48 beinhaltet. Du hast also nur ein anderes Icon gesetzt.

    Probier mal mit #RequireAdmin die Daten auszulesen.

  • Den Background einzelner ListView Elemente ändern

    • alpines
    • 21. November 2018 um 17:11
    Zitat von DasIch

    Das Problem ist, dass die ListViewItems alle dynamisch erzeugt werden. Wie kann ich auf einzelne Handles dieser items zugreifen?

    Du kriegst doch die Handles während du die Items erstellst.

  • Den Background einzelner ListView Elemente ändern

    • alpines
    • 21. November 2018 um 16:10

    Natürlich geht das, wenn du alles sauber erstellst und die Handles von den GUICtrlCreateListViewItems speicherst, dann musst du nur GUICtrlSetBkColor nutzen.

  • Den Background einzelner ListView Elemente ändern

    • alpines
    • 21. November 2018 um 14:58
    Zitat von DasIch

    War es evtl das Kontextmenü, das sich mit rechtsklick öffnen lassen können soll? Ich weiß es nicht mehr..

    Du kannst ein Kontextmenu auf eine ListView setzen, das ist kein Problem.

    Es ist trotzdem ohne weiteres nicht möglich (nur über Gdi+ und das in Controls hinzukriegen ist in AutoIt wirklich keine schöne Sache, wie in C#, da kriegt man alles schon bereitgestellt).

    Das ummünzen von ListBox auf ListView dauert keine Stunde, statt GUICtrlSetData verwendet man halt GUICtrlCreateListViewItem.

  • Den Background einzelner ListView Elemente ändern

    • alpines
    • 21. November 2018 um 14:03

    Das kann so nicht hinhauen.

    ListBoxen lassen sich nicht Zeile für Zeile unterschiedlich färben (nicht ohne weiteres), und deshalb wird oftmals auf ListView (zumindest in AutoIt) ausgewichen.

    GUICtrlSetBkColor erwartet eine ControlID aber du übergibst den Rückgabewert von _GUICtrlListBox_SetCurSel welches nur True oder False zurückgibt, also kann das so nicht funktionieren.

    Wieso sind denn ListViews für dich keine Alternative? Was spricht denn dagegen?

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

    • alpines
    • 21. November 2018 um 08:32
    Zitat von autoBert

    Das Einfügen von Zitaten verweigert auch ab und zu den Dienst.

    Das ist von WBB so gemacht, ab und zu (ich weiß nicht genau wann) werden die Zitate nur gespeichert anstatt direkt eingefügt.

    Aber da können wir nichts dran ändern, deshalb habe ich das bei dir mal abgehakt.

    Bitnugger hat ja erwähnt, dass man unten einfach auf Zitate klicken und dort die ausgewählten einfügen kann.

    Gun-Food vielleicht willst du ja versuchen nochmal den Link für die unerledigten Themen im Header zu setzen.

    Der Link vor dem Update: https://autoit.de/index.php?unresolved-thread-list/ funktioniert scheinbar immer noch.

    Vielleicht verlinkst du direkt darauf, statt durch ein Feature von WBB.

  • Ordner anlegen mit Leerzeichen im Ordnernamen

    • alpines
    • 19. November 2018 um 17:15

    Du hast bei deiner Pfadangabe hinten Leerzeichen wie du es schon selber angemerkt hast. Die musst du natürlich im String mit Gänsefüßchen umschließen (also den String), da es sich ansonsten um verschiedene Parameter handelt.

    Beispiel: $sCmd = "C:\bla.exe ""bla\blub test.exe""".

    Du kannst entweder doppelte " nutzen (wenn du den String mit " startest) oder du verwendest einfach einmal " wenn du deine Strings mit ' deklarierst.

  • Ordner anlegen mit Leerzeichen im Ordnernamen

    • alpines
    • 19. November 2018 um 16:23

    Das Schreiben in das Program Files (x86) Verzeichnis erfordert sicherlich Administratorrechte auf deinem Rechner.

    Setz mal ein #RequireAdmin in die 1. Zeile deines Skriptes und probiers erneut.

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™