Button ausschalten nach anklicken dafür andere freigeben

  • Hi Leute

    Habe schon im Forum gesucht und auch schon etwas darüber gefunden aber nicht das was ich brauche zuminestens kannich damit nichts anfangen (sorry)

    Ich möchte das man in dem angehängtem Script nur einmal den Start Button drücken kann danach sollen die beiden anderen button Lesen und Ende erst zum anklicken da sind (es reicht wenn sie ausgegraut sind also nicht anklickbar)

    bin mir sicher das ihr einem anfänger helfen könnt dafür schonmal danke.

    Der Hauptbestandteil dieses Scriptes stammt aus der Feder von Micha_HE nochmals Danke dafür

    [autoit]

    include <GUIConstants.au3>

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

    $Form1 = GUICreate("twb153", 550, 150)
    $Datei = GUICtrlCreateInput("", 80, 48, 457, 21)
    $Start = GUICtrlCreateButton("Start", 16, 16, 57, 25, 0)
    $Lesen = GUICtrlCreateButton("Lesen", 16, 48, 57, 25, 0)
    $Ende = GUICtrlCreateButton("Ende", 16, 80, 57, 25, 0)
    $Loeschen = GUICtrlCreateButton("Inv.out Löschen" , 16, 112, 100, 25, 0)
    $Alles = GUICtrlCreateButton("Alle .out Löschen" , 120, 112, 100, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit

    Case $Start
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe S")

    Case $Lesen
    If GUICtrlRead($Datei) <> "" Then
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe L " & GUICtrlRead($Datei))
    EndIf

    Case $Ende
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe A")

    Case $Loeschen
    If Not FileExists ("c:\inv_Dateien\inv.out") Then
    MsgBox(1, "Datei", "Der Text in Zeile1" & @CRLF & "und der in Zeile 2")

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

    EndIf

    If FileExists("c:\inv_Dateien\inv.out") Then
    FileDelete("c:\inv_Dateien\inv.out")

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


    EndIf


    Case $Alles
    FileDelete("c:\inv_dateien\*.out")

    EndSwitch
    Wend

    [/autoit]

    Einmal editiert, zuletzt von Milan (21. Januar 2008 um 18:32)

  • Tja klingt ja recht einfach nur bin ich noch ein richtiger neuling wie du es bestimmt bemerkt hast wäre nett wenn einer da helfen könnte

  • Man müsste erst einmal überlegen, was soll passieren, wenn das Programm zwischen dem 'Start' und dem 'Ende' geschlossen wird ?

    Ansonsten : Schau hier... (Zeilen 10,11,22-24,33-35. Das hättest Du aber auch selbst geschafft, oder ?) :whistling:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $Form1 = GUICreate("twb153", 550, 150)
    $Datei = GUICtrlCreateInput("", 80, 48, 457, 21)
    $Start = GUICtrlCreateButton("Start", 16, 16, 57, 25, 0)
    $Lesen = GUICtrlCreateButton("Lesen", 16, 48, 57, 25, 0)
    $Ende = GUICtrlCreateButton("Ende", 16, 80, 57, 25, 0)
    $Loeschen = GUICtrlCreateButton("Inv.out Löschen" , 16, 112, 100, 25, 0)
    $Alles = GUICtrlCreateButton("Alle .out Löschen" , 120, 112, 100, 25, 0)
    GUICtrlSetState($Ende,$GUI_DISABLE)
    GUICtrlSetState($Lesen,$GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit

    Case $Start
    GUICtrlSetState($Start,$GUI_DISABLE)
    GUICtrlSetState($Ende,$GUI_ENABLE)
    GUICtrlSetState($Lesen,$GUI_ENABLE)
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe S")

    Case $Lesen
    If GUICtrlRead($Datei) <> "" Then
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe L " & GUICtrlRead($Datei))
    EndIf

    Case $Ende
    GUICtrlSetState($Start,$GUI_ENABLE)
    GUICtrlSetState($Ende,$GUI_DISABLE)
    GUICtrlSetState($Lesen,$GUI_DISABLE)
    RunWait(@ComSpec & " /c " & @scriptdir & "\twb153.exe A")

    Case $Loeschen
    If Not FileExists ("c:\inv_Dateien\inv.out") Then
    MsgBox(1, "Datei", "Der Text in Zeile1" & @CRLF & "und der in Zeile 2")

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

    EndIf

    If FileExists("c:\inv_Dateien\inv.out") Then
    FileDelete("c:\inv_Dateien\inv.out")

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


    EndIf


    Case $Alles
    FileDelete("c:\inv_dateien\*.out")

    EndSwitch
    Wend

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Klar wennich das so lese ist es immer einfacher als wenn man wie ein Ochs vorm Berge steht aber das kennst du bestimmt selbst