ich hab mal die schlimmsten Fehler korrigiert und das ganze angepasst...
Ist natürlich nur als Demonstration zu sehen.
Wenn Du in der ini statt 0 eine 1 setzt und die Zeile 54: IniWrite(@ScriptDir & "\test.ini", "Zeile1", $aArray[$i], BitAND(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED))
deaktivierst, dann wird die ini gelesen und die checks dementsprechend gesetzt.
Spoiler anzeigen
#include <GuiDateTimePicker.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiComboBox.au3>
#include <Date.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <string.au3>
#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]testgui()
Func testgui()
$Form1 = GUICreate("Testgui", 746, 450, 258, 119)
$Group2 = GUICtrlCreateGroup("Spalten Löschen für & $neulabel", 4, 30, 737, 338, BitOR($GUI_SS_DEFAULT_GROUP,$BS_LEFT))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Radioeinaus1 = GUICtrlCreateRadio("testtabelle1", 305, 401, 89, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$Radioeinaus2 = GUICtrlCreateRadio("testtabelle2", 403, 401, 73, 17, BitOR($GUI_SS_DEFAULT_RADIO,$BS_LEFT))
$beenden = GUICtrlCreateButton("Beenden", 500, 395, 120, 25)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "beenden")
GUICtrlSetOnEvent($Radioeinaus1, "testtabelle1")
; GUICtrlSetOnEvent($Radioeinaus2, "testtabelle2")
GUICtrlSetOnEvent($beenden, "beenden")
While 1
Sleep(50)
WEnd
EndFunc;==>testgui
Func testtabelle1()
$Open = FileOpenDialog("",@ScriptDir,"(test1.xls)")
$oExcel = _ExcelBookOpen($Open, 0)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
Local $Checkbox[$Spalten+1]
Dim $aArray = _ExcelReadArray($oExcel, 1, 1, $Spalten, 0, 1)
_ExcelBookClose($oExcel,0,0)
For $i = 1 To $aArray[0]
IniWrite(@ScriptDir & "\test.ini", "Zeile1", $aArray[$i], BitAND(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED))
Next
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile1")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]
$top = 25 + ($i * 20)
$left = 25
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
If $var[$i][1] = 1 Then GUICtrlSetState($Checkbox[$i], $GUI_CHECKED)
Next
EndIf
EndFunc;==>testtabelle1
#cs
Func testtabelle2()
$Open = FileOpenDialog("",@ScriptDir,"(test2.xls)")
$oExcel = _ExcelBookOpen($Open)
$Spalten = $oExcel.Worksheets(1).UsedRange.Columns.Count
$Spalten = $Spalten+2
Local $Checkbox[$Spalten]
Dim $aArray[$Spalten]
For $i = 1 To UBound($aArray) -1
$aArray[$i] = _ExcelReadArray($oExcel, 1, $i, 1, 1)
_ArrayToClip($aArray[$i])
$ddd = (ClipGet())
IniWrite(@ScriptDir & "\test.ini", "Zeile2", $ddd, "")
Next
_ExcelBookClose($oExcel)
$var = IniReadSection( @ScriptDir & "\test.ini", "Zeile2")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]-1
$top = 25 + ($i * 20);
$left = 25;
If $top > 345 and $left = 25 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 200 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 375 Then
$left = $left + 175
$top = $top - 320
EndIf
If $top > 345 and $left = 550 Then
$left = $left + 175
$top = $top - 320
EndIf
$Checkbox[$i] = GUICtrlCreateCheckbox($var[$i][0], $left, $top, 175, 17)
Next
EndIf
EndFunc;==>testtabelle2
#ce
Func beenden()
Exit
EndFunc;==>beenden