Griffith Posted April 30, 2007 Share Posted April 30, 2007 (edited) Hi guys I'm new to autoit and my sister wanted me to make her a library database tool so I tried to do it in autoit. I ran into some dead ends and would be glad if someone more experienced could give me a few hints. What I'm missing is : - "Ändern" should open a childgui and load the listview item selected in the listview into the inputboxes (the childgui is the same as "Neu") - "Neu" should add new entries into the listview, couldn't figure out the code for that - When the chilgui is getting closed it will automatically exit, how can I limit it to the main gui only? - "Suchen" should search for the strings in the categories (specified in the drowdown box) in the listview and display them - A way to load/save the contents of the listview into a file Here's my code. expandcollapse popup#include <GuiConstants.au3> #include <GuiListView.au3> #include <GuiList.au3> #include <File.au3> $Gui = GUICreate("Datenbank",788,514, 100,200) GUICtrlCreateGroup ("Suche", 4, 0, 475, 45) GUICtrlCreateGroup ("Aktionen", 485, 0, 300, 45) $Combo = GuiCtrlCreateCombo("", 290, 18, 90, 120, $CBS_DROPDOWNLIST) $String = GuiCtrlCreateInput("", 10, 18, 250, 20) GUICtrlCreateLabel ( "in", 270, 21 ) GUICtrlSetData($Combo,"Buchtitel|Author|ausgeliehen am|ausgeliehen bis|Name|Adresse|Telefon|e-Mail|Kommentar", "Buchtitel") $Button_1 = GuiCtrlCreateButton("Suchen", 390, 18, 80, 20) $Button_2 = GuiCtrlCreateButton("Löschen", 695, 18, 80, 20) $Button_3 = GuiCtrlCreateButton("Ändern", 595, 18, 80, 20) $Button_4 = GuiCtrlCreateButton("Neu", 495, 18, 80, 20) $List = GuiCtrlCreateListView ("Buchtitel|Author|ausgeliehen am|ausgeliehen bis|Name|Adresse|Telefon|e-Mail|Kommentar",4,50,780,460) GUICtrlSetState($String,$GUI_FOCUS) GuiSetState() $Gui3 = GUICreate("Eintrag Ändern",790,115, 100,200) $aInput_1 = GuiCtrlCreateInput("Buchtitel", 5, 5, 260, 20) $aInput_2 = GuiCtrlCreateInput("Author", 525, 5, 260, 20) $aInput_3 = GuiCtrlCreateInput("ausgeliehen am", 5, 30, 260, 20) $aInput_4 = GuiCtrlCreateInput("ausgeliehen bis", 5, 55, 260, 20) $aInput_5 = GuiCtrlCreateInput("Name", 270, 5, 250, 20) $aInput_6 = GuiCtrlCreateInput("Adresse", 270, 30, 250, 20) $aInput_7 = GuiCtrlCreateInput("Telefon", 525, 30, 260, 20) $aInput_8 = GuiCtrlCreateInput("e-Mail", 270, 55, 250, 20) $aInput_9 = GuiCtrlCreateInput("Kommentar", 525, 55, 260, 20) $aButton_1 = GuiCtrlCreateButton("Speichern", 5, 80, 780, 30) Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($List) ] If FileExists ("data.ini") = False Then FileWrite ("data.ini","") EndIf ;~ Load the previously saved data While 1 $msg = GuiGetMsg($Gui) Select Case $msg = $GUI_EVENT_CLOSE ;~ Save listview data into the ini file before closing Exit Case $msg = $Button_1 ;~ A search function Case $msg = $Button_2 $confirm = MsgBox (4, "Löschen bestätigen", "Wirklich löschen?") If $confirm = 6 Then _GUICtrlListViewDeleteItemsSelected($List) Else Sleep ( 1 ) EndIf Case $msg = $Button_3 $result = ChildGui() Case $msg = $Button_4 GUISetState (1, $Gui3) Case $msg = $aButton_1 ;~ Save as a new item in the listview Case $msg = $List _GUICtrlListViewSort($List, $B_DESCENDING, GUICtrlGetState($List)) Case Else ;;; EndSelect WEnd Edited April 30, 2007 by Griffith Link to comment Share on other sites More sharing options...
Zedna Posted April 30, 2007 Share Posted April 30, 2007 Here is code with some of your questions (not all) solved: expandcollapse popup#include <GuiConstants.au3> #include <GuiListView.au3> #include <GuiList.au3> #include <File.au3> $Gui = GUICreate("Datenbank",788,514, 100,200) GUICtrlCreateGroup ("Suche", 4, 0, 475, 45) GUICtrlCreateGroup ("Aktionen", 485, 0, 300, 45) $Combo = GuiCtrlCreateCombo("", 290, 18, 90, 120, $CBS_DROPDOWNLIST) $String = GuiCtrlCreateInput("", 10, 18, 250, 20) GUICtrlCreateLabel ( "in", 270, 21 ) GUICtrlSetData($Combo,"Buchtitel|Author|ausgeliehen am|ausgeliehen bis|Name|Adresse|Telefon|e-Mail|Kommentar", "Buchtitel") $Button_1 = GuiCtrlCreateButton("Suchen", 390, 18, 80, 20) $Button_2 = GuiCtrlCreateButton("Löschen", 695, 18, 80, 20) $Button_3 = GuiCtrlCreateButton("Ändern", 595, 18, 80, 20) $Button_4 = GuiCtrlCreateButton("Neu", 495, 18, 80, 20) $List = GuiCtrlCreateListView ("Buchtitel|Author|ausgeliehen am|ausgeliehen bis|Name|Adresse|Telefon|e-Mail|Kommentar",4,50,780,460) GUICtrlSetState($String,$GUI_FOCUS) GuiSetState() $Gui3 = GUICreate("Eintrag Ändern",790,115, 100,200, -1, -1, $Gui) $aInput_1 = GuiCtrlCreateInput("Buchtitel", 5, 5, 260, 20) $aInput_2 = GuiCtrlCreateInput("Author", 525, 5, 260, 20) $aInput_3 = GuiCtrlCreateInput("ausgeliehen am", 5, 30, 260, 20) $aInput_4 = GuiCtrlCreateInput("ausgeliehen bis", 5, 55, 260, 20) $aInput_5 = GuiCtrlCreateInput("Name", 270, 5, 250, 20) $aInput_6 = GuiCtrlCreateInput("Adresse", 270, 30, 250, 20) $aInput_7 = GuiCtrlCreateInput("Telefon", 525, 30, 260, 20) $aInput_8 = GuiCtrlCreateInput("e-Mail", 270, 55, 250, 20) $aInput_9 = GuiCtrlCreateInput("Kommentar", 525, 55, 260, 20) $aButton_1 = GuiCtrlCreateButton("Speichern", 5, 80, 780, 30) Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($List) ] If Not FileExists ("data.txt") Then FileWrite ("data.txt","") ;~ Load the previously saved data LoadListView($list, 'data.txt') While 1 $msg = GuiGetMsg(1) Select Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Gui ;~ Save listview data into the ini file before closing SaveListView($list, 'data.txt') Exit Case $msg[0] = $Button_1 ;~ A search function Case $msg[0] = $Button_2 $confirm = MsgBox (4, "Löschen bestätigen", "Wirklich löschen?") If $confirm = 6 Then _GUICtrlListViewDeleteItemsSelected($List) EndIf Case $msg[0] = $Button_3 ;~ $result = ChildGui() Case $msg[0] = $Button_4 GUISetState (@SW_SHOW , $Gui3) Case $msg[0] = $aButton_1 ;~ Save as a new item in the listview GUISetState (@SW_HIDE , $Gui3) Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $Gui3 GUISetState (@SW_HIDE , $Gui3) Case $msg[0] = $List _GUICtrlListViewSort($List, $B_DESCENDING, GUICtrlGetState($List)) EndSelect WEnd Func SaveListView($list, $file) $data = '' For $i = 0 To _GUICtrlListViewGetItemCount($list) - 1 $data &= _GUICtrlListViewGetItemText($list, $i) & @CRLF Next $data = StringTrimRight($data,2) FileDelete($file) FileWrite($file, $data) EndFunc Func LoadListView($list, $file) $data = FileRead($file) $data = StringSplit($data, @CRLF, 1) For $i = 1 To $data[0] - 1 GuiCtrlCreateListViewItem($data[$i],$List) Next EndFunc Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
SalazarCheats Posted May 19, 2007 Share Posted May 19, 2007 (edited) EDIT: sorry wrong post!!! Edited May 19, 2007 by SalazarCheats Ok im 14 with a spelling age of a 9 year old... that explanes all my spelling mistakes Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now