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

  • Suche einfach erweiterbaren Einstellungen-Dialog (Program Settings)

    • alpines
    • 7. August 2020 um 18:47

    Guck mal in die Settings von Koda, allerdings hast du dafür glaube ich keine editierbaren Dateien um das Design direkt zu übernehmen.

    Alternativ kannst du dir auch die Settingsforms von deinem Lieblingsprogramm PassIt2 herunterladen.

    Im src-Download sind diese enthalten, vielleicht ist es ja was für dich.

  • Stack Overflow

    • alpines
    • 31. Juli 2020 um 12:45

    Das sollte auch nicht überraschen, du sprincst von der Funktion kopieren() in pause() dann wieder in kopieren() aber verlässt nie die Funktionsinstanz.

    Irgendwann sagt AutoIt: Jetzt ist Feierabend, du hast eine zu hohe Rekursionstiefe erreicht.

    Strukturiere deinen Code um und verwende lieber Schleifen.

  • BugFix wird fünfstellig :-)

    • alpines
    • 27. Juli 2020 um 16:36

    Alter Knacker.... Glückwunsch :part:

  • StringRegExp - mangelhafte Erklärung des Flag

    • alpines
    • 26. Juli 2020 um 13:59

    Tweaky bei zu großen Bildern skaliert WBB es runter und man kann es nicht lesen. Hänge es lieber als Anhang an oder verlinke es auf imgur oder so.

  • MoveToMouse

    • alpines
    • 23. Juli 2020 um 17:18
    Zitat von Yjuq

    Ich hatte dazu mal einen Beitrag geschrieben: RE: PandaRunner Reworked - Ein Autoit Game


    Für jene die es interessiert.

    C
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    
    Opt("GUIOnEventMode", 1)
    
    $Form1 = GUICreate("Form1", 615, 342, 192, 124)
    GUISetOnEvent(-3, _Exit)
    
    $Slider1 = GUICtrlCreateSlider(8, 288, 590, 45)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlSetData(-1, 10)
    GUISetState(@SW_SHOW)
    
    _GDIPlus_Startup()
    
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(615, 200, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    
    Local $fStep = 5
    Local $fStepPerSecond = 1.0
    Local $tmrTimer = TimerInit()
    
    Local $iX1 = 0
    Local $iX2 = 0
    
    While 1
    
        $iX1 += $fStep
        $iX2 += $fStepPerSecond * TimerDiff($tmrTimer)
    
        $tmrTimer = TimerInit()
    
    
        _GDIPlus_GraphicsFillRect($hBuffer, $iX1, 10, 50, 50)
        _GDIPlus_GraphicsFillRect($hBuffer, $iX2, 70, 50, 50)
    
        _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
        _GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
    
    
        If $iX1 > 600 Then $iX1 = 0
        If $iX2 > 600 Then $iX2 = 0
    
        Sleep(GUICtrlRead($Slider1))
    WEnd
    
    Func _Exit()
        Exit
    EndFunc
    Alles anzeigen

    Etwas spartanisch aber verdeutlicht es auch. Kurz zusammengeschustert.

  • MoveToMouse

    • alpines
    • 23. Juli 2020 um 17:01

    Braucht definitiv noch ein bisschen Arbeit aber wow, sieht richtig gut aus, gefällt mir sehr gut.

    Kleiner Tipp: Nimm als Berechnung der Zeichenstrecke nicht die Iteration * Schritt, da diese unterschiedlich oft ausgeführt wird auf stärkeren/schwächeren PCs.

    Erstell dir eine Timer-Variable und setze sie mit jeder Schleifeniteration neu und speichere dabei die Differenz zur letzten Schleife.

    Dann normalisierst du den Wert auf eine Sekunde bspw. und multiplizierst ihn mit dem Faktor den ein Kreis zurücklegen soll pro Sekunde.

    Dann ist das ganze FPS unabhängig.

  • Teilauslesung eines Links via Variable

    • alpines
    • 22. Juli 2020 um 17:40

    Hallo Cuddlesdarkcloud und herzlich willkommen im De-Forum (der hellen Seite der Macht).

    Prinizipiell ist es mit AutoIt natürlich möglich, nur ist es so, dass neue User oftmals den Wald vor lauter Bäumen nicht sehen und eine Lösung für ein Symptom suchen statt das eigentliche Problem anzugehen.

    Wenn du uns erzählst auf welcher Internetseite du rumklicken möchtest oder was du im Allgemeinen vorhast können wir dir vielleicht noch besser helfen, damit du direkt einen geschmeidigen Einstieg in AutoIt hast.

  • RegEx - Kommentarblöcke (auch geschachtelt) erkennen

    • alpines
    • 22. Juli 2020 um 15:46

    Probier mal in den Einstellungen links (der Schraubenschlüssel) die max. Execution Time von 2s höher zu schrauben. Vielleicht hilfts?

  • Send("{Right " & $iCount & "}") - $iCount in Zweier Schritt ( Step) , unabhängig vom Step der Funktion

    • alpines
    • 20. Juli 2020 um 19:34

    Inwiefern? Du liest die Variable doch nur und beschreibst sie nicht.

  • Send("{Right " & $iCount & "}") - $iCount in Zweier Schritt ( Step) , unabhängig vom Step der Funktion

    • alpines
    • 20. Juli 2020 um 19:30

    Ich weiß nicht wo deine Zuweisung mit $iCount ist aber nimm doch einfach gleich die Schleifenvariable $i.

  • Send("{Right " & $iCount & "}") - $iCount in Zweier Schritt ( Step) , unabhängig vom Step der Funktion

    • alpines
    • 20. Juli 2020 um 19:11

    Wie wäre es denn wenn du einfach 1+iCount*2 oft sendest?

    0: 1 + 0*2 = 1

    1: 1 + 1*2 = 3

    2: 1 + 2*2 = 5

    3: 1 + 3*2 = 7

  • RegExp - Finde wenn Klammern ausbalanciert

    • alpines
    • 20. Juli 2020 um 18:56
    Zitat von AspirinJunkie

    Naja man könnte damit Funktionsdefinitionen (Funcname + alle Parameter) matchen, wenn man es so schreibt:

    Func a( $a = "(") ) matcht bis zur ersten Klammer zu obwohl es ungültig ist.

  • RegExp - Finde wenn Klammern ausbalanciert

    • alpines
    • 20. Juli 2020 um 18:07
    Zitat von BugFix

    Erfüllt doch die Bedingung.

    Es sollen "Funktionsköpfe" gefunden werden, die gültig sind. Und diese Anforderung wird erfüllt.

    Von Prüfung auf Gültigkeit der Deklaration der Funktion selbst war keine Rede.

    Es versteht sich glaube ich von selbst, das nur gültige Funktionen geparst werden sollen. Fehlt das EndFunc, ist die Funktion ungültig.

    Trotzdem kann man das EndFunc natürlich weglassen, die Frage ist nur wie penibel man sein möchte beim Parsen und wie viele der Fälle man abdecken will.

    Das war schon beim Calltipviewer ein großes Thema.

  • RegExp - Finde wenn Klammern ausbalanciert

    • alpines
    • 20. Juli 2020 um 17:20
    Zitat von BugFix

    Durch Einleitung der Zeile mit "Func" ist die Deklaration einer Funktion eindeutig definiert. Da du den Rest der Funktion nicht verwertest, brauchst du ihn auch nicht matchen.

    Code
    Func BlaBlubb()
    
        Return 1

    Deshalb vielleicht?

  • RegExp - Finde wenn Klammern ausbalanciert

    • alpines
    • 20. Juli 2020 um 14:37

    Du kannst Zeichen abwählen indem du das ^ Zeichen in Kombination mit einer Klasse verwendest. [^a]+ bedeutet z.B. matche alles so greedy wie möglich (min. 1) was keine as beinhaltet.

    https://regex101.com/r/6CjQD0/1

    Beachte noch, dass Parameter Klammern haben können, sowohl in Strings als auch außerhalb von Strings!

  • Ordnerstruktur - nur Ordner mit String " - 2020" ohne Dateien in gleichnamige Ordner " - 2021" kopieren

    • alpines
    • 16. Juli 2020 um 11:50
    Zitat von Banana_2_Day

    Wo liegt der Vorteil von

    _FileListToArrayRec

    gegenüber der von Oscar verwendeten Funktion

    _RecursiveFileListToArray?

    Funktion lesen!

    Oscars Funktion erlaubt es mit einem RegEx-Pattern das Dateisystem zu durchsuchen. Mit einem RegEx Pattern kannst du bestimmte Dateinamenstrukturen angeben. Z.B. Dateiname soll fünf As enthalten, wobei die Zahlenfolge 111 vorangestellt und die Zahlenfolge 222 hintangestellt ist.

  • Fenster überwachen

    • alpines
    • 16. Juli 2020 um 09:16

    Füg einfach ein Sleep(10) oder Sleep(100) in die While-Schleife hinzu, dann passt das schon.

  • Opt ("SendKeyDelay", 150)

    • alpines
    • 13. Juli 2020 um 17:50

    Du schaffst es doch mit Opt("SendKeyDelay", 150) das anzupassen, was spricht dagegen am Anfang eines solchen Bereiches einfach die Zeit zu setzen, und beim Verlassen einfach die vorherige Zeit wiederherzustellen?

  • Funktion soll nicht erneut starten, solange sie nicht ganz abgeschlossen wurde

    • alpines
    • 10. Juli 2020 um 19:36
    Zitat von geradeStudent

    Eine Generalisierung ist letztlich nur so lange richtig, bis sie widerlegt wird. Natürlich spielt hier ein gewisser Erfahrungswert eine Rolle, dennoch rechtfertigt dieser nicht, dass man über andere urteilt oder einfach freiheraus Dinge unterstellt. Innerhalb der Zeit hätte man genauso gut freundlich nachfragen können, um weitere Informationen einzuholen.

    Ich werde mit dir hier nicht darüber streiten wer recht hat oder wann man wen verdächtigt, denn all die Jahre Forenbetrieb haben einen gewissen Geschmack hinterlassen der sich auch in fast allen Fällen bewahrheitet hat.

    Zitat von geradeStudent

    Geholfen wurde mir mit der Antwort sowieso nicht, auch kein Versuch dafür unternommen hilfreich zu sein. Hätte man sich schlicht sparen können.

    Mir (und schon gar nicht dir) hilfst du auch nicht wenn du dein Anliegen nicht erklärst obwohl ich dich seit zwei... jetzt sind es drei Posts frage was du eigentlich vor hast. ;)


    Zurück zum eigentlichen Thema:

    Deine Lösung ist für HotKeySet nicht wirklich geeignet wenn du mehr Code drin hast, da du dich in verschiedenen Funktionsinstanzen verrennen kannst.

    Besser wäre es gewesen wenn du den Hotkey deregistrierst beim Betritt der Funktion und ihn anschließend wieder registrierst wenn du sie verlässt, so lässt du gar nicht zu, die Funktion nochmal aufzurufen.

    Noch besser wäre es natürlich gewesen wenn du uns dein eigentliches Problem erklärst und wir vielleicht eine noch bessere Lösung finden könnten.

    Wir empfehlen immer Ursachen zu bekämpfen und keine Symptome, vielleicht bist du einfach zu nah am Problem dran um eine bessere Lösung zu finden?

    Deshalb solltest du uns ja erzählen wo das eigentliche Problem ist, nicht nur wie du es zu lösen gedenkst.

  • Funktion soll nicht erneut starten, solange sie nicht ganz abgeschlossen wurde

    • alpines
    • 10. Juli 2020 um 19:04
    Zitat von geradeStudent

    Ach, es ist nur ein kleines Skript, weil meinem Laptop ein Numblock fehlt und ich nicht ständig die Einstellungen des Programms deswegen ändern wollte, wenn ich unterwegs bin.

    Siehst du, und schon fängt das XY-Problem an.

    Einstellungen ändern von welchem Programm? Deine Funktion heißt "attack", das hat doch mit Einstellungen nichts zu tun?

    Die meisten Leute die hier Fragen stellen wollen sich scheinbar nicht helfen lassen und man muss ihnen jegliche Informationen aus der Nase ziehen bis man etwas hat womit man arbeiten kann.

    Und dann meinen einige sogar noch nicht auf die Ratschläge zu hören und am Ende kleinlaut zugeben zu müssen "ja war doch das problem".

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™