ShminkyBoy Posted February 17, 2008 Share Posted February 17, 2008 I'm doing some different things with listboxes and buttons, thought I'd throw this out there in case someone else has as much fun as i did: expandcollapse popup#include <GUIConstants.au3> #include <GUIListBox.au3> #include <Constants.au3> #include <array.au3> Opt("GUIDataSeparatorChar","|") ;"|" is the default $csv_String="one|two|three|four" $as_Array=StringSplit($csv_String, "|", 1) $csv_string=_ListEditbox($as_Array,"New Title") MsgBox(0x41040, "Result", $csv_string) Exit ;~ This function edits arrays of data using a listbox ;~ $as_List = a one dimensional array of data (required) ;~ $s_Title = the name you want to appear in the window (optional) ;~ $n_width = the width of the edit box (optional) ;~ $n_height = the hieght of the editbox (optional) ;~ ;~ @error 0: returns the edited array ByRef; the return value is the edited array as a delimited string ;~ @error 1: returns the original array ByRef; the return value is the original array as a delimited string Func _ListEditbox(ByRef $as_List, $s_Title="Edit List Items", $n_width=288, $n_height=256) if $n_width<288 then $n_width = 288 if $n_height<256 then $n_height = 256 ;~ Get the vars to edit $csv_List = "" for $x = 1 to $as_List[0] If $csv_List = "" Then $csv_List=$as_List[$x] Else $csv_List=$csv_List & "|" & $as_List[$x] EndIf next $csv_EditList = $csv_List $as_EditList = $as_List $n_EntryIndex = 0 ;~ Make the edit box and buttons $id_EditWindow=GUICreate($s_Title,$n_width,$n_height,@DesktopWidth/2-$n_width/2, @DesktopHeight/2-$n_height/2,$WS_DLGFRAME,$WS_EX_TOPMOST) $id_AddEntry=GUICtrlCreateButton ("Add", 16,16,72,24) $id_DeleteEntry=GUICtrlCreateButton ("Delete",16,64,72,24) $id_ClearList=GUICtrlCreateButton ("Clear", 16,96,72,24) $id_Done=GUICtrlCreateButton ("Done", 16, 160,72,24) $id_Cancel=GUICtrlCreateButton ("Cancel", 16,192,72,24) $id_InputBox = GUICtrlCreateInput ("", 108,16,$n_width-124,24) $id_ListBox=GUICtrlCreateList ("", 108,64,$n_width-124,$N_HEIGHT-96,$WS_VSCROLL) GUICtrlSetLimit(-1,200) ; to limit horizontal scrolling ;~ Enumerate the listbox with the server list GUICtrlSetData($id_listbox,$csv_EditList) GUISetState () ;~ Edit the item list $msg = 0 While $msg <> $GUI_EVENT_CLOSE $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE then $msg = $id_Cancel If $msg = $id_InputBox then $msg = $id_AddEntry Select case $msg = $id_AddEntry $NewEntry = GUICtrlRead($id_InputBox) if $NewEntry <> "" then GUICtrlSetData($id_InputBox,"") $as_EditList[0] = $as_EditList[0] + 1 Redim $as_EditList[$as_EditList[0]+1] $as_EditList[$as_EditList[0]] = $NewEntry If $csv_EditList = "" Then $csv_EditList=$as_EditList[$as_EditList[0]] Else $csv_EditList=$csv_EditList & "|" & $as_EditList[$as_EditList[0]] EndIf GUICtrlSetData($id_ListBox,"") GUICtrlSetData($id_ListBox,$csv_EditList) Else endif case $msg = $id_DeleteEntry $n_EntryIndex=_GUICtrlListBox_GetCurSel($id_listbox)+1 If $n_EntryIndex > 0 Then _ArrayDelete( $as_EditList,$n_EntryIndex) $as_EditList[0]=$as_EditList[0]-1 $csv_EditList = "" for $x = 1 to $as_EditList[0] If $csv_EditList = "" Then $csv_EditList=$as_EditList[$x] Else $csv_EditList=$csv_EditList & "|" & $as_EditList[$x] EndIf next GUICtrlSetData($id_ListBox,"") GUICtrlSetData($id_ListBox,$csv_EditList) Else EndIf case $msg = $id_ClearList $answer = MsgBox(0x41021, $s_Title, "Are you sure you want to clear the list?") If $answer = 1 Then $csv_EditList="" For $x = 1 To $as_EditList[0] $as_EditList[$x] = "" Next $as_EditList[0]=0 GUICtrlSetData($id_listbox,$csv_EditList) Else EndIf Case $msg = $id_Done $csv_List=$csv_EditList $as_List=$as_EditList $csv_EditList="" For $x = 1 To $as_EditList[0] $as_EditList[$x] = "" Next $as_EditList[0]=0 GUISetState (@SW_HIDE,$id_editwindow) SetError(0) return $csv_List Case $msg = $id_Cancel GUISetState (@SW_HIDE,$id_editwindow) SetError(1) return $csv_List EndSelect Wend EndFunc Urban Terror - ioUrban Terror website Like-yea Link to comment Share on other sites More sharing options...
BrettF Posted February 17, 2008 Share Posted February 17, 2008 Graphical User Interface (GUI) Help and SupportFind support for the GUI creation features of AutoIt here.It's pretty cool! As this is more an example, rather than a request for support, a mod will probably move it later... Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
ShminkyBoy Posted February 17, 2008 Author Share Posted February 17, 2008 It's pretty cool! As this is more an example, rather than a request for support, a mod will probably move it later... yeah, I'm finding that I'm not allowed to post there yet for some reason:shrugs:thanks for the good words though =) Urban Terror - ioUrban Terror website Like-yea Link to comment Share on other sites More sharing options...
BrettF Posted February 17, 2008 Share Posted February 17, 2008 (edited) yeah, I'm finding that I'm not allowed to post there yet for some reason:shrugs:thanks for the good words though =)You need to have 10 posts min... Should have noticed that. Sorry... Edited February 17, 2008 by Bert Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
randallc Posted February 17, 2008 Share Posted February 17, 2008 Hi10; i just get>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programs\SearchEngine\funlistbox.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>21:29:33 Starting AutoIt3Wrapper v.1.9.5.6 Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 2 CPU:X86)>Running AU3Check (1.54.10.0) from:C:\Program Files\AutoIt3C:\Programs\SearchEngine\funlistbox.au3(76,68) : ERROR: _GUICtrlListBox_GetCurSel(): undefined function. $n_EntryIndex=_GUICtrlListBox_GetCurSel($id_listbox)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^C:\Programs\SearchEngine\funlistbox.au3 - 1 error(s), 0 warning(s)!>21:29:35 AU3Check ended.rc:2>Exit code: 0 Time: 7.314v 11; well.Randall ExcelCOM... AccessCom.. Word2... FileListToArrayNew...SearchMiner... Regexps...SQL...Explorer...Array2D.. _GUIListView...array problem...APITailRW Link to comment Share on other sites More sharing options...
BrettF Posted February 17, 2008 Share Posted February 17, 2008 (edited) I'm using the latest and I don't get an error... Edit: Not the latest... My bad. I'm using 3.2.10.0... Wonder why... lol. Thought I was on the latest! Edited February 17, 2008 by Bert Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version! Link to comment Share on other sites More sharing options...
ShminkyBoy Posted February 17, 2008 Author Share Posted February 17, 2008 hmm. I'm doing this for a script in a production environment at work, is the beta ok for that? I've always been taught to use non-beta things in a production setting. Oh poop. /me goes and downloads the beta Urban Terror - ioUrban Terror website Like-yea 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