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

Beiträge von BugFix

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 21. August 2014 um 12:17

    Für Outfile habe ich keine extra Vorgabe. Hier ist ja jedes mal eine andere Ausgangsdatei (deren Name als exe vorgeschlagen wird). Oder hättest du gern einen Ausgangsordner, in den alle compilierten Dateien gespeichert werden?

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 21. August 2014 um 10:01

    Neue Version des Wrappers in Post #38.
    - Vorbelegung mit Individualwerten über "AutoIt.sublime-settings"
    - PlugIn an *.au3 gekoppelt

    @rynow: Ich nutze auch die portable Version. :wacko:

  • ID Programm zeigt Fehler bei Go

    • BugFix
    • 20. August 2014 um 12:06
    Zitat von Ghostleader

    @error: 1 besagt laut Hilfe = Pfad nicht gefunden oder ungültig


    Bzw. keine Dateien in diesem Pfad gefunden (denn laut gesetztem Flag möchtest du ja alle Dateien in diesem Ordner auflisten). Hast du dort wirklich Dateien in diesem Pfad?
    Habe noch nie erlebt, dass die Funktion dann fehlschlägt.

    Kann es sein, dass du auf der falschen Fährte bist und nicht Dateien eines Ordners auflisten willst, sondern eine Datei öffnen möchtest und den Inhalt im Array anzeigen willst? Dann brauchst du _FileReadToArray().

  • Listview sortieren nach anklicken einer Spalte

    • BugFix
    • 20. August 2014 um 10:19

    Bsp.:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    GUICreate("ListView SimpleSort by Column Click", 400, 300)
    $hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateListViewItem("line4|5|more_a", $hListView)
    GUICtrlCreateListViewItem("line5|4.50 |more_c", $hListView)
    GUICtrlCreateListViewItem("line5|4.0 |more_c", $hListView)
    GUICtrlCreateListViewItem("line3|23|more_e", $hListView)
    GUICtrlCreateListViewItem("line2|0.34560 |more_d", $hListView)
    GUICtrlCreateListViewItem("line1|1.0 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|0.1 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|10|more_b", $hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 1, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 2, 75)
    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    If ($hWndFrom = $hWndListView) And ($iCode = $LVN_COLUMNCLICK) Then
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
    ;~ _GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"), False) ; kein Toggle
    EndIf
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • ID Programm zeigt Fehler bei Go

    • BugFix
    • 20. August 2014 um 10:14

    InsertFunctionHeader.lua ist ein Tool von SciTE4AutoIt. Da hast du wohl den Aufruf für dieses Tool mit demselben Hotkey wie Run belegt?
    Auf jeden Fall hat das mit deinem Problem gar nichts zu tun.
    Nimm bitte ausschließlich folgenden Code in eine eigene Datei und führe dann sicherheitshalber über Menü:<Run> aus (nicht F5, falls da was hakt).

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    $List = _FileListToArray("E:\Datas ohne ID", "*", 1)
    ConsoleWrite('@error: ' & @error & @LF)

    [/autoit]

    Dann sind wir bei deinem Problem. Die Fehlerliste findest du in der Hilfe zu '_FileListToArray'.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 19. August 2014 um 22:08

    So, ich habe jetzt mal zumindest soweit eine Lösung erstellt, dass Wrapper-Direktiven aus dem Skript gelesen und für das Kompilieren angewendet werden.
    Das heisst also, die Wrapperanweisungen müssen (vorerst) von Hand eingetragen werden. Ich überlege mir mal eine halbwegs praktikable Lösung, was schwerfällt ohne GUI. :whistling:
    Folgende Direktiven habe ich eingebaut:

    Code
    #AutoIt3Wrapper_OutFile=[kpl. Pfad zu neuer *.exe - neue (Unter)Ordner werden erstellt; ohne Angabe: aktuelle au3 als .exe]
    #AutoIt3Wrapper_Icon=[kpl. Pfad zur Icondatei; ohne Angabe Standard-AutoIt-Icon]
    #AutoIt3Wrapper_Compression=[0-4, ohne Angabe wird bei Verwendung von UPX der Wert 2 (normal) verwendet]
    #AutoIt3Wrapper_UseUpx=["y/n" - Standard ist "y"]
    #AutoIt3Wrapper_Change2CUI=["y/n" - Standard ist "n", Kompilieren als Gui-Anwendung]

    Edit:
    Ich habe jetzt so erweitert, dass für die erste Anwendung jede Direktive einzeln im Input Panel abgefragt wird und das Ergebnis dann in die Datei geschrieben wird. Bei späteren Änderungen kann man ja direkt in der Datei editieren.
    Dazu gibt es jetzt ein weiteres Kommando, hier mal auf "F12" gelegt:

    Aufrufen kann man das Kompilieren mit dem Befehl: "compile_au3", hier über "F7":

    Code
    [
        { "keys": ["f7"], "command": "compile_au3" },
        { "keys": ["f12"], "command": "wrapper_directives" }
    ]


    Anhang entpacken nach: "..Data\Packages\"
    Nach Neustart steht das PlugIn zur Verfügung.

    Edit 21.08.14:
    Jetzt habe ich noch hinzugefügt, dass die Vorbelegung für die Direktiven über die "AutoIt.sublime-settings" individuell eingestellt werden kann (key: "wrapper_defaults"). Dann braucht man nur noch per Enter durchzutackern und bedarfsweise ändern. ;)

    Code
    {
       ....
        "color_scheme": "Packages/AutoItScript/AutoIt.tmtheme",
        "extensions": ["au3"],
        "wrapper_defaults": {
            "out_path": "C:\\MY_DEFAULT\\EXE_PATH",
            "icon": "C:\\Users\\BugFix\\Pictures\\ICON\\SublimeText2.ico",
            "upx": "n",
            "compression": "2",
            "console": "n"
        }
    }
    Alles anzeigen


    Ausserdem habe ich die Aufrufe für Wrapper und Compile jetzt an *.au3 gekoppelt, das fehlte noch.

    Edit 23.08.2014:
    Neue Dateiversion mit Au3Check und Run mit Parameter(n) gibt es hier
    Der Anhang in diesem Post ist die alte Version.

    Dateien

    Wrapper_au3.zip 1,76 kB – 395 Downloads
  • Automatisches Auslesen von Inputbox

    • BugFix
    • 19. August 2014 um 15:24
    Zitat von MadCatz

    Allerdings versteh ich BugFix Funktion so, als dass diese String Eingabe bei 7 Zeichen in den Zwischenspeicher lädt und dann das Inputfeld ausgraut.

    Du kannst an der Stelle genausogut eine Funktion aufrufen. Ich habe den Style der Inputbox auf Disable gesetzt, damit weitere Eingaben nach Erreichen der geforderten Länge nicht möglich sind. ;)

  • Automatisches Auslesen von Inputbox

    • BugFix
    • 19. August 2014 um 12:25

    Man sollte das auslagern und die Änderung im Inputfeld überwachen.
    Bsp.

    Spoiler anzeigen
    [autoit]

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

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

    $hGui = GUICreate('Test')
    $input = GUICtrlCreateInput('', 10,10,150,20)
    $hIn = GUICtrlGetHandle($input)
    GUISetState()

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

    GuiRegisterMsg($WM_COMMAND, 'WM_COMMAND')

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

    Do
    Until GUIGetMsg() = -3

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $hWndEdit
    $hWndFrom = $ilParam
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Switch $hWndFrom
    Case $hIn
    Switch $iCode
    Case $EN_CHANGE ; Sent when the user has taken an action that may have altered text in an edit control
    Select
    Case StringLen(GUICtrlRead($input)) = 7
    GUICtrlSetStyle($input, $ES_READONLY)
    ConsoleWrite('7 Zeichen eingegeben' & @LF)
    EndSelect
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

    [/autoit]
  • ID Programm zeigt Fehler bei Go

    • BugFix
    • 19. August 2014 um 11:37

    Der Fehler besagt, dass kein Array erstellt werden konnte (Dateipfad falsch oder Datei ohne Inhalt..). Frage mal nach $List = _FileListToArray("E:\Datas ohne ID", "*", 1) den @error ab, dann bekommst du genauere Infos.

  • aus SciTE im Explorer Ordner öffnen

    • BugFix
    • 18. August 2014 um 18:56
    Zitat von Andy

    Und der Unterschied ist?


    :wacko: Willst du mich heute veräppeln? FOD erwartet eine Auswahl durch den User und gibt diese zurück. Explorer dümpelt vor sich hin, ohne jede Erwartung. ;)

  • aus SciTE im Explorer Ordner öffnen

    • BugFix
    • 18. August 2014 um 18:28

    Ja,
    1.
    Um einen direkten Aufruf aus SciTE starten zu können brauchst du die shell.dll. Damit kannst du das realisieren. Ich habe sie angehängt.
    Ein bischen Lua-Code und es geht los. ;) - Wenn du selbst nicht klarkommst, melde dich nochmal.
    2.
    Alternativ sollte es auch mit einem AutoIt-Skript realisierbar sein. Dazu das SciTE-Interface verwenden um die aktuelle Datei abfragen zu können.

    Andy: Das ist dann aber ur der FileOpenDialog. Ich habe es so verstanden, dass der Explorer geöffnet werden soll.

    Edit:
    Hier die AutoIt-Variante

    [autoit]

    #include "SciTE_Interface.au3"

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

    $sFile = _GetCurrentFile()
    $sDir = StringLeft($sFile, StringInStr($sFile, '\', 0, -1) -1)
    ShellExecute($sDir)

    [/autoit]

    Dateien

    shell.zip 38,44 kB – 215 Downloads
  • gelöst: INet-Geschwindigkeitsnachweis

    • BugFix
    • 18. August 2014 um 17:00

    Falls du eine Fritz-Box hast, dort findest du alle Angaben zur Verbindung. Ein interessanter Wert ist die Dämpfung. Von diesem Wert ist der max. Datendurchsatz abhängig und somit kann dir dein Provider hier sofort sagen, dass unabhängig vom Vertrag nur eine Leistung XY möglich ist. Das ist dann leitungstechnisch bedingt und vom Provider auch nicht beeinflussbar. Im Normalfall bekommst du dann aber einen Abschlag auf deine monatl. Gebühr weil die Leistung nicht erbracht werden kann. (Ich zahle pro Monat deshalb 5€ weniger)

  • Listview sortieren nach zweiter Spalte

    • BugFix
    • 17. August 2014 um 18:51
    Zitat von Tweaky

    Hm,
    theoretisch klar, aber kannst du mal ein Bsp zeigen wie man dann die Sortierrichtung von mehreren Spalten angibt?
    Und wenn man im Parameter 2 bereits die Richtung je Spalte angegeben hat, warum muss man dann noch im Parameter 3 eine Spalte angeben?
    Sorry aber steh gerade auf dem Schlauch


    Die Sortierrichtung gibtst du vor, wenn du z.B. bei Sortierung nach erster Spalte (Index 0) aufwärts sortieren willst, bei Sortierung nach zweiter Spalte (Index 1) abwärts sortieren willst. Gibst du dann den Sortierbefehl mit Angabe der jeweiligen Spalte, wird die vordefinierte Sortierrichtung für die Spalte verwendet. Wenn du nicht togglest, ist die Sortierrichtung ja fix. Und über die vordefinierte Richtung kannst du das in jeder Spalte einzeln definieren.

    Hier wird bei Spaltenklick die vordefinierte Sortierrichtung aktiv:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    GUICreate("ListView SimpleSort by Column Click", 400, 300)
    $hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateListViewItem("line4|5|more_a", $hListView)
    GUICtrlCreateListViewItem("line5|4.50 |more_c", $hListView)
    GUICtrlCreateListViewItem("line5|4.0 |more_c", $hListView)
    GUICtrlCreateListViewItem("line3|23|more_e", $hListView)
    GUICtrlCreateListViewItem("line2|0.34560 |more_d", $hListView)
    GUICtrlCreateListViewItem("line1|1.0 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|0.1 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|10|more_b", $hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 1, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 2, 75)
    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    Global $B_DESCENDING[3] = [True,True,False] ; ==> ab,ab,auf

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    If ($hWndFrom = $hWndListView) And ($iCode = $LVN_COLUMNCLICK) Then
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"), False) ; kein Toggle
    EndIf
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • Listview sortieren nach zweiter Spalte

    • BugFix
    • 17. August 2014 um 14:41
    Zitat von Tweaky

    Hi BugFix,
    für was ist genau

    [autoit]

    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]

    [/autoit]


    Ist bei mehrspaltigen ListViews der Parameter 2 und 3 eigentlich das gleiche :?:

    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)] erzeugt ein Array mit der Anzahl der Spalten. In diesem kann man noch separat für jede Spalte die Sortierrichtung angeben. (Für dieses Bsp. könnte man ebensogut eine Boolsche Variable übergeben)
    Insofern klärt sich auch deine zweite Frage: Parameter 2 und 3 unterscheiden sich deutlich. Parameter 3 gibt an welche Spalte sortiert werden soll. In meinem Bsp. habe ich für die Spalten keine extra Sortierrichtung vorgegeben, da Standard aufsteigend ist. Ein erneuter Aufruf würde, da Parameter 4 nicht extra gesetzt ist, die Sortierrichtung umkehren (Toggle: True/False)

  • Listview sortieren nach zweiter Spalte

    • BugFix
    • 17. August 2014 um 12:48

    Bsp.:

    Spoiler anzeigen
    [autoit]


    #include <ListViewConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    GUICreate("ListView SimpleSort", 400, 300)
    $hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateListViewItem("line4|5|more_a", $hListView)
    GUICtrlCreateListViewItem("line5|4.50 |more_c", $hListView)
    GUICtrlCreateListViewItem("line5|4.0 |more_c", $hListView)
    GUICtrlCreateListViewItem("line3|23|more_e", $hListView)
    GUICtrlCreateListViewItem("line2|0.34560 |more_d", $hListView)
    GUICtrlCreateListViewItem("line1|1.0 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|0.1 |more_b", $hListView)
    GUICtrlCreateListViewItem("line1|10|more_b", $hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 1, 75)
    _GUICtrlListView_SetColumnWidth($hListView, 2, 75)
    GUISetState()

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

    Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($hListView)]
    _GUICtrlListView_SimpleSort($hListView, $B_DESCENDING, 2) ; 3ter Parameter ist Spalten-Index, Nullbasiert

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • Tool hängt sich auf - aber wo?

    • BugFix
    • 15. August 2014 um 10:09
    Zitat von traumhaeftling

    btw weiß jemand wie ich ermitteln kann wo und wann mein Programm sich aufgehängt hat?


    Wenn du gar keinen Ansatz hast, wo der Abbruch erfolgen könnte, hilft nur das Ergebnis jeden Funktionsaufrufes zu loggen. Wichtig, auch wenn es das Skript in dem Moment langsam macht, die Logfunktion muss das Logfile nach jedem Schreibvorgang schliessen, also kein Handle auf geöffnetes Logfile übergeben, sondern den direkten Pfad. Sonst läufst du Gefahr, dass nicht alles im Log landet.
    Im Skript wertest du dann @error aus. Wenn du eigene Funktionen hast, sollten die im Fehlerfall einen Error setzen.
    Bsp.

    [autoit]

    GUICreate()
    _FileWriteLog($LogPath, 'GuiCreate: ' & @error)

    [/autoit]

    Bricht das Skript wegen eines Fehlers ab, wird dieser ja nicht mehr in das Log geschrieben, aber anhand des letzten Eintrages siehst du, was davor noch funktionierte. Der Folgebefehl erbringt dann den Absturz. ;)

    Unkompiliert kannst du in SciTE Traceline benutzen, das loggt jede Zeile in die Konsole.

  • Install-Tool "Jetzt Installieren"-Button? Achtung, neuling.

    • BugFix
    • 14. August 2014 um 14:02

    1. Entweder wird OnEvent-Mode ODER GuiGetMsg verwendet, niemals beides gemeinsam.
    2. Du fragst die Betätigung der Checkboxen ab, somit startet die Installation sofort. Die Events der Checkboxen brauchst du überhaupt nicht, Dein Install-Button muss die Abfrage tätigen.
    Hier mal ein simples Bsp.:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $hGui = GUICreate('Test')
    $cCheck1 = GUICtrlCreateCheckbox('A', 10, 10, 40)
    $cCheck2 = GUICtrlCreateCheckbox('B', 10, 40, 40)
    $cCheck3 = GUICtrlCreateCheckbox('C', 10, 70, 40)
    $cCheck4 = GUICtrlCreateCheckbox('D', 10, 100, 40)
    $cRun = GUICtrlCreateButton('Install', 250, 10, 80)

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

    GUISetState()

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

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $cRun
    _InstallChecked()
    EndSwitch
    WEnd

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

    Func _InstallChecked()
    If BitAND(GUICtrlRead($cCheck1), $GUI_CHECKED) Then
    ConsoleWrite('Install A' & @LF)
    ; Installcode
    EndIf
    If BitAND(GUICtrlRead($cCheck2), $GUI_CHECKED) Then
    ConsoleWrite('Install B' & @LF)
    ; Installcode
    EndIf
    If BitAND(GUICtrlRead($cCheck3), $GUI_CHECKED) Then
    ConsoleWrite('Install C' & @LF)
    ; Installcode
    EndIf
    If BitAND(GUICtrlRead($cCheck4), $GUI_CHECKED) Then
    ConsoleWrite('Install D' & @LF)
    ; Installcode
    EndIf
    EndFunc

    [/autoit]


    Edit: Und wenn es viele Checkboxen sein sollen, sind Arrays eine feine Sache :thumbup:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    ; == Array mit [Checkbox-ID,Checkbox-Text,aufzurufende Funktion]
    Global $aInstall[10][3] = [ _
    [0,'A','_Func_A'], _
    [0,'B','_Func_B'], _
    [0,'C','_Func_C'], _
    [0,'D','_Func_D'], _
    [0,'E','_Func_E'], _
    [0,'F','_Func_F'], _
    [0,'G','_Func_G'], _
    [0,'H','_Func_H'], _
    [0,'I','_Func_I'], _
    [0,'J','_Func_J']]

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

    $hGui = GUICreate('Test')

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

    For $i = 0 To 9
    $aInstall[$i][0] = GUICtrlCreateCheckbox($aInstall[$i][1], 10, 10+$i*30)
    Next
    $cRun = GUICtrlCreateButton('Install', 250, 10, 80)

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

    GUISetState()

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

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $cRun
    _InstallChecked()
    EndSwitch
    WEnd

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

    Func _InstallChecked()
    For $i = 0 To 9
    If BitAND(GUICtrlRead($aInstall[$i][0]), $GUI_CHECKED) Then
    Call($aInstall[$i][2])
    EndIf
    Next
    EndFunc

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

    Func _Func_A()
    ConsoleWrite('Install A' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_B()
    ConsoleWrite('Install B' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_C()
    ConsoleWrite('Install C' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_D()
    ConsoleWrite('Install D' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_E()
    ConsoleWrite('Install E' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_F()
    ConsoleWrite('Install F' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_G()
    ConsoleWrite('Install G' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_H()
    ConsoleWrite('Install H' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_I()
    ConsoleWrite('Install I' & @LF)
    ; Installationscode
    EndFunc

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

    Func _Func_J()
    ConsoleWrite('Install J' & @LF)
    ; Installationscode
    EndFunc

    [/autoit]
  • Vereinsgründung

    • BugFix
    • 13. August 2014 um 12:32

    Grundsätzlich würde ich das begrüßen.
    Ein Problem ist aber auf jeden Fall die Anerkennung der Gemeinnützigkeit. Bildung und Erziehung im Forum - kann man so sehen aber genauso gut auch nicht. Da ist man auf das Wohlwollen des Finanzamtes angewiesen.
    Was die Anwesenheitspflicht betrifft: Das ist nicht Bundeseinheitlich.
    Bei der Erstanmeldung müssen alle vertretungsberechtigten Mitglieder (Vorstand) vor dem Notar erscheinen. Die Anmeldung beim Amtsgericht kann dann mit der notariellen Urkunde erfolgen. (evtl. Unterschiede in den Bundesländern, da nicht alle BL eine notarielle Anmeldung fordern).

  • Nutzergesteuerte Datum/Zeit-Ausgabe

    • BugFix
    • 11. August 2014 um 20:23
    Zitat von Oscar

    Eine schöne Funktion, aber ich würde die Makros nur optional verwenden.

    Hast du natürlich recht, so ist es flexibler. :thumbup:

    Zitat von Oscar

    weil sonst beim Mittwoch das "w" nochmal durch "Mi" ersetzt wird.

    *facepalm*

  • ArrayMore.au3

    • BugFix
    • 11. August 2014 um 18:47
    Zitat von Tweaky

    Durch die AutoIt Version 3.3.12.0 sind meine ich folgende Funktionen überflüssig


    :D Soweit bin ich noch nicht in der AutoItversion. Ich habe mich nach langem Zögern nun entschlossen mal die 3.3.10.x zu nutzen. Bis zur 12 ist also noch etwas Land ;)

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™