Hi,
evlt kanns jemand brauchen.
GUI ist Drag&Drop-kompatibel, in die erste Zeile das Programm oder die Datei reinziehen, rechts daneben einen Namen angeben, hinzufügen und der Rest sollte selbsterklärend sein
Spoiler anzeigen
#include <array.au3>
#include <file.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GUIComboBox.au3>
#include <GUIListView.au3>
#include <WindowsConstants.au3>
Global $list1, $active = 0
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Projekte", 633, 454, 192, 114, BitOR($WS_MINIMIZEBOX, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS), $WS_EX_ACCEPTFILES)
$list1 = GUICtrlCreateList("", 8, 48, 537, 396, BitOR($WS_BORDER, $LBS_MULTIPLESEL))
$add = GUICtrlCreateButton("Add", 552, 16, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$start = GUICtrlCreateButton("Start", 552, 56, 75, 25, $WS_GROUP)
$mark = GUICtrlCreateButton("Select All", 552, 96, 75, 25, $WS_GROUP)
$del = GUICtrlCreateButton("Delete", 552, 416, 75, 25, $WS_GROUP)
$in = GUICtrlCreateInput("", 8, 16, 409, 21)
GUICtrlSetState(-1, $GUI_ACCEPTFILES)
$camp = GUICtrlCreateInput("", 424, 16, 121, 21)
GUISetState(@SW_SHOW)
Global $ini = @ScriptDir & "\Projekte.ini"
[/autoit] [autoit][/autoit] [autoit]filllist()
Global $marking = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $start
start()
Case $add
add()
Case $del
del()
Case $mark
if $marking = 1 Then
_GUICtrlListBox_ResetContent($list1)
filllist()
$marking = 0
GUICtrlSetData($mark, "Select All")
ElseIf $marking = 0 Then
_GUICtrlListBox_SelItemRange($list1, 0, _GUICtrlListBox_GetCount($list1))
$marking = 1
GUICtrlSetData($mark, "Unselect All")
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If GUICtrlRead($in) <> "" And GUICtrlRead($camp) <> "" And $active = 0 Then
GUICtrlSetState($add, $GUI_ENABLE)
$active = 1
EndIf
WEnd
Func filllist()
_GUICtrlListBox_Destroy($list1)
$list1 = GUICtrlCreateList("", 8, 48, 537, 396, BitOR($WS_BORDER, $LBS_MULTIPLESEL))
Local $sec = IniReadSection($ini, "proj")
_ArraySort($sec)
For $i = 1 To UBound($sec, 1) - 1
_GUICtrlListBox_AddString($list1, $sec[$i][0] & " > " & IniRead($ini, "proj", $sec[$i][0], "") & @LF)
Next
EndFunc ;==>filllist
Func add()
IniWrite($ini, "proj", GUICtrlRead($camp), GUICtrlRead($in))
GUICtrlSetData($in, "")
GUICtrlSetData($camp, "")
GUICtrlSetState($add, $GUI_DISABLE)
$active = 0
filllist()
EndFunc ;==>add
Func del()
Local $test = _GUICtrlListBox_GetSelItemsText($list1)
if UBound($test) > 1 Then
local $a = MsgBox(68,"Löschen","Sicher?")
if $a = 6 Then
For $x = 1 To $test[0]
Local $boom = StringSplit($test[$x], " > ")
IniDelete($ini, "proj", $boom[1])
Next
filllist()
EndIf
EndIf
EndFunc ;==>del
Func start()
Local $test = _GUICtrlListBox_GetSelItemsText($list1)
For $x = 1 To $test[0]
Local $boom = StringSplit($test[$x], ">")
ShellExecute(StringTrimLeft(StringTrimRight($boom[2],1),1))
sleep(1000)
Next
EndFunc ;==>start
Gruß
x0r