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

Beiträge von Oscar

  • nach 3 commands eins vezögern aber wie?

    • Oscar
    • 27. September 2009 um 17:37

    Ja, klar! :pinch:
    Zum AutoIt lernen muss man keine Bots schreiben. Programmiere etwas vernünftiges und Dir wird geholfen.
    Aber so nicht.

  • Script proplem? vllt datei pfad eingeben?

    • Oscar
    • 27. September 2009 um 13:08

    Für gewöhnlich benutze ich beim programmieren eigentlich den OnEventMode, aber wenn ich einzelne Funktionen (mit GUI) erstelle, die unabhängig vom Hauptprogramm eingesetzt werden sollen, dann nehme ich den MessageLoopMode, weil man dann keine globalen Variablen braucht. Das geht ganz gut, wenn man am Anfang in den MessageLoopMode umschaltet und am Ende der Funktion den Ursprungsmodus wiederherstellt.

  • Script proplem? vllt datei pfad eingeben?

    • Oscar
    • 27. September 2009 um 12:45

    Naja, man kann sein Programm auch so schreiben, dass es immer wieder schnell die per Event aufgerufenen Funktionen wieder verlässt.
    Wo das nicht möglich ist, kann man einen kleinen Trick (mit AdlibEnable) verwenden, um die GUI bedienbar zu halten:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 203, 204, 100, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, "End")
    $Button1 = GUICtrlCreateButton("Start", 72, 56, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Button3 = GUICtrlCreateButton("Ende", 72, 128, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Form1Close")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $stop = False
    While 1
    Sleep(200000)
    WEnd

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

    Func Button1Click()
    $stop = False
    ToolTip("Funktion läuft ", 100, 100)
    AdlibEnable('SleepFunc', 1)
    EndFunc ;==>Button1Click

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

    Func Form1Close()
    $stop = True
    EndFunc ;==>Form1Close

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

    Func SleepFunc()
    Local $count
    AdlibDisable()
    While Not $stop
    $count += 1
    Sleep(500)
    ToolTip($count, 100, 100)
    WEnd
    ToolTip("Funktion beendet ", 100, 100)
    EndFunc ;==>SleepFunc

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

    Func End()
    Exit
    EndFunc ;==>End

    [/autoit]
  • Script proplem? vllt datei pfad eingeben?

    • Oscar
    • 27. September 2009 um 12:00

    Nein, Andy hat schon recht. Ein Sleep wird in der Tat vom OnEventMode unterbrochen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 203, 204, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "End")
    $Button1 = GUICtrlCreateButton("Start", 72, 56, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Button3 = GUICtrlCreateButton("Ende", 72, 128, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Form1Close")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(200000) ; dieser Sleepwert ist gemeint
    WEnd

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

    Func Button1Click()
    ToolTip("Funktion läuft ", 100, 100)
    EndFunc ;==>Button1Click

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

    Func Form1Close()
    ToolTip("Funktion beendet ", 100, 100)
    EndFunc ;==>Form1Close

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

    Func End()
    Exit
    EndFunc

    [/autoit]

    Raupi, was Du meinst ist, dass eine per Event aufgerufene Funktion nicht von einem weiteren Event unterbrochen wird. Man muss erst diese Funktion wieder beenden (Return), um eine andere Funktion per Event aufrufen zu können.

  • FileSelectFolder UNC Pfad asuwählen

    • Oscar
    • 27. September 2009 um 11:49

    Du könntest ruhig mal in die Hilfe sehen. Dort steht bei "FileSelectFolder" unter "flag":

    Zitat

    4 = Show Edit Control (to type a foldername)


    Das heisst, mit:

    [autoit]

    FileSelectFolder("Netzwerk", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}", 4)

    [/autoit]


    bekommst Du auch eine Eingabezeile, in der Du den Pfad von Hand eingeben kannst.

  • FileSelectFolder UNC Pfad asuwählen

    • Oscar
    • 27. September 2009 um 08:38

    Entweder so (wenn es nur Netzwerkpfade sein sollen):

    [autoit]

    FileSelectFolder("Netzwerk", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}")

    [/autoit]

    oder so (dann beliebig):

    [autoit]

    FileSelectFolder("Egal", "")

    [/autoit]
  • Browser erstellen!

    • Oscar
    • 27. September 2009 um 08:32

    Ich halte das Projekt für sinnlos, sorry.
    Wenn Du die _IE-UDF benutzt ist es "nur" ein InternetExplorer mit eigener GUI.
    Und für einen echten Web-Browser dürfte AutoIt die falsche Programmiersprache sein (zu langsam).

  • FileSelectFolder UNC Pfad asuwählen

    • Oscar
    • 27. September 2009 um 08:25

    Du solltest etwas konkreter werden, denn mit FileSelectFolder kann man auch Netzwerkpfade auswählen (geht zumindest bei mir).

  • Steuerelemente

    • Oscar
    • 27. September 2009 um 08:20

    Alina, ich weiss, dass Dir das jetzt nicht weiterhilft (weil Du vermutlich nicht alles ändern möchtest), aber Du solltest lieber Arrays dafür verwenden.
    Und statt §Button1...$ButtonN lieber aussagekräftige Variablennamen benutzen, z.B.: $hMaxAge[0...n].

  • SciTE

    • Oscar
    • 27. September 2009 um 08:04

    In Menü "View" von SciTE einfach auf "Toggle all folds". :)

  • AutoiT hilfe...

    • Oscar
    • 26. September 2009 um 19:20

    Was ist an den Forenregeln nicht zu verstehen? Wir supporten hier keine Bots.
    [Thread closed]

  • al-magic

    • Oscar
    • 25. September 2009 um 11:05

    Das, was Du da vorhast, nennt sich Bot und solche Game-Bots werden hier nicht unterstützt.
    Bitte die Forenregeln lesen!

  • Werte übergeben: MAXAGE

    • Oscar
    • 25. September 2009 um 07:18

    Ja, kann man! :)
    Ich habe mal die gesamte Abfrage für die Comboboxen etc. in die Funktion "_WM_COMMAND" gepackt:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46, $Radio60, $Radio61, $Input23, $Date1]
    Global $a_cb47[5] = [$Combobox47, $Radio62, $Radio63, $Input24, $Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $Form1 Then
    If BitAND(GUICtrlRead($a_cb46[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & "")
    IniWrite($ini2, "parameter", "MAXAGE", "")
    EndIf
    If BitAND(GUICtrlRead($a_cb47[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & "")
    IniWrite($ini2, "parameter", "MINAGE", "")
    EndIf
    _changeState($a_cb46)
    _changeState($a_cb47)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Werte übergeben: MAXAGE

    • Oscar
    • 24. September 2009 um 22:37

    Wenn Du direkt auf die Eingabe reagieren willst, musst Du das mit WM_COMMAND machen:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46, $Radio60, $Radio61, $Input23, $Date1]
    Global $a_cb47[5] = [$Combobox47, $Radio62, $Radio63, $Input24, $Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $a_cb46[0]
    IniWrite($ini2, "parameter", "MAXAGE", "")
    _changeState($a_cb46)

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

    Case $a_cb47[0]
    IniWrite($ini2, "parameter", "MINAGE", "")
    _changeState($a_cb47)

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

    Case $a_cb47[3], $a_cb47[1]
    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $Form1 Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Werte übergeben: MAXAGE

    • Oscar
    • 24. September 2009 um 14:05

    Zum einen ist es überflüssig ein 2D-Array zu verwenden, wenn man eh nur eine Dimension benutzt. Zum anderen die If-Abfragen, damit die Eingabefelder mit den entsprechenden Radio-Buttons de-/aktiviert werden.
    Deine For...Next-Schleife in der Funktion war auch fehlerhaft, da sich in $cID[0][0] nicht die Anzahl der Array-Elemtente befindet.
    Die Festlegung für das Datumsformat sollte man auch lieber beim erstellen des Controls benutzen. Es sei denn, man ändert das Format während der Laufzeit.

  • Werte übergeben: MAXAGE

    • Oscar
    • 24. September 2009 um 07:29

    Ich habe Dein Script mal etwas geändert, wie das meiner Meinung nach passender wäre:

    Spoiler anzeigen
    [autoit]


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

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

    $ini = @ScriptDir & "\test.ini"
    If Not FileExists($ini) Then _FileCreate($ini)

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

    Dim $a_cb46[5], $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox46', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("CB4646", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $a_cb46[0] = $Combobox46
    $a_cb46[1] = $Radio60
    $a_cb46[2] = $Radio61
    $a_cb46[3] = $Input23
    $a_cb46[4] = $Date1

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

    _changeState($a_cb46)

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

    $Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER)
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0]
    _changeState($a_cb46)

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

    Case $a_cb46[3], $a_cb46[1]
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini, "parameter", "MAXAGE=" & GUICtrlRead($a_cb46[3]))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb46[2], $a_cb46[4]
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini, "parameter", "MAXAGE=" & $1_day[3] & $1_day[2] & $1_day[1])
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf

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

    Case $Button1

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    ;~ IniWriteSection($ini, "parameter", "MAXAGE=")
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]
  • GeForce GTX260 Problem

    • Oscar
    • 22. September 2009 um 20:38

    Wenn Du da nicht weiterkommst wende Dich doch mal an die ct-Redaktion. Die haben da so eine schöne Rubrik "Vorsicht, Kunde!".
    Das wäre auch so ein Fall dafür, denke ich.

  • GeForce GTX260 Problem

    • Oscar
    • 21. September 2009 um 06:38

    Ach Du sch****e! Und Deine ist noch lauter?
    Also das würde ich definitiv als Mangel ansehen! Das ist ja grausam! :thumbdown:

  • Hexadezimal-Werte in die richtige Form bringen.

    • Oscar
    • 20. September 2009 um 20:34

    Wenn es sich bei dem Hexwert um einen String handelt, dann so:

    [autoit]


    $string = '0329D560'
    $hex = Hex('0x' & $string)
    MsgBox(0, 'Ausgabe', Dec($hex))

    [/autoit]
  • GeForce GTX260 Problem

    • Oscar
    • 20. September 2009 um 19:00

    Ich würde es erstmal beim Händler versuchen. Wenn Du noch die Originalverpackung hast und einen guten Händler, dann tauscht er die vielleicht auf Kulanzbasis.

    Kannst Du denn sonst alle Fehlerquellen (Grafikkarte korrekt installiert, Netzteil ausreichend stark) ausschließen?
    Macht sonst immer einen schlechten Eindruck, wenn die Karte beim Händler einwandfrei läuft.

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™