mehrere Guis organisieren

  • Hallo,

    ich brauche mal wieder euren Rat.
    Wie macht man das perfekt?

    • Ich habe ein Hauptprogramm (einfaches Beispiel)
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 440, 192, 124)
    $Button1 = GUICtrlCreateButton("Adresse", 48, 40, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    Case $Button1
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]
    • Dann habe ich in Koda z.B. ein Fenster
    [autoit]


    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form2", 562, 77, 209, 250)
    $Input1 = GUICtrlCreateInput("Input1", 400, 48, 121, 21)
    $Label1 = GUICtrlCreateLabel("Name", 360, 48, 32, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]

    Meine Frage:
    Bindet man in dem Hauptprogramm mit include die einzelnen Forms z.B.
    Form2.au3
    Form3.au3
    Form4.au3 (die mit Koda erstellt wurden) ein,
    falls ja, wie greift man dann darauf zu,
    oder muß man die einzelnen KODA-Code-Teile in der Hauptform einfügen, also nicht mit include.

    Was empfehlt ihr bei mehreren Formularen?


    Viele Grüße
    Ilse ;)

  • So?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Form1
    $Form1 = GUICreate("Form1", 615, 440, 192, 124)
    $Button1 = GUICtrlCreateButton("Adresse", 48, 40, 75, 25)
    GUISetState(@SW_SHOW)
    ;Form1 Ende

    [/autoit] [autoit][/autoit] [autoit]

    ;Form2
    $Form2 = GUICreate("Form2", 562, 77, 209, 250)
    $Input1 = GUICtrlCreateInput("Input1", 400, 48, 121, 21)
    $Label1 = GUICtrlCreateLabel("Name", 360, 48, 32, 17)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    ;Form2 Ende

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $Form1
    Switch $nMsg[0]
    Case $Button1
    MsgBox(0,"INFO","Du hast auf Adresse geklickt")
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Switch $nMsg[0]
    Case $Form2
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • Hallo Molaynox,

    danke für dein Beispiel.
    Du hast aber kein Koda benutzt.

    Wenn man mit Koda mehrere Forms macht,
    kann man dann die Koda-Regionen untereinander einfügen? ?(

    Update Code (in Koda) mit mehreren Forms, geht das? ?(

    Kann man mit include auch *.exe Dateien einbinden,
    damit der Nutzer nicht die *.au3 Dateien ändert?


    Viele Grüße
    Ilse ;)

  • Kann man mit include auch *.exe Dateien einbinden,
    damit der Nutzer nicht die *.au3 Dateien ändert?


    Nein, das geht nicht, du kannst aber die entsprechenden Funktionen in dein Script schreiben
    oder du machst was mit

    [autoit]

    FileInstall

    [/autoit]

    Wieso den alles mit Koda? Ohne geht das alles besser, dann kannst du den OnEventMode benutzen, der bei mehreren Guis wirklich die bessere Lösung zu sein scheint.

    • Offizieller Beitrag

    danke für dein Beispiel.
    Du hast aber kein Koda benutzt.


    Hallo Ilse, spätestens dein jetziges Projekt zeigt dir die Unwägbarkeiten von Koda. Für Anfänger ist Koda sicher ein probates Hilfsmittel. Aber gerade wenn du mehre GUI einbinden willst, mußt du aus dem produzierten Code wieder viel rauslöschen. Mach es lieber gleich von Hand. Das schärft dein Verständnis und dein Vorstellungsvermögen. Ich habe Koda bestimmt schon seit zwei Jahren nicht mehr verwendet. Übrigens kannst du vieles mit Abbrevs lösen ("setupgui" ist z.B. bereits enthalten, kannst du beliebig erweitern).

  • Guten Morgen Bugfix,

    ...Koda ade :( , ich weiß und ich versuche mich langsam davon zu lösen.

    Zitat

    Übrigens kannst du vieles mit Abbrevs lösen ("setupgui" ist z.B. bereits enthalten, kannst du beliebig erweitern).

    Abbrevs?
    Was ist das? Ein Autoit Tool? Habe in der Hilfe nichts gefunden.
    Kannst du mir ein Link senden, damit ich mich etwas reinlesen kann?

    stayawayknight @ Molaynox

    merci nochmals für die Tipps

    Grüße
    Ilse ;)

  • Abbrevs sind Abkürzungen, bei denen dir SciTE einen vordefinierten Code erstellt.

    Als Beispiel: Tipp in SciTE fun und danach die Leertaste. SciTE erstellt dir dann die Struktur für eine Funktion.

    BugFix hat zum Verwalten der Abbrevs mal ein kleines Tool geschrieben, sehr empfehlenswert - https://autoit.de/index.php?page…revs#post127797.