Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

wenn ein script zu lange wird


  • Please log in to reply
13 replies to this topic
akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

hallo

was kann man bei ahk tuen wenn ein script zu lange wird

gibt es die möglichkeit einzelne funktionen auszulagern in andere dateien ?

 

mein script wird immer länger und ich verliere die übersicht



cem80
  • Members
  • 33 posts
  • Last active: Oct 07 2016 04:12 AM
  • Joined: 07 Aug 2013
Ich würde entweder einen "Farbenfrohen" editor nehmen,
jeweils notizen einfügen oder umleiten auf andere Scripts respektiv exe Dateien.


l.g.

gregster
  • Members
  • 283 posts
  • Last active: Nov 09 2015 03:08 AM
  • Joined: 19 Mar 2009

Es gibt die Möglichkeit, Code (hier bieten sich in erster Linie Funktionen an) in andere ahk-Dateien auszugliedern und diese per #Include einzubinden.

 

Sollte es sich beim ausgegliederten Code jedoch um keine Funktionen (http://l.autohotkey....s/Functions.htm) handeln, sondern bspw. um Subroutinen, die über AHK-Labels (z. B. mit Hilfe von SetTimer) aufgerufen werden, ist die richtige Positionierung der Include-Direktive sehr wichtig, damit die 'Auto-execute Section' am Beginn des Hauptskripts (http://l.autohotkey....cripts.htm#auto) weiterhin richtig funktioniert: Der Code der ausgelagerten Datei wird nämlich genau an der Stelle ins aufrufende Skript eingefügt, an der sich die include-Direktive befindet! Bei reinen Funktionen-Bibliotheken kann das Include dagegen irgendwo im Skript stehen. Siehe dazu hier: http://l.autohotkey....ds/_Include.htm



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

danke gregster , das hilft mir schon viel

 

eine frage noch wie mach ist das dann bem compilen der datei?



fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Jede includierte Datei wird automatisch mitgenommen. Das gleiche bei den Dateien die per FileInstall hinzugefügt wird.



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

ich hab es jetzt mal versucht leider klappt es noch nicht so ganz , vll weiss jemand was ich falsch mache

 

mainscript

Gui, Show, x131 y91 h475 w733, test
Return
#Include inc_test

das 2te script zum include

gstart:
MsgBox, hallo
return


gregster
  • Members
  • 283 posts
  • Last active: Nov 09 2015 03:08 AM
  • Joined: 19 Mar 2009

Hm, der Dateiname sollte stimmen, das heißt, wenn das include-Skript eine ahk-Endung hat (würde ich empfehlen), dann sollte diese Dateiendung auch in der #include-Direktive stehen.

 

Außerdem hast du nichts im Hauptskript, das das Label 'gstart' aufruft (Steuerelement, gosub, SetTimer oder was auch immer).

 

Wenn du allerdings ein g(osub)-Label in den Optionen eines Steuerelements verwenden willst, dann ist das Label später beim Aufruf selbst ohne g zu schreiben: gstart -> start ('start' ist das Label, 'g' zeigt an, dass es ein Label unmittelbar folgt). (Bei gosub und SetTimer verwendest du dagegen nie ein zusätzliches 'g', sondern würdest direkt 'start' schreiben)

 

Daher probier doch mal folgendes:

 

Hauptskript:

Gui, add, button, gStart , Hier drücken
Gui, Show, x131 y91 h475 w733 , test
Return
#Include inc_test.ahk

inc_test.ahk:

Start:
MsgBox, hallo
return


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

super danke

das mit "g" weglassen darauf währ ich nie gekommen

 

kann ich den gui nicht auch irgendwie mit auslagern , in dem fall nach inc_test.ahk



Alibaba
  • Members
  • 435 posts
  • Last active: Nov 19 2014 04:21 PM
  • Joined: 01 Nov 2012

Natürlich. Einfach alle Befehle die das GUI in der Autoexec-Routine definieren in eine Datei, z.B. "gui_include.ahk" packen und ganz am Anfang des Scripts inkludieren.

Du könntest auch noch die ganzen GUI-Label wie beispielsweise "GuiClose:" in diese Include-Datei packen, dann hast du weniger Labels in deinem Hauptscript.


Find the recent autohotkey version here: ahkscript.org


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

danke alibaba das klappt ja super , hätte ich das nur schon eher gewusst :D

 

hab noch eine kleine frage zu tabs , die werden immer oben angezeit

ist es auch möglich die unten anzuzeigen

 

ich hab ein bild im internet gesucht das ihr seht wie ich das meine

 

6d8e2d6ba0bbbd4936322b3a79105beb.png



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Gehört zwar nicht ganz zum Thema, aber ja, auch das geht:
 

Left/Right/Bottom: Mit diesen Wörtern werden die Tabs an der linken, rechten oder unteren Seite angezeigt, anstatt an der oberen. Für Left und Right gelten Einschränkungen, die in TCS_VERTICAL eingesehen werden können.

http://ragnar-f.gith...ontrols.htm#Tab (unter Optionen)



akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

vielen dank

gibt es auch die möglichkeit in einem tab noch einen weiteren einzubauen

 

ich benutze diesen smartgui da läst sich leider nur einer einbauen



Alibaba
  • Members
  • 435 posts
  • Last active: Nov 19 2014 04:21 PM
  • Joined: 01 Nov 2012

Soweit ich weiß geht das nicht mit dem Tab im Tab.

Theoretisch würde es so definiert werden, aber der zweite Tab wird in diesem Fall einfach nicht / nicht korrekt angezeigt:

Gui, Add, Tab2,, Hallo|Tab im Tab
Gui, Tab, 2
Gui, Add, Tab2,, 1|2|3
Gui, Show, AutoSize, Test
Return

Find the recent autohotkey version here: ahkscript.org


akka1
  • Members
  • 95 posts
  • Last active: Aug 22 2019 11:46 AM
  • Joined: 09 Aug 2013

schade das es nicht geht

 

danke trotzdem :D