schreib einfach eine PN wenn Du Unterstützung brauchst.
Ich denke es macht Sinn, wenn Du die notwendigen Aufgaben dann auch gleich aufteilst,
sofern wir das dann auch erledigen können
schreib einfach eine PN wenn Du Unterstützung brauchst.
Ich denke es macht Sinn, wenn Du die notwendigen Aufgaben dann auch gleich aufteilst,
sofern wir das dann auch erledigen können
wenn dabei auch noch eine AutoIt-eigene Twain-Schnittstelle
zum direkten Ansprechen eines Scanners rauskommt, dann wäre ich auch dabei
so bitte schön,
jetzt aber mal Hirn anstrengen und selber ein wenig tüfteln...
#include <GUIConstants.au3>
#include <ButtonConstants.au3>
$hGUI = GUICreate("Test", 500, 500)
$b1 = GUICtrlCreateButton("Start", 10, 10,50,20)
$b2 = GUICtrlCreateButton("Pause", 70, 10,50,20)
$b3 = GUICtrlCreateButton("Ende", 130, 10,50,20)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $b1
GUICtrlSetbkColor($b1, 0x00FF00)
GUICtrlSetbkColor($b2, Default)
GUICtrlSetbkColor($b3, Default)
GUICtrlSetStyle($b2,$GUI_SS_DEFAULT_BUTTON)
GUICtrlSetStyle($b3,$GUI_SS_DEFAULT_BUTTON)
Case $b2
GUICtrlSetbkColor($b1, Default)
GUICtrlSetbkColor($b2, 0xFFFF00)
GUICtrlSetbkColor($b3, Default)
GUICtrlSetStyle($b1,$GUI_SS_DEFAULT_BUTTON)
GUICtrlSetStyle($b3,$GUI_SS_DEFAULT_BUTTON)
Case $b3
GUICtrlSetbkColor($b1, Default)
GUICtrlSetbkColor($b2, Default)
GUICtrlSetbkColor($b3, 0xFF0000)
GUICtrlSetStyle($b1,$GUI_SS_DEFAULT_BUTTON)
GUICtrlSetStyle($b2,$GUI_SS_DEFAULT_BUTTON)
EndSwitch
WEnd
ein Ansatz:
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Test", 500, 500)
$hLabel = GUICtrlCreateLabel("", 10, 10, 50, 50)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlCreateLabel("", 11, 11, 48, 48)
$1=GUICtrlCreateButton("Start",70,40)
$2=GUICtrlCreateButton("Pause",110,40)
$3=GUICtrlCreateButton("Ende",170,40)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $1
GUICtrlSetBkColor($hLabel, 0x00FF00)
Case $2
GUICtrlSetBkColor($hLabel, 0xFF0000)
Case $3
GUICtrlSetBkColor($hLabel, 0x333333)
EndSwitch
WEnd
reiner Kopierfehler
ersetze Zeile 61 mit
[autoit]GUICtrlSendMsg($Date3, $DTM_SETFORMAT_, 0, $style)
[/autoit]
und Zeile 74 mit:
GUICtrlSendMsg($Date4, $DTM_SETFORMAT_, 0, $style)
[/autoit]
Edit: ( nochmal erweitert...)
ich hab Dein Script mal etwas übersichtlicher gestaltet:
; Danksagung an: OSCAR, Schnuffel , Nuts,
[/autoit] [autoit][/autoit] [autoit]#include <File.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$ini0 = @ScriptDir & "\para.ini"
$ini1 = @ScriptDir & "\test1.ini"
$ini2 = @ScriptDir & "\test2.ini"
$ini3 = @ScriptDir & "\test3.ini"
$ini4 = @ScriptDir & "\test4.ini"
If Not FileExists($ini1) Then _FileCreate($ini1)
If Not FileExists($ini1) Then _FileCreate($ini2)
If Not FileExists($ini1) Then _FileCreate($ini3)
If Not FileExists($ini1) Then _FileCreate($ini4)
Dim $DTM_SETFORMAT_, $style
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("MINMAX_AGELAD", 360, 485, 193, 325)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
Global $a_cb46[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 30, 89, 15), _
GUICtrlCreateRadio( "Radio60", 20, 55, 60, 15), _
GUICtrlCreateRadio( "Radio61", 20, 80, 60, 15), _
GUICtrlCreateInput( "1899", 100, 53, 33, 21), _
GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 77, 90, 21)] ; MAXAGE
GUICtrlSetState($a_cb46[1], $GUI_CHECKED)
GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
GUICtrlSendMsg($a_cb46[4],0x1032, 0, "dd.MM.yyyy")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
Global $a_cb47[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 140, 89, 15), _
GUICtrlCreateRadio( "Radio62", 20, 165, 60, 15), _
GUICtrlCreateRadio( "Radio63", 20, 190, 60, 15), _
GUICtrlCreateInput( "1", 100, 163, 33, 21), _
GUICtrlCreateDate( "2009/2009/09/21 16:08:49", 100, 187, 90, 21)] ; MINAGE
GUICtrlSetState($a_cb47[1], $GUI_CHECKED)
GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
GUICtrlSendMsg($a_cb47[4],0x1032, 0, "dd.MM.yyyy")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup('MaxLad', 10, 230, 340, 100) ;MAXLAD
Global $a_cb48[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 250, 89, 15), _
GUICtrlCreateRadio( "Radio64", 20, 275, 60, 15), _
GUICtrlCreateRadio( "Radio65", 20, 300, 60, 15), _
GUICtrlCreateInput( "1899", 100, 273, 33, 21), _
GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 297, 90, 21)] ; MAXLAD
GUICtrlSetState($a_cb48[1], $GUI_CHECKED)
GUICtrlSetState($a_cb48[4], $GUI_DISABLE)
GUICtrlSendMsg($a_cb48[4],0x1032, 0, "dd.MM.yyyy")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup('MinLad', 10, 340, 340, 100) ;MINLAD
Global $a_cb49[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 360, 89, 15), _
GUICtrlCreateRadio( "Radio66", 20, 385, 60, 15), _
GUICtrlCreateRadio( "Radio67", 20, 410, 60, 15), _
GUICtrlCreateInput( "1", 100, 383, 33, 21), _
GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 407, 90, 21)] ; MINLAD
GUICtrlSetState($a_cb49[1], $GUI_CHECKED)
GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
GUICtrlSendMsg($a_cb49[4],0x1032, 0, "dd.MM.yyyy")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("A U S G A B E", 5, 450, 346, 25, 0, $BS_CENTER)
[/autoit] [autoit][/autoit] [autoit]_changeState($a_cb46)
_changeState($a_cb47)
_changeState($a_cb48)
_changeState($a_cb49)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
[/autoit] [autoit][/autoit] [autoit]EndSwitch
WEnd
Func _changeState($cID)
Select
Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
For $i = 1 To UBound($cID) - 1
GUICtrlSetState($cID[$i], $GUI_ENABLE)
Next
Case Else
For $i = 1 To UBound($cID) - 1
GUICtrlSetState($cID[$i], $GUI_DISABLE)
Next
EndSelect
EndFunc ;==>_changeState
Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
$nID = BitAND($wParam, 0xFFFF)
Switch $nID
Case $a_cb46[0] ; MAXAGE
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($ini1, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "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($ini1, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "parameter", "MAXAGE", ""))
Else
GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
EndIf
Else
IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & "")
IniWrite($ini0, "parameter", "MAXAGE", "")
EndIf
Case $a_cb47[0] ; MINAGE
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($ini2, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "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 $2_day ; ----------------> Anfang : ;Example_date1()
$2_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & $2_day[3] & $2_day[2] & $2_day[1])
IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "parameter", "MINAGE", ""))
Else
GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
EndIf
Else
IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & "")
IniWrite($ini0, "parameter", "MINAGE", "")
EndIf
Case $a_cb48[0] ; MAXLAD
If BitAND(GUICtrlRead($a_cb48[0]), $GUI_CHECKED) = $GUI_CHECKED Then
If BitAND(GUICtrlRead($a_cb48[1]), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($a_cb48[3], $GUI_ENABLE)
GUICtrlSetState($a_cb48[4], $GUI_DISABLE)
If GUICtrlRead($a_cb48[3]) >= 1900 Then
MsgBox(0, "MELDUNG", "Wert maximal 1899")
GUICtrlSetData($a_cb48[3], "")
Else ; kleiner als 1900
IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & GUICtrlRead($a_cb48[3]))
IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
EndIf
Else
GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
EndIf
If BitAND(GUICtrlRead($a_cb48[2]), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($a_cb48[4], $GUI_ENABLE)
GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
Local $3_day ; ----------------> Anfang : ;Example_date1()
$3_day = StringSplit(GUICtrlRead($a_cb48[4]), ".", 1)
IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & $3_day[3] & $3_day[2] & $3_day[1])
IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
Else
GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
EndIf
Else
IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & "")
IniWrite($ini0, "parameter", "MAXLAD", "")
EndIf
Case $a_cb49[0] ; MINLAD
If BitAND(GUICtrlRead($a_cb49[0]), $GUI_CHECKED) = $GUI_CHECKED Then
If BitAND(GUICtrlRead($a_cb49[1]), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($a_cb49[3], $GUI_ENABLE)
GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
If GUICtrlRead($a_cb49[3]) >= 1900 Then
MsgBox(0, "MELDUNG", "Wert maximal 1899")
GUICtrlSetData($a_cb49[3], "")
Else ; kleiner als 1900
IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & GUICtrlRead($a_cb49[3]))
IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
EndIf
Else
GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
EndIf
If BitAND(GUICtrlRead($a_cb49[2]), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($a_cb49[4], $GUI_ENABLE)
GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
Local $4_day ; ----------------> Anfang : ;Example_date1()
$4_day = StringSplit(GUICtrlRead($a_cb49[4]), ".", 1)
IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & $4_day[3] & $4_day[2] & $4_day[1])
IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
Else
GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
EndIf
Else
IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & "")
IniWrite($ini0, "parameter", "MINLAD", "")
EndIf
EndSwitch
_changeState($a_cb46)
_changeState($a_cb47)
_changeState($a_cb48)
_changeState($a_cb49)
Return $GUI_RUNDEFMSG
EndFunc
sei mir nicht böse,
aber ich halte es für etwas hochgegriffen als Forum's-Newbie solche Anforderungen zu stellen
►1-2 Jahre Programier Kenntnisse
Wenn Du dich etwas mehr mit der Materie befasst hättest, würdest du wissen, dass du nicht der erste mit dieser Idee bist.
Leider ist so etwas mit AutoIt nur bedingt umsetzbar.
Aber ich freue mich für Dich, wenn Du jemanden findest...
leider verstehe ich nicht, was das werden soll.
Aber ich steh ja öfter mal auf der Leitung ...
es muss doch nicht immer gleich eine externe Anwendung angesprochen werden.
Kann man alles mit AutoIt-Mitteln lösen:
WOL mit AutoIt:
#include-once
[/autoit] [autoit][/autoit] [autoit]; #INDEX# ===========================================================================================
; Title .........: _Net_Wol
; AutoIt Version: 3.3.0.0
; Language: English
; Description ...: Function that sends a Magic Packet for WOL to an specified IP-Address or Hostname
; ===================================================================================================
; #FUNCTION# ;=======================================================================================
;
; Name...........: _Net_Wol
; Description ...: Wake on Lan Function, by sending the "MagicPacket"
; Syntax.........: _Net_Wol($sWolMac, $sWolIp)
; Parameters ....: $sWolMac - The MAC-Address of the Network Adapter in the format "XXXXXXXXXXXX"
; X = [0-9 & A-F not case-sensitive]
; $sWolIp - The IPAdress of the NIC in the format "192.168.0.1"
; - or the Broadcast-Address of the Subnet in the format "192.168.0.255"
; - or the Internet Hostname of the NIC e.g. myhost.isp
; Return values .: Success - Returns 1
; Failure - Returns 0 and Sets @Error:
; |1 - Invalid $sWolMac
; |2 - Invalid $sWolIp
; |3 - Error sending "MagicPacket"
; Author ........: Schnuffel http://www.autoit.de
; Modified.......:
; Remarks .......: Internet Host name may not work behind NAT-Router's
; the Magic Packet is always send to the Broadcast-Address ".255"
; Return 1 means only, that the MagicPacket is been sent,
; it indicates not whether the Remote-PC ist really started
; Related .......:
; Link ..........;
; Example .......; Yes
; #include <_Net_Wol.au3>
; Send a WakeOnLan packet for the MAC-Address "0002A5840B46" to the SubNet "192.168.0"
; _Net_Wol("0002A5840B46", "192.168.0.255")
; ;==================================================================================================
Func _Net_Wol($sWolMac, $sWolIp, $iWolSwitch = 0)
If Not StringRegExp($sWolMac, "(\A[[:xdigit:]]{12}\z)") Then
SetError(1, 0, 1)
Return 0
EndIf
TCPStartup()
$sWolIp = TCPNameToIP($sWolIp)
TCPShutdown()
If Not StringRegExp($sWolIp, "\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}\b\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){1}\b") Then
SetError(1, 0, 2)
Return 0
EndIf
Local $sWolHeader, $sWolData, $sWolConnect, $sWolResult
For $p = 1 To 11 Step 2
$sWolData &= Chr(Dec(StringMid($sWolMac, $p, 2)))
Next
For $p = 1 To 6
$sWolHeader = Chr(Dec("ff")) & $sWolHeader
Next
For $p = 1 To 16
$sWolHeader &= $sWolData
Next
UDPStartup()
$sWolConnect = UDPOpen($sWolIp, 7)
$sWolResult = UDPSend($sWolConnect, $sWolHeader)
UDPCloseSocket($sWolConnect)
UDPShutdown()
If $sWolResult = "102" Then
Return 1
Else
SetError(1, 0, 3)
Return 0
EndIf
EndFunc ;==>_Net_Wol
Alina:
ich hab mal wieder meine geistigen Ergüsse nicht bei mir behalten können...
Ich hoffe, dass geht so in die richtige Richtung.
#include<File.au3>
#include<GUIConstantsEx.au3>
#include <ButtonConstants.au3>
$ini0 = @ScriptDir & "\test.ini"
$ini2 = @ScriptDir & "\para.ini"
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)
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)
Global $a_cb46[5] = [$Combobox46,$Radio60,$Radio61,$Input23,$Date1]
Global $a_cb47[5] = [$Combobox47,$Radio62,$Radio63,$Input24,$Date2]
_changeState($a_cb46)
_changeState($a_cb47)
$Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $a_cb46[0]
_changeState($a_cb46)
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($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE","default"))
EndIf
Else
GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
EndIf
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($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE","default"))
Else
GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
EndIf
Case $a_cb47[0]
_changeState($a_cb47)
Case $a_cb47[3], $a_cb47[1]
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], "1899")
Else ; kleiner als 1900
IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
EndIf
Else
GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
EndIf
Case $a_cb47[2], $a_cb47[4]
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","default"))
Else
GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
EndIf
Case $Button2
[/autoit] [autoit][/autoit] [autoit]EndSwitch
WEnd
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
Oscar :
ZitatZum einen ist es überflüssig ein 2D-Array zu verwenden, wenn man eh nur eine Dimension benutzt.
Hmmm, hast Recht, ich weiß gar nicht, was mich da nachts um 23.00Uhr in ein 2D-Array geritten hat
ZitatZum 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.
Hmmm, ich hatte zuerst in $a_cb46[0][0] die Anzahl Array-Elemente drin, hab aber dann die Sache wieder über den Haufen geschmissen und vergessen dass in der Funktion zu ändern
ZitatDie 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.
Na wenigstens bin ich da unschuldig dran, das habe ich so von Alina übernommen/unverändert gelassen, da sich mir der Sinn nicht erschlossen hatte ...
Alles in allem sage ich danke für die Korrekturen, denn nur so lerne auch ich immer weiter.
Was sagt mir das jetzt: Man sollte nachts um 23.00Uhr keine Scripte Anderer verschlimmbessern ...
Ich gelobe Besserung
Hallo Oscar,
was hast Du denn verändert?
ich wollte jetzt nicht beide Dateien vergleichen ...
ich hab Dein Beispiel mal ein wenig umgeschrieben.
mit dem Array für die jeweilige CHeckbox-Section bist Du Variabel,
um die Funktion _changeState universell nutzen zu können
#include<File.au3>
#include<GUIConstantsEx.au3>
#include <ButtonConstants.au3>
$ini = @ScriptDir & "\test.ini"
If Not FileExists($ini) Then _FileCreate($ini)
Dim $a_cb46[1][5]
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
GUICtrlCreateGroup('Checkbox46',10,10,340,100)
$a_cb46[0][0] = GUICtrlCreateCheckbox("Checkbox46", 20, 30, 89, 15)
$a_cb46[0][1] = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
$a_cb46[0][2] = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
$a_cb46[0][3] = GUICtrlCreateInput("1899", 100, 53, 33, 21)
$a_cb46[0][4] = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 186, 21)
_changeState($a_cb46)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER )
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $a_cb46[0][0]
_changeState($a_cb46)
Case $a_cb46[0][3], $a_cb46[0][1]
if BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED And GUICtrlRead($a_cb46[0][3]) >=1900 Then
Msgbox(0,"MELDUNG", "Wert maximal 1899")
GUICtrlSetData($a_cb46[0][3],"1899")
EndIf
If BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED AND GUICtrlRead($a_cb46[0][3]) <=1899 Then
IniWriteSection($ini,"Werte","CheckBox46="&GUICtrlRead($a_cb46[0][3]))
EndIf
Case $a_cb46[0][2], $a_cb46[0][4]
If BitAND(GUICtrlRead($a_cb46[0][2]), $GUI_CHECKED) = $GUI_CHECKED Then
Local $DTM_SETFORMAT_, $style, $1_day ; ----------------> Anfang : ;Example_date1()
; Um ein bestimmtes Standardformat auszuwählen
$DTM_SETFORMAT_ = 0x1032
$style = "dd.MM.yyyy"; HH:mm:ss"
GUICtrlSendMsg($a_cb46[0][4], $DTM_SETFORMAT_, 0, $style)
;GUISetState()
$1_day = StringSplit(GUICtrlRead($a_cb46[0][4]),".",1)
IniWriteSection($ini,"Werte","CheckBox46="&$1_day[3]&$1_day[2]&$1_day[1])
EndIf
Case $Button1
EndSwitch
WEnd
Func _changeState($cID)
Select
Case BitAND(GUICtrlRead($cID[0][0]), $GUI_CHECKED) = $GUI_CHECKED
For $i = 1 To $cID[0][0]
GUICtrlSetState($cID[0][$i], $GUI_SHOW)
Next
Case Else
For $i = 1 To $cID[0][0]
GUICtrlSetState($cID[0][$i], $GUI_HIDE)
Next
EndSelect
EndFunc ;==>_changeState
@ScriptDir ist Dein Freund
Hallo Alina,
irgendwie finde ich in deinem Script Fehler über Fehler.
- zum testen fehlt ein include #include <GuiConstants.au3>
- $1_day = StringSplit(GUICtrlRead($Date1),".",1) ergibt kein Array in deinem Sinne, da GUICtrlRead($Date1) 0 ergibt
...
da müsste man erstmal alle Ungenauigkeiten beseitigen.
wenn Du uns ein Demo-Script einstellst zum testen, dann wird es sicher Antworten hageln ...
dazu musst Du in einer Variable vorhalten,
wieviele Einträge die Sektion schon hat und dann dementsprechend
den nächsten Eintrag mit "Quelle"&$anzahl +1 schreiben
Einfach mit IniReadSection beim Start einlesen und [0][0] auswerten
Im Programm hochzählen ...
nein, du musst einen neuen Key schreiben
IniWrite('save.ini', 'Backup', 'Quelle', $var1) ;Hier wird immer derselbe Wert überschrieben?!
in diesem Fall ist Quelle Dein Key .....
Quelle1
Quelle2
Quelle3
wäre eine Möglichkeit ...
versuch es mal mit damit, hab ich bei Google gefunden (hättest Du bestimmt auch gefunden ...)
http://www.ojaehrling.de/Eisfair-Pakete/7zip/