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 *.png and *.jpg files within that directory. The user clicks on a file in the listbox object, and clicks the "Open" button to load the selected image into the image object.
--Allow the listbox to display the updated content
ListBox.SetUpdate("ListBox1", true);
- Create a project with two button objects, a listbox object, and an image object.
- Label Button1 "Load" and Button2 "Open".
- Insert the following code into the On Click event for Button1:
Kod:
--Disable listbox Updating
ListBox.SetUpdate("ListBox1", false);
--Get the desired folder to browse
folder = Dialog.FolderBrowse("Open Folder", "C:\\");
--populate tables with all the .jpg and .png files
file_jpg = File.Find(folder, "*.jpg", false, false, nil);
file_png = File.Find(folder, "*.png", false, false, nil);
images = {file_jpg, file_png};
--do the following for each file:
for k in images do --loops through the different image types
for j,file_path in images[k] do --loops through each image file
--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
end
--Allow the listbox to display the updated content
ListBox.SetUpdate("ListBox1", true);
- Insert the following code into the On Click event for Button2:
Kod:
selected = ListBox.GetSelected("ListBox1");
for j,k in selected do
Image.Load("Image1", ListBox.GetItemData("ListBox1", k));
end