PDA

View Full Version : searching for multiple file formats in directory



gnetcanada
02-20-2004, 09:32 AM
Hi Guys,

i designed an mp3 player and used some code from another autplay app posted here, anyway, i want it to search the directory selectted for mp3, wma, ogg and wav file formats not just mp3. I have attached the code below, what would i have to do to allow it to search for multiple formats at the same time and add them to the table?

numitems = ListBox.GetCount("Playlist");
myfolder = Shell.GetFolder(SHF_MYDOCUMENTS);
ssfolder = Dialog.FolderBrowse("Select A Folder To Add", myfolder);
if (ssfolder ~= "CANCEL") and (ssfolder ~= "") then
subfolders = Dialog.Message("Recurse Subfolders", "Do you want to include subfolders", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON2)
if (subfolders == IDYES) then
subfolder = true
else
subfolder = false
end
file_table = File.Find(ssfolder, "*.mp3", subfolder, false, nil);
if (file_table == nil) then
Dialog.Message("Error", "There were no audio files in the selected Directory. Please select a directory that contains audio files", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
dirselect = "NO";
else
file_count = Table.Count(file_table);
ctr = 1;
dirselect = "YES";
StatusDlg.SetMeterRange("1", file_count);
StatusDlg.SetTitle("Please wait while your audio files are loaded.");
StatusDlg.Show(MB_ICONNONE, false);
for i,file in file_table do
videonametable = String.SplitPath(file);
videoname = videonametable.Filename;
result = ListBox.AddItem("Playlist", videoname, file);
StatusDlg.SetMeterPos(i);
end
StatusDlg.Hide();
end
end
if numitems == 0 then
ListBox.SelectItem("Playlist", 1);
end

gallurt
02-03-2007, 05:22 PM
please how
To modify code to look for search in " \\Autoplay\\Docs".

and imput

sorry by my bad engish


-- Was the Enter key pressed? If so, continue on...
if e_Key == 13 then


numitems = ListBox.GetCount("ListBox1");
myfolder = Shell.GetFolder(SHF_MYDOCUMENTS);
ssfolder = File.Find("AutoPlay//Docs", "*.txt", false, true, nil, nil)
subfolders = Dialog.Message("Recurse Subfolders", "Do you want to include subfolders", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON2)
if (subfolders == IDYES) then
subfolder = true
else
subfolder = false
end
file_table = File.Find(ssfolder, "*.*", subfolder, false, nil);
if (file_table == nil) then
Dialog.Message("Error", "There were no audio files in the selected Directory. Please select a directory that contains audio files", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1)
dirselect = "NO";
else
file_count = Table.Count(file_table);
ctr = 1;
dirselect = "YES";
StatusDlg.SetMeterRange("1", file_count);
StatusDlg.SetTitle("Please wait while your audio files are loaded.");
StatusDlg.Show(MB_ICONNONE, false);
for i,file in file_table do
videonametable = String.SplitPath(file);
videoname = videonametable.Filename;
result = ListBox.AddItem("ListBox2", videoname, file);
StatusDlg.SetMeterPos(i);
end
StatusDlg.Hide();
end
end
if numitems == 0 then
ListBox.SelectItem("ListBox2", 1);
end
end

longedge
02-04-2007, 05:57 AM
If you use the global variable _SourceFolder that will always refer to the location that your project is running from and then you can concatenate folders beneath that, so setting a variable -

docsfolder = _SourceFolder.."\\Autoplay\\Docs"

will give you the Docs folder.

gallurt
02-04-2007, 11:01 AM
I have proven but I have not obtained it.

longedge
02-04-2007, 11:36 AM
I'm afraid I don't have AMS6 - this part of the forum is for AMS5 :)

gallurt
02-04-2007, 12:40 PM
thanks for all