const
DefOpenList = <font color="Navy">
'MPEG Audio Files(*.mp3;*.mp2;*.mp1)|*.mp3;*.mp2;*.mp1|'
</font>+
<font color="#
000080
">
'Ogg Vorbis Audio (*.ogg)|*.ogg|'
</font>+
<font color="#
000080
">
'Microsoft Wave Audio (*.wav)|*.wav|'
</font>+
<font color="#
000080
">
'MOD Music (*.mo3;*.it;*.xm;*.s3m;*.mtm;*.mod;*.umx)|*.mo3;*.it;*.xm;*.s3m;*.mtm;*.mod;*.umx|'
</font>+
<font color="#
000080
">
'Windows Media Audio (*.wma;*.wm;*.wax;*.asx;*.wn;*.wmx;*.wmd;*.wmz)|*.wma;*.wm;*.wax;*.asx;*.wn;*.wmx;*.wmd;*.wmz|'
</font>+
<font color="#
000080
">
'Midi(*.mid;*.midi;*.rmi)|*.midi;*.mid;*.rmi|'
</font>+
<font color="#
000080
">
'AudioCD(*.cda)|*.cda|'
</font>+
<font color="#
000080
">
'Video(*.avi;*.wmv;*.mpg;*.asf;*.dvr-ms)|*.avi;*.wmv;*.mpg;*.mpeg;*.asf;*.dvr-ms'
</font>;
var
AllSupFiles :
widestring
= <font color="#
000080
">
'All Supported Files|*.mp3;*.mp2;*.mp1;*.ogg;*.wav;*.mo3;*.it;*.xm;*.s3m;*.mtm;*.mod;*.umx;*.wm;*.wax;*.asx;*.wn;'
+
'*.wmx;*.wmd;*.wmz;*.midi;*.mid;*.rmi;*.cda;*.avi;*.wmv;*.mpg;*.mpeg;*.asf;*.dvr-ms'
</font>;
<font color="Red">
...
OpenDialog1
.
Filter := DefOpenList
fh := FindFirstFile(
PChar
(ExeDir + <font color="#
000080
">
'bass*.dll'
</font>), fd);
if
(fh <> INVALID_HANDLE_VALUE)
then
try
repeat
plug := BASS_PluginLoad(fd
.
cFileName,
0
);
if
Plug <>
0
then
begin
Info :=
pointer
(BASS_PluginGetInfo(Plug));
for
a :=
0
to
Info
.
formatc -
1
do
begin
OpenDialog1
.
Filter := OpenDialog1
.
Filter + <font color="Navy">
'|'
</font> + Info
.
Formats[a].name + <font color="#
000080
">
'('
</font> +
Info
.
Formats[a].exts + <font color="#
000080
">
')|'
</font> + Info
.
Formats[a].exts;<font color="#ff0000">
AllSupFiles := AllSupFiles + <font color="Navy">
';'
</font>+ Info
.
Formats[a].exts;<font color="#ff0000">
end
;
end
;
until
FindNextFile(fh, fd) =
false
;
finally
Windows
.
FindClose(fh);
end
;
OpenDialog1
.
Filter := AllSupFiles + <font color="Navy">
'|'
</font> + OpenDialog
.
Filter;