Hi Leute!
Bin mal wieder da.
Ich hab ein neues Projekt angefangen, und zwar ein K8055 Programmer. Damit kann mann kleine Programme fürs K8055 Board programmieren. Allerdings hätte ich da ein kleines Problem:
Wenn man Digitalen "Ausgang Ein/Ausschalten" bei "Aktion hinzufügen" auswählt, kommt zwar unten das was kommen soll (achtet nicht auf die falschen Koordinaten, ändere ich später), aber wenn ihr dann in der 2.Combobox guckt, steht da nur 1. Da soll aber die ausgewählten Checkboxen stehen, die werden ja in die .ini geschrieben. Also wisst ihr, wie da nur die ausgewählten Checkboxen stehen können? Muss ja irgendwas mit IniWrite sein.
Also
Mein Skript
#region includes ;########################
#include <k8055udf.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
#include <ListViewConstants.au3>
#include <ComboConstants.au3>
#endregion includes
;##########################################
Global $adressebin=""
Global $aktion="Programm erfolgreich gestartet"
Global $ini=@ScriptDir&"\logdatei.ini"
;~ Global $inputsoutputsini = IniRead($ini,"inputsandoutputs",Default,"1")
IniDelete($ini,"log")
IniWrite($ini,"log","Startdaten",@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"-Datum:"&@MDAY&"."&@MON&"."&@YEAR)
#Region ### START Verbindungsform ### Form=
$verbindungsform = GUICreate("Verbindung", 184, 100, 190, 126, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$SK5 = GUICtrlCreateCheckbox("SK5", 24, 16, 41, 17)
$SK6 = GUICtrlCreateCheckbox("SK6", 128, 16, 41, 17)
$Adresse = GUICtrlCreateGroup("Adresse", 8, 0, 169, 41)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateLabel("<---------------->", 64, 16, 64, 17)
$Progress1 = GUICtrlCreateProgress(0, 80, 182, 17)
$mitboardverbinden = GUICtrlCreateButton("Mit K8055 Board verbinden", 8, 48, 171, 25, $WS_GROUP)
GUISetState(@SW_HIDE)
#EndRegion ### END Verbindungsform ###
;##########################################
#Region ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
$Form1_1 = GUICreate("K8055 Board Programmer Basicpack - created by button421", 519, 412, 187, 121)
$statusleiste = _GUICtrlStatusBar_Create($Form1_1)
Dim $statusleiste_PartsWidth[2] = [439, -1]
_GUICtrlStatusBar_SetParts($statusleiste, $statusleiste_PartsWidth)
_GUICtrlStatusBar_SetText($statusleiste, $aktion, 0)
_GUICtrlStatusBar_SetText($statusleiste, "Verbunden", 1)
$DigitaleEingaenge = GUICtrlCreateGroup("Digitale Eingänge", 8, 0, 169, 41)
$I1 = GUICtrlCreateCheckbox("I1", 16, 16, 25, 17)
$I2 = GUICtrlCreateCheckbox("I2", 48, 16, 25, 17)
$I3 = GUICtrlCreateCheckbox("I3", 80, 16, 25, 17)
$I4 = GUICtrlCreateCheckbox("I4", 112, 16, 25, 17)
$I5 = GUICtrlCreateCheckbox("I5", 144, 16, 25, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$DigitaleAusgaenge = GUICtrlCreateGroup("Digitale Ausgänge", 184, 0, 329, 41)
$O1 = GUICtrlCreateCheckbox("O1", 192, 16, 33, 17)
$O2 = GUICtrlCreateCheckbox("O2", 232, 16, 33, 17)
$O3 = GUICtrlCreateCheckbox("O3", 272, 16, 33, 17)
$O4 = GUICtrlCreateCheckbox("O4", 312, 16, 33, 17)
$O5 = GUICtrlCreateCheckbox("O5", 352, 16, 33, 17)
$O6 = GUICtrlCreateCheckbox("O6", 392, 16, 33, 17)
$O7 = GUICtrlCreateCheckbox("O7", 432, 16, 33, 17)
$O8 = GUICtrlCreateCheckbox("O8", 472, 16, 33, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$ListView1 = GUICtrlCreateListView("Aktionen", 8, 48, 506, 310)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 502)
$addaktion = GUICtrlCreateButton("Aktion hinzufügen", 8, 360, 107, 25, $WS_GROUP)
$delaktion = GUICtrlCreateButton("Aktion löschen", 120, 360, 91, 25, $WS_GROUP)
$anleitung = GUICtrlCreateButton("Anleitung für Experimente", 216, 360, 131, 25, $WS_GROUP)
$hilfe = GUICtrlCreateButton("Hilfe und Info", 352, 360, 75, 25, $WS_GROUP)
$beenden = GUICtrlCreateButton("Beenden", 432, 360, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Hauptform ###
;#######################################
#Region ### START Aktion hinzufügen ### Form=
$actionadd = GUICreate("Aktion hinzufügen", 246, 187, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$Aktionlabel = GUICtrlCreateLabel("Aktion:", 8, 8, 37, 17)
$aktioncombo = GUICtrlCreateCombo("", 48, 8, 193, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Meldung anzeigen|Digitalen Ausgang ein/ausschalten|Abfrage ob Digitaler Eingang ein/aus|Wert für 7-Segment Display festlegen")
$probs = GUICtrlCreateGroup("Einstellungen für Aktion festlegen", 8, 32, 233, 121)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$cancelactionadd = GUICtrlCreateButton("Abbrechen", 168, 160, 75, 25, $WS_GROUP)
$okactionadd = GUICtrlCreateButton("OK", 88, 160, 75, 25, $WS_GROUP)
GUISetState(@SW_HIDE)
#EndRegion ### END Aktion hinzufügen ###
;#######################################
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3, $beenden
Exit
Case $SK5
If BitAND(GUICtrlRead($SK5),$GUI_CHECKED) Then
$adressebin = "SK5/"
EndIf
Case $SK6
If BitAND(GUICtrlRead($SK6),$GUI_CHECKED) Then
$adressebin = "SK6/"
EndIf
Case $mitboardverbinden
If GUICtrlRead($adressebin) = "SK5/SK6/" Then
USB_DLLOpen()
initial_board(0)
GUICtrlSetState($Progress1, 100)
MsgBox(64,"Info","Mit Board verbunden!")
GUISetState(@SW_SHOW, $Form1_1)
GUISetState(@SW_HIDE, $verbindungsform)
ElseIf GUICtrlRead($adressebin) = "SK6/" Then
USB_DLLOpen()
initial_board(1)
GUICtrlSetState($Progress1, 100)
MsgBox(64,"Info","Mit Board verbunden!")
GUISetState(@SW_SHOW, $Form1_1)
GUISetState(@SW_HIDE, $verbindungsform)
ElseIf GUICtrlRead($adressebin) = "SK5/" Then
USB_DLLOpen()
initial_board(2)
GUICtrlSetState($Progress1, 100)
MsgBox(64,"Info","Mit Board verbunden!")
GUISetState(@SW_SHOW, $Form1_1)
GUISetState(@SW_HIDE, $verbindungsform)
Else
USB_DLLOpen()
initial_board(3)
GUICtrlSetState($Progress1, 100)
MsgBox(64,"Info","Mit Board verbunden!")
GUISetState(@SW_SHOW, $Form1_1)
GUISetState(@SW_HIDE, $verbindungsform)
EndIf
Case $I1
If BitAND(GUICtrlRead($I1),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs")
IniWrite($ini,"inputsandoutputs","I1","1")
Else
IniDelete($ini,"inputsandoutputs")
IniWrite($ini,"inputsandoutputs","I1","0")
EndIf
Case $I2
If BitAND(GUICtrlRead($I2),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","I2")
IniWrite($ini,"inputsandoutputs","I2","1")
Else
IniDelete($ini,"inputsandoutputs","I2")
IniWrite($ini,"inputsandoutputs","I2","0")
EndIf
Case $I3
If BitAND(GUICtrlRead($I3),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","I3")
IniWrite($ini,"inputsandoutputs","I3","1")
Else
IniDelete($ini,"inputsandoutputs","I3")
IniWrite($ini,"inputsandoutputs","I3","0")
EndIf
Case $I4
If BitAND(GUICtrlRead($I4),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","I4")
IniWrite($ini,"inputsandoutputs","I4","1")
Else
IniDelete($ini,"inputsandoutputs","I4")
IniWrite($ini,"inputsandoutputs","I4","0")
EndIf
Case $I5
If BitAND(GUICtrlRead($I5),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","I5")
IniWrite($ini,"inputsandoutputs","I5","1")
Else
IniDelete($ini,"inputsandoutputs","I5")
IniWrite($ini,"inputsandoutputs","I5","0")
EndIf
Case $O1
If BitAND(GUICtrlRead($O1),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O1")
IniWrite($ini,"inputsandoutputs","O1","1")
Else
IniDelete($ini,"inputsandoutputs","O2")
IniWrite($ini,"inputsandoutputs","O1","0")
EndIf
Case $O2
If BitAND(GUICtrlRead($O2),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O2")
IniWrite($ini,"inputsandoutputs","O2","1")
Else
IniDelete($ini,"inputsandoutputs","O2")
IniWrite($ini,"inputsandoutputs","O2","0")
EndIf
Case $O3
If BitAND(GUICtrlRead($O3),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O3")
IniWrite($ini,"inputsandoutputs","O3","1")
Else
IniDelete($ini,"inputsandoutputs","O3")
IniWrite($ini,"inputsandoutputs","O3","0")
EndIf
Case $O4
If BitAND(GUICtrlRead($O4),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O4")
IniWrite($ini,"inputsandoutputs","O4","1")
Else
IniDelete($ini,"inputsandoutputs","O4")
IniWrite($ini,"inputsandoutputs","O4","0")
EndIf
Case $O5
If BitAND(GUICtrlRead($O5),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O5")
IniWrite($ini,"inputsandoutputs","O5","1")
Else
IniDelete($ini,"inputsandoutputs","O5")
IniWrite($ini,"inputsandoutputs","O5","0")
EndIf
Case $O6
If BitAND(GUICtrlRead($O6),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O6")
IniWrite($ini,"inputsandoutputs","O6","1")
Else
IniDelete($ini,"inputsandoutputs","O6")
IniWrite($ini,"inputsandoutputs","O6","0")
EndIf
Case $O7
If BitAND(GUICtrlRead($O7),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O7")
IniWrite($ini,"inputsandoutputs","O7","1")
Else
IniDelete($ini,"inputsandoutputs","O7")
IniWrite($ini,"inputsandoutputs","O7","0")
EndIf
Case $O8
If BitAND(GUICtrlRead($O8),$GUI_CHECKED)Then
IniDelete($ini,"inputsandoutputs","O8")
IniWrite($ini,"inputsandoutputs","O8","1")
Else
IniDelete($ini,"inputsandoutputs","O8")
IniWrite($ini,"inputsandoutputs","O8","0")
EndIf
Case $addaktion
GUISetState(@SW_SHOW, $actionadd)
GUICtrlDelete($probs)
Case $aktioncombo
If GUICtrlRead($aktioncombo) = "Meldung anzeigen" Then
$probs = GUICtrlCreateGroup("Einstellungen für Meldung festlegen", 8, 32, 233, 121)
$title = GUICtrlCreateInput("Titel der Meldung",17,45,217,21)
$text = GUICtrlCreateInput("Text der Meldung",17,70,217,73)
IniWrite($ini,"aktion","Msg","1")
EndIf
If GUICtrlRead($aktioncombo) = "Digitalen Ausgang Ein/Ausschalten" Then
$probs = GUICtrlCreateGroup("Einstellungen für Ausgang festlegen", 8, 32, 233, 121)
$outputlabel = GUICtrlCreateLabel("Ausgang:",8,24,49,17)
$outputcombo = GUICtrlCreateCombo("",64,24,153,17, $CBS_DROPDOWNLIST)
;~ GUICtrlSetData(-1,$inputsoutputsini)
$valueoutput = GUICtrlCreateLabel("Wert:",8,56,30,17)
$onoutput = GUICtrlCreateRadio("Einschalten",32,72,81,17,$BS_AUTORADIOBUTTON)
EndIf
EndSwitch
WEnd
Ich hab die initeile auskommentiert.
Mfg button421