Hilfe für buttons

  • Ich habe ein problem mit dem start stop knopf + wenn ich auf start gedrückt habe funktioniert das Programm aber so bald ich stop drücke oder versuche die Gui zu schließen geht das nicht

  • ... aber sobald ich Stop drücke oder versuche die Gui zu schließen geht das nicht.

    Beschreibe bitte mal mit einigen Sätzen was Du überhaupt beabsichtigst.

    Die Func pause() ist z.B. eine Endlosschleife. Dort kommst Du nur 'raus, wenn Du das Skript z.B. über das Menü -> [Tools] -> Stop Executing abbrichst.

    EDIT : Ach ja, und natürlich "Willkommen im Forum" ^^

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (11. Mai 2019 um 00:11)

  • Beschreibe bitte mal mit einigen Sätzen was Du überhaupt beabsichtigst.

    Die Func pause() ist z.B. eine Endlosschleife. Dort kommst Du nur 'raus, wenn Du das Skript z.B. über das Menü -> [Tools] -> Stop Executing abbrichst.

    EDIT : Ach ja, und natürlich "Willkommen im Forum" ^^

    Gruß Musashi

    Wenn ich den auf Start geklickt habe und ihn dann versuche wieder zu Stoppen funktioniert das nicht d.h wieder rum das die Start Funktion an bleibt und ich das programm nur über die Taskt leiste schließen kann

    Was soll dein Skript denn machen? Mit Send-Funktionen können leicht Probleme auftreten wenn andere Fenster auftauchen.

    Wenn du uns verrätst was du wo machen möchtest, können wir dir vielleicht eine bessere Lösung anbieten.

    Er soll halt wie oben Leertaste drücken so wie die taste 9 und die Taste X.
    Mein problem da ist wie oben beschrieben sobald ich auf Start drücke macht mein Programm nichts mehr außer das

  • Dein "Problem" besteht aktuell darin, dass du aus deiner starten() Funktion gar nicht mehr raus kommst. Dort fehlt eine Bedingung für ein ExitLoop.


    Genauso sieht es auch in der Pause() Funktion aus.


    Und generell haben die Vorredner recht.

    Was ist dein Ziel? Wolltest du nur mal rumprobieren?

    Genau ich will einfach nur rum probieren und schauen was funktioniert

  • Er soll halt wie oben Leertaste drücken so wie die taste 9 und die Taste X.
    Mein problem da ist wie oben beschrieben sobald ich auf Start drücke macht mein Programm nichts mehr außer das

    Aber wo sollen die Tastendrücke hingesendet werden? Beschreib uns welches Programm die Tasten empfangen und was die Tastendrücke machen sollen?

    Es gibt 1000 bessere Wege als Send/Mouseclick/PixelSearch zu nutzen.

    Dass du nur einfach rumprobierst kann ich nur schwer glauben, wenn du uns verrätst was du wo machen willst können wir dir besser helfen.

  • Ich probiere das ganze in Notpad++ halt mit Gui mit start und stop Knopf er soll wie gesagt so die Funktion beinhalten

    Aber wo sollen die Tastendrücke hingesendet werden? Beschreib uns welches Programm die Tasten empfangen und was die Tastendrücke machen sollen?

    Es gibt 1000 bessere Wege als Send/Mouseclick/PixelSearch zu nutzen.


    Dass du nur einfach rumprobierst kann ich nur schwer glauben, wenn du uns verrätst was du wo machen willst können wir dir besser helfen.

    Einmal editiert, zuletzt von SchlafMoon (11. Mai 2019 um 13:56)

  • Ich probiere wie gesagt nur rum ich versuche mich in Auto It zu verbessern und das ist halt meine erste GUI mit Buttons usw. Ich will halt mehr lernen was Auto It angeht und da gehört sowas ja auch mit rein :O

    Ich möchte mir zwischen zeitig auch mehr aneignen was Auto It angeht und irgendwann muss ich das ja mal hin bekommen :O

  • Und wo soll das am Ende Anwendung finden, bestimmt nicht in Npp ?

    Ich teile diese Skepsis, was den eigentlichen Zweck des Skriptes angeht ;) !

    Ich probiere wie gesagt nur 'rum ich versuche mich in AutoIt zu verbessern und das ist halt meine erste GUI mit Buttons usw.

    Für den Einstieg in GUIs, Buttons etc. gibt es sinnvollere Anwendungsfälle als Zeichenfolgen an eine Fremdsoftware (Stichwort : BOT) zu senden.

    Ein Beispiel für ControlSend findest Du übrigens in der Hilfe.

    Dein "Problem" besteht aktuell darin, dass du aus deiner starten() Funktion gar nicht mehr raus kommst. Dort fehlt eine Bedingung für ein ExitLoop. Genauso sieht es in der Pause() Funktion aus.

    Damit ist alles gesagt - es fehlen die Abbruchbedingungen.

    Folge : Die While-Schleifen laufen endlos und das Skript muss manuell terminiert werden.

    Gruß Musashi

    Bilder

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Zitat

    Für den Einstieg in GUIs, Buttons etc. gibt es sinnvollere Anwendungsfälle als Zeichenfolgen an eine Fremdsoftware (Stichwort : BOT) zu senden.

    Ja, gibt es. Allerdings erinnere ich mich da an meine Anfangszeit zurück - Da war alles für mich absolut unverständlich. Ich hatte auch mit solchen einfachen Sachen angefangen weil ich dann auch das Ergebnis direkt gesehen habe und ich so verstanden habe wie die Zusammenhänge sind (nach und nach). Gerade durch das ausprobieren habe ich mir Programmierung angeeignet. Die Sache ist halt die, wenn du das erste mal darüber nachdenkst wie man eine Software auf dem PC programmiert, weißt du gar nicht wie du anfangen sollst. Du suchst dir Sachen aus dem Internet und versuchst einfach irgendwas hin zu bekommen, was funktioniert. Und da sind dann einige Funktionen die AutoIt zur Verfügung stellt (und welche alleine in einer Codezeile laufen und direkt was machen) durchaus verständlicher, als sich direkt mit Variablen, If-Abfragen und While-Schleifen auseinander zu setzen. Geschweige denn selber eine GUI zu programmieren.

    Ich kann die Skepsis bei den "eingesessenen Hasen" durchaus verstehen, allerdings muss man auch bedenken dass Menschen, die noch nie was programmiert haben, gar nicht mit den Begrifflichkeiten und Möglichkeiten vertraut sind. Solche Dinge lernst du erst nach und nach, indem du die Zusammenhänge nach und nach verstehst. Dadurch eröffnen dir auch neue Möglichkeiten und du hast einen eher eine Vorstellung davon, wie z.B. eine leere GUI programmiert werden muss.

    Solch ein Code war auch mein Einstieg in GUIs damals. Nicht der gleiche, aber vom Prinzip her. Klar gibt's sinnvollere Dinge - Aber man versucht sich halt neues beizubringen und dies mit dem Wissen zu kombinieren welches man momentan schlichtweg hat. Ich will nur damit sagen, dass es nicht sinnvoll Skripte bei einem Anfänger zu hinterfragen. Die Leute welche gegen die Forenregeln verstoßen outen sich doch sowieso in den meisten Fällen selbst, weil Sie eben die Regeln nicht gelesen haben und dann etwas sagen was sie "entlarvt".

    Und ganz ehrlich? Die meisten Infos die man aus dem Forum bekommt (auch bei Anwendungen wo es laut Forenregeln legit ist) können sowieso für Game-Bots genutzt werden. Zumal ich sowieso dafür bin, die Forenregeln nochmal in ein zwei Punkten zu überdenken. Das ist aber ein anderes Thema. So, das war mein Senf dazu. :P

  • Hallo Yjuq !

    Da Du ein Zitat von mir genommen hast, antworte ich mal ;):

    In weiten Teilen gebe ich Dir durchaus recht ! Wie sich ein Einsteiger dem Thema AutoIt nähert, ist letztlich ihre/seine Sache und wohl auch dem Zufall geschuldet.

    Ich kann die Skepsis bei den "eingesessenen Hasen" durchaus verstehen, allerdings muss man auch bedenken dass Menschen, die noch nie was programmiert haben, gar nicht mit den Begrifflichkeiten und Möglichkeiten vertraut sind.

    Trotz der gewissen Skepsis wurden SchlafMoon aber weiterführende Hinweise gegeben :

    Die Func pause() ist z.B. eine Endlosschleife. Dort kommst Du nur 'raus, wenn Du das Skript z.B. über das Menü -> [Tools] -> Stop Executing abbrichst.

    EDIT : Ach ja, und natürlich "Willkommen im Forum" ^^

    Dein "Problem" besteht aktuell darin, dass du aus deiner starten() Funktion gar nicht mehr raus kommst. Dort fehlt eine Bedingung für ein ExitLoop. Genauso ... in der Pause() Funktion.

    -> Die Beispielskripte der AutoIt-Hilfe liefern viel Nützliches, was man zum Einstieg braucht (selbst für ControlSend ;)) usw.

    Und ganz ehrlich? Die meisten Infos die man aus dem Forum bekommt (auch bei Anwendungen wo es laut Forenregeln legitim ist) können sowieso für Game-Bots genutzt werden.

    Völlig klar !

    Es liegt in der Natur der Sache, dass derselbe Quellcode sowohl für 'gute' als auch 'schlechte' Zwecke eingesetzt werden kann. Insofern spiegeln die Forenregeln mehr einen moralischen Anspruch wider, denn ein Mittel zur Verhinderung von Bots. Wer dies beabsichtigt, wird zwei recht naheliegende Suchbegriffe bei Google eingeben und bekommt haufenweise Tipps, inkl. YouTube-Tutorials.

    Zumal ich sowieso dafür bin, die Forenregeln nochmal in ein zwei Punkten zu überdenken. Das ist aber ein anderes Thema.

    Diese Punkte würden mich interessieren, gerne vorab auch als Konversation.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • --> Zitat Musashi : "Diese Punkte würden mich interessieren, gerne vorab auch als Konversation."

    Bitte ausschließlich als Konversation. Wir hatten diesbezüglich lang und breit bei der Einführung der Regeln diskutiert. Und es gibt keinen Anlass zum Hinterfragen der Regeln.

    Selbstverständlich ausschließlich als Konversation ;)!

    Mir ist bewusst, dass das Erstellen der Forumsregeln ein längerer, und mitunter sicher auch nerviger Prozess war. Da ich zudem hinter den Regeln stehe, sehe ich keinen Grund diese zu hinterfragen.

    Mich interessiert lediglich Yjuq 's persönliche Meinung !

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Ich habe ein problem mit dem start stop knopf + wenn ich auf start gedrückt habe funktioniert das Programm aber so bald ich stop drücke oder versuche die Gui zu schließen geht das nicht

    Das liegt an deiner Programmlogik. Hier ein kleines Skript:

    welches demonstriert, wie eine Schleife pausiert und wieder fortgeführt werden kann. Wie du am Link in Zeile 1 siehst, bist du nicht der einzigste mit diesem Logik Problem.

    mfg (auto)Bert

    Einmal editiert, zuletzt von autoBert (15. Mai 2019 um 12:41)