How do I...?

Make a Document Browser

As an example, we will create an application that has the user select a folder on his drive, and then populates a listbox object with all of the *.doc files within that directory. The user clicks on a file in the listbox object, and clicks the "Open" button to open the document.

  1. Create a project with one listbox object, and two button objects.

  2. Label Button1 "Load" and Button2 "Open".

  3. Insert the following code into the On Click event for Button1:

--Disable listbox Updating
ListBox.SetUpdate("ListBox1", false);

--Get the desired folder to browse
folder = Dialog.FolderBrowse("Open Folder", "C:\\");

--populate a table with all the .doc files
file = File.Find(folder, "*.doc", false, false, nil);

--do the following for each file:
for j,file_path in pairs(file) do
    --add the item to the listbox, with the name visible and path as data
    ListBox.AddItem("ListBox1", String.SplitPath(file_path).Filename, file_path);
end

--Allow the listbox to display the updated content
ListBox.SetUpdate("ListBox1", true);

  1. Insert the following code into the On Click event for Button2:

selected = ListBox.GetSelected("ListBox1");
for j,k in pairs(selected) do
    File.Open(ListBox.GetItemData("ListBox1", k),"", SW_SHOWNORMAL);
end