Brauche Unterstützung bei AutoIt

  • Hallo zusammen !

    Und zwar brauche ich Hilfe bei einem Script was ich mache.

    Ich muss Anmerken, dass ich ein kompletter Anfänger bin.

    Ich möchte ein DropDown Menu erstellen mit einem Button darunter.

    Im DropDown Menu befinden sich Namen von spielen, wovon man eins Auswählen kann.

    Nun möchte ich das sich durch einen klick auf den Button ein Fenster öffnet mit bestimmten Informationen die Dort auftauchen.

    Was ich nicht verstehe wie ich den Button mit dem Menü verbinde und das sich zu jedem Spiel eine seperate Liste öffnet

    So weit bin ich mittlerweile:


    Ich hoffe das mir jemand behilflich sein kann.

    Vielen Dank im voraus.

    Beste Grüße

    Lukas - shitgettinserious

  • Schau mal ob es dir weiterhilft

  • Was ich nicht verstehe wie ich den Button mit dem Menü verbinde und das sich zu jedem Spiel eine seperate Liste öffnet

    Was genau soll bzgl. der Spiele denn passieren, siehe Forenregeln ?

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

  • Dort soll nur eine Liste angezeigt werden mit den Mindestforderung wie z.B Grafikkarte, CPU etc.

    Also es soll nur eine liste sein.

    Man wählt über das Dropdown Menu aus und klickt auf suchen.

    Und dann sollen einem die Mind. Specs angezeigt werden

  • Hey blackcho,

    das hatte ich auch schon probier und konnt dem sehr nahe.

    Nur leider müsste sich für jedes Spiel ein neues Fenster öffnen mit seperaten daten und das ist leider mein Problem,

    weil ich leider nicht die Lösung finde

  • Dort soll nur eine Liste angezeigt werden mit den Mindestforderung wie z.B Grafikkarte, CPU etc.

    Also es soll nur eine Liste sein.

    Klingt plausibel ;).

    Nebenbei : Willkommen im Forum :).

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

  • Schau dir das hier mal an

    musst einfach zwischen GTA und CSGO wechseln

  • shitgettinserious :

    Es wäre flexibler, die Daten in einer externen Datei zu pflegen und als 2-D Array einzulesen :

    Hier mal ein (schnell erstellter) Ansatz :

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

  • Da sich der Code gerade dahin entwickelt, dass sehr viel Copy&Paste Code (Code duplicates) vorkommen, danchte ich, ich überarbeite den Code einmal vollständig und zeige dabei einige Konzepte, die ich empfehlen würde um den Code einfach und Wartbar zu halten.

    Zum einen sollten unbedingt Arrays verwendet werden, um immer denselben code zu vermeiden (siehe z.B. Zeile 58-67 und 69-80 oben). Dort wird derselbe Code verwendet, das einzige was sich verändert sind die Daten in den Textfeldern => Die Daten in ein Array und es muss nurnoch eine Test1/Test2 Funktion erstellt werden und dementsprechend auch nur eine Funktion verändert werden.

    Falls du arrays noch nicht kennst: Unbedingt anschauen, sie bilden das Grundkonzept jeglicher dynamischer Programmierung in AutoIt. (Gutes Tutorial von BugFix : http://www.bug-fix.info/array_tut.htm)

    Bei meinen Modifikationen hab ich auch gleich Variablen zur Fenster-Erstellung genutzt. Dadurch kann z.B. die Fenstergröße oben in der Variable geändert werden und alle Controls,... passen immernoch zum Fenster.

    Schau die das Programm am besten in Ruhe an, ich denke, du kannst dabei einiges/einige Konzepte lernen.

    MfG,

    Kanashius.

    Edit: Ich hab den Fehler behoben, der Musashi aufgefallen ist, das hatte ich übersehen (war kein Versionsfehler) :)

  • Zum einen sollten unbedingt Arrays verwendet werden, um immer denselben Code zu vermeiden

    [...]

    Aus dem Quellcode : "Es könnte sinnvoll sein, die Daten in eine andere Datei (z.B. INI) auszulagern, wenn es zu viele werden"

    Da sind wir uns ohne Zweifel einig (möglicherweise hattest Du meinen Beitrag noch nicht gelesen, als Du Deinen abgesendet hast ;) ).

    Zumindest unter meiner AutoIt-Version (3.3.14.0) arbeitet Dein Skript aber nicht ganz korrekt.

    Es wird nach [Suchen] immer nur das erste Element (hier also "Valorant") angezeigt, egal was man in der ComboBox auswählt.

    Um das zu ändern, muss in der Func _showSpecs die Zeile :

    $iIndexOfGame=_GUICtrlComboBoxEx_GetCurSel($iCombo_GameSelect)

    ersetzt werden durch :

    $iIndexOfGame=_GUICtrlComboBox_GetCurSel($iCombo_GameSelect)

    (ggf. hat sich das Verhalten in der aktuellen Version von AutoIt aber geändert :/ ).

    EDIT :

    Edit: Ich hab den Fehler behoben, der Musashi aufgefallen ist, das hatte ich übersehen (war kein Versionsfehler) :)

    Prima - hätte ja auch an meiner 'leicht' veralteten Version liegen können ^^.

    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 (10. März 2021 um 23:23)