kneze Posted June 15, 2011 Share 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 Link to comment Share on other sites More sharing options...
BrewManNH Posted June 15, 2011 Share 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 Link to comment Share on other sites More sharing options...
enaiman Posted June 15, 2011 Share 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 :) 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