kneze Posted June 15, 2011 Posted June 15, 2011 (edited) Hi i try to read data from TXT File and put it to a listbox. TXT File will contain data like: User;Computer Name;Computer Mark;C10000;Dell 2344 Justin;C20002;Dell 2344 Peter;C30000;Dell 2344 etc. I would like to use a Combobox where i can select a text file. After selection the content should be displayed in the listbox. The code that i have assebled displays the content of txt file in a msgbox. Could you please give me some tipps. expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> $Form1 = GUICreate("Form1", 718, 733, 192, 124) $List1 = GUICtrlCreateList("", 165, 90, 201, 331) $Button1 = GUICtrlCreateButton("Button1", 390, 395, 116, 31) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit case $Button1 DIM $text $file = FileOpen("C:\temp\sample.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop $text = $text & @CRLF & $line Wend FileClose($file) MsgBox(0, "Line read:", $text) EndSwitch WEnd Edited June 15, 2011 by kneze
BrewManNH Posted June 15, 2011 Posted June 15, 2011 (edited) Here's how I'd do it, but I'd use a ListView rather than a list box so that you can separate the values better: expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListview.au3> #include <WindowsConstants.au3> Global $LV_Array[10000][3] $Form1 = GUICreate("Form1", 718, 733, 192, 124) $List1 = GUICtrlCreateListView("User|Computer Name|Computer", 165, 90, 201, 331) $Button1 = GUICtrlCreateButton("Button1", 390, 395, 116, 31) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 Dim $text $file = FileOpen("C:\temp\sample.txt", 0) ; Check if file opened for reading OK If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Exit EndIf $I = 0 ; Read in lines of text until the EOF is reached While 1 $Line = "" $Line = FileReadLine($file) If @error = -1 Then ExitLoop $text = StringSplit($Line, ";") ;~ $text = $text & @CRLF & $line For $X = 0 To 2 $LV_Array[$I][$X] = $text[$X] Next $I += 1 WEnd FileClose($file) ReDim $LV_Array[$I][3] _GUICtrlListView_AddArray($List1, $LV_Array) ;~ MsgBox(0, "Line read:", $text) EndSwitch WEnd Edited June 15, 2011 by BrewManNH If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
enaiman Posted June 15, 2011 Posted June 15, 2011 No need to reinvent the wheel - use _FileReadToArray to get your file content. After that you just use _GUICtrlListView_AddItem for every element in the array. When you select a new file from the combo - _FileReadToArray again, delete all elements from the ListView then use again _GUICtrlListView_AddItem for every element in the array. Pretty straightforward. Or you can use _GUICtrlListVew_AddArray - if you manage to get your array in the proper format. SNMP_UDF ... for SNMPv1 and v2c so far, GetBulk and a new example script wannabe "Unbeatable" Tic-Tac-Toe Paper-Scissor-Rock ... try to beat it anyway :)
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