Checkboxen die markiert sind sollen kopiert werden

  • Hallo,

    Ich habe jetzt mehrere checkboxen zur auswahl und ich habe mir das so mit einem IF befehl gedacht der aber leider nicht funktioniert:


    Case $msg = $Button_1

    If $checkCN_2 = $GUI_CHECKED Then DirCopy ( "E:\Auto\WindowsXP\AcrobatReader9.1-12052009", "D:\Uninst\Software\Acrobat Reader 9.1" , 1 )
    If $checkCN_7 = $GUI_CHECKED Then DirCopy ( "E:\Auto\WindowsXP\AntiVir9-28092009", "D:\Uninst\Software\Antivir9" , 1 )


    Aber es passiert gar nichts wenn ich auf den button klicke ?

    Und eine andere Frage wäre noch ich habe ja den Button wenn auf ihn geklickt wird sollen ja die markierten checkboxen nur kopiert werden also die daten die für die checkboxen stehen aber könnte man wenn ich auf den button klicke es noch so einstellen das ich vorher noch das Verzeichnis auswählen kann wo alles hinkopiert werden soll?


    MFG Moritz

  • Hi,

    die Hilfe ist Dein Freund:

    1) Für den Status der Checkboxen nimm die Funktion GUICtrlRead ($chkCN_2). (Tip: 1 = checked)
    2) Zielverzeichnisauswahl müsste auch über FileOpen und dem Filter *. funktionieren. Pass also Deine If Bedingung entsprechend an.

    ;-))
    Stefan

  • Zitat

    Aber es passiert gar nichts wenn ich auf den button klicke ?

    Stimmt nicht! Selbstverständlich "passiert etwas", nur nicht so wie du dir das vorstellt. Die Hilfe bietet in diesem Fall nicht viel Hilfe^^ ich habe das Beispiel deshalb etwas erweitert

    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $checkCN, $msg
    GUICreate("My GUI Checkbox") ; will create a dialog box that when displayed is centered

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

    $checkCN = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)

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

    GUISetState() ; will display an dialog box with 1 checkbox

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

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

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $checkCN Then ;die checkbox sendet eine Nachricht
    If GUICtrlRead($checkCN) = $GUI_CHECKED Then ;der Status des Checkbox-Controls wird festgestellt, wenn "angehakt" dann
    ToolTip("Checkbox angehakt") ;infotext anzeigen
    Else ;ansonsten
    ToolTip("Checkbox NICHT angehakt")
    EndIf
    Sleep(1000) ;eine Sekunde text anzeigen
    ToolTip("") ;toolbox löschen
    EndIf

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

    WEnd
    EndFunc ;==>Example

    [/autoit]
    Zitat

    das ich vorher noch das Verzeichnis auswählen kann

    [autoit]

    FileSelectFolder ;sollte dir weiterhelfen

    [/autoit]
  • 1)Das Mit dem Fileopen verstehe ich noch nicht ganz weil ich will ja einfach nur das verzeichnis auswählen und da sollen dann alle Programme reingefügt werden.

    2) Wenn die sachen kopiert werden seith es ja so aus als würde der Rechner hängen kann ich nicht eine Prozent anzeige dazu machen. Ich weiß das es diese Progressbar gibt aber wie hänge ich die dazwischen?

    Danke für die Lösung mit der Checkbox

    Und ich entschuldige mich schonmal für meine dummen Fragen aber bin halt noch Anfänger.

  • Also das mit der Verzeichnisauswahl funktioniert bei mir nicht das Fenster öffnet sich zwar aber ich drücke ok aber es wird nicht dahin kopiert!



    Das mit den Pfaden is jezz nur so halt aber wie muss ich das Fileselectordner einbauen?

  • Hi,

    die Hilfe bekommst Du auch mit der F1 Taste.

    $folder = FileSelectFolder ( "Kopieren zu", "D:\UNINST" , 4 )

    If Bitand(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then DirCopy ("E:\AUTO\WindwosXP\InternetExplorer8-12052009", $folder & "\Software\DotNetFrameworkPaket" ,1)

    ;-))
    Stefan