Mein Script im MessageLoop Modus
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.2.0
Author: Karill Endusa
Script Function:
Kundendatenbank für kleine bis mittelgroße Geschäfte.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit];[includes]
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <SQLite.au3>
;----------------------------------------Variables-------------------------Start
;=> Globale Deklarationen verschoben in die For Schleifen der entsprechenden Abschnitte (ListView, LVMenu)
;----------------------------------------Variables---------------------------End
;----------------------------------------GUI-------------------------------Start
$GUI_mainWindow = GUICreate("Kundendatenbank", 1000, 750, -1, -1)
;------Ini-------Start
If FileExists(@ScriptDir&"\kudaba\") = 0 Then
DirCreate(@ScriptDir&"\kudaba\")
EndIf
If FileExists(@ScriptDir&"\kudaba\structure.ini") = 0 Then
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner1", "Ordner1")
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner2", "Ordner2")
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen", "Ordner3", "Ordner3")
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner1", "1")
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner2", "2")
IniWrite(@ScriptDir&"\kudaba\structure.ini", "Ordnerorder", "Ordner3", "3")
EndIf
;------Ini---------End
;------Menu------Start
$M_datei = GUICtrlCreateMenu("Datei")
$MI_beenden = GUICtrlCreateMenuItem("Beenden", $M_datei)
;------Menu--------End
;-----ListView---Start
GUICtrlCreateGroup("Kunden", 5, 0, 160, 330)
$TreeView = GUICtrlCreateTreeView(10, 20, 150, 300, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$WS_GROUP,$WS_TABSTOP,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
Global $IRS_structure_ONamen = IniReadSection(@ScriptDir&"\kudaba\structure.ini", "Ordnernamen")
Global $TV_O[$IRS_structure_ONamen[0][0]]
Global $CM_TV_O[$IRS_structure_ONamen[0][0]]
For $i = 0 To $IRS_structure_ONamen[0][0]-1
$TV_O[$i] = GUICtrlCreateTreeViewItem($IRS_structure_ONamen[$i+1][1], $TreeView)
If FileExists(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini") = 0 Then
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Name", "Mustermann")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Forename", "Max")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "StreetAndNumber", "Weißwurststraße 1337")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "PLZ", "99999")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Ort", "Musterhausen")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Tel", "12345/6788")
IniWrite(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde1", "Fax", "12345/6789")
EndIf
Global $IRS_KundenO = IniReadSectionNames(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini")
Global $TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
Global $CM_TV_K[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
Global $CM_TV_K_details[$IRS_structure_ONamen[0][0]][$IRS_KundenO[0]]
For $x = 0 To $IRS_KundenO[0]-1
IniReadSection(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1)
$name = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Name", "not found")
$forename = IniRead(@ScriptDir&"\kudaba\Ordner"&$i+1&".ini", "Kunde"&$x+1, "Forename", "not found")
$TV_K[$i][$x] = GUICtrlCreateTreeViewItem($name&", "&$forename, $TV_O[$i])
;-----LVMenu-----Start
$CM_TV_K[$i][$x] = GUICtrlCreateContextMenu($TV_K[$i][$x])
$CM_TV_K_details = GUICtrlCreateMenuItem("Detailansicht", $CM_TV_K[$i][$x])
;-----LVMenu-------End
Next
Next
;-----ListView-----End
;-----LVMenu-----Start
Global $CM_TV_O_rename[$IRS_structure_ONamen[0][0]]
For $i = 0 To $IRS_structure_ONamen[0][0]-1
$CM_TV_O[$i] = GUICtrlCreateContextMenu($TV_O[$i])
$CM_TV_O_rename[$i] = GUICtrlCreateMenuItem("Umbenennen", $CM_TV_O[$i])
Next
;-----LVMenu-------End
;-----StatusBar--Start
$StatusBar1 = _GUICtrlStatusBar_Create($GUI_mainWindow)
_GUICtrlStatusBar_SetSimple($StatusBar1)
_GUICtrlStatusBar_SetText($StatusBar1, "Kundendatenbank Version 1.0.0 (by Martin Bucher)")
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 20)
;-----StatusBar----End
GUISetState(@SW_SHOW, $GUI_mainWindow)
[/autoit] [autoit][/autoit] [autoit];//TODO
$GUI_detailWindow = GUICreate("Detailansicht", 750, 500, -1, -1)
GUISetState(@SW_HIDE, $GUI_detailWindow)
;----------------------------------------GUI---------------------------------End
;----------------------------------------Script----------------------------Start
While 1 * Sleep(10)
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
If $nMsg[1] = $GUI_mainWindow Then
Exit
ElseIf $nMsg[1] = $GUI_detailWindow Then
GUISetState(@SW_HIDE, $GUI_detailWindow)
EndIf
Case $MI_beenden
Exit
Case $CM_TV_O_rename[0] To $CM_TV_O_rename[$IRS_structure_ONamen[0][0]-1]
MsgBox(0, "", "Case works!");[TODO]
EndSwitch
WEnd
;----------------------------------------Script------------------------------End
;----------------------------------------Functions-------------------------Start
[/autoit] [autoit][/autoit] [autoit];----------------------------------------Functions---------------------------End
[/autoit]
hier ist das Problem dass ich das, was ich für $CM_TV_O_rename gemacht habe nicht für $CM_TV_K_details hinbekomme
wenn ich das ganze in den OnEvent Mode umschreibe habe ich aber nich die Variablen $i und $x der arrays die müsste ich irgendwie weitergeben können an eine funktion