很多用DIRECTOR作的多媒体光盘都是在光盘上运行的。在光盘上运行程序与在硬盘上 运行程序的最大区别就是运行速度。因此可能有的制作人员想把部分程序(可执行程序等)放在硬盘的某一目录下以提高运行速度,其它部分程序再从光驱上取得。但是这个好的想 法所碰到的第一个问题就是如何取得光驱符号。
在苹果电脑上,这一点非常轻易做到。play movie \"MyCD:Data:MovieA\"任何挂在苹果电脑上的卷标(包括光驱)只要包含名字和路径就可自动执行。
而在PC机上路径名可能会变成\"G:\\MyCD\\Data\\MovieA\" 或 \"D:\\MyCD\\Data\\MovieA\" 不同的PC机由于分区不同,光驱的盘符也不同。那末如何在Director for windows 中判定光驱符号呢?
我用LINGO编写了一个函数CheckDrive(),首先我将在光驱的根目录下放一个文件名为Lingo.ini。 函数CheckDrive()只接受lingo.ini这个文件名作参数,它将返回本机的光驱符号。
具体用法如下
put CheckDrive(\"lingo.ini\") into myCD
程序将光驱符号传给出myCD 变量。
函数CheckDrive()的函数体如下(因为大部分电脑的A驱和B驱为软盘驱动器,所以函数仅重C盘找起)。
on CheckDrive name
repeat with I = 66 to 90
set drive = numToChar( I )
set myThisPath = string(drive %26amp; \":\\\"%26amp; name)
set myFile = fileIO(mNew, \"read\", myThisPath)
if objectP(myFile) then
myFile(mDispose)
return drive%26amp;\":\"
exit
end if
end repeat
alert\"Please check that\"%26amp;\"E%26amp;name\"E%26amp;%26amp;\"is on your CD drive.\"
end
