当前位置:软件学习 > Director >>

Director 疑难解答(4)

Director 疑难解答
01. 我怎样才能在Director中使用Powerpoint文件呢?

   [A] 在Director中有多种方法来打开或者显示一个Powerpoint幻灯片。

   1. 使用Director的Powerpoint Import这个Xtra直接导入Powerpoint幻灯片。

   2. 使用Lingo命令open {file name} with {application name},这种方法需要用户安装过Powerpoint或者Powerpoint Viewer。Powerpoint Viewer是微软自由发放的一个软件,可以在用户没有安装Powerpoint的情况下放映幻灯片。

   3. 使用ActiveX控件打开一个Web浏览器窗口来显示Powerpoint文件,这需要IE和
Powerpoint或者Powerpoint Viewer。

   4. 使用其他第三方Xtra,包括Ravware's PPViewer或者BuddyAPI。二者都需要用户已经安装过PowerPoint Viewer。

02. 我怎样通过BuddyAPI来打印PDF文档呢?

   [A] 使用BuddyAPI你就可以打印PDF文档了,但你必须保证Acrobat Reader已经被安装到了你的系统上。

   有两种方法来打印一个PDF文件:一种方法是给用户提供一个打印对话框,另一种方法就是在后台进行打印,两种方法具体操作如下:

   1. 不使用打印对话框:

   vResult = baPrintFile(vFile)

   2. 通过标准的打印对话框:

vResult = baRunProgram(baShortFileName(baFindApp( "pdf" ) && "/p" &&
baShortFileName(vFile)), "Minimised" , false )

03. 我怎样才能创建一个All_In_One的按钮行为,把所有和按钮有关的功能集中在一个行为里面?

   [A] 这个问题最好的回答就是使用Alphamania Shift Hue effect。使用这种方法用不着创建单独的rollover和MouseDown成员,只需要为rollover、MouseDown和MouseUP选择一个色调变化的等级即可。这样做的主要优点是不需要其他的行为,并且不需要为按钮的各种状态创建不同的成员。

04. 我怎样才能让多个单选按钮成为单选按钮组?

   [A] Director缺省的单选按钮和复选框有点类似,如果你希望他们一起工作,你必须编写lingo来实现打开一个时关闭另一个。最基本的方法就是通过调用sendAllSprites来实现。

05. 怎样用lingo优化记录集(游标)?

   [A] 你可以通过评估记录来优化游标,并通过DropCursor命令来忽略无效的记录。这将返回你需要的记录集,下面是一个简短的例子:

vRS.firstRecord()
repeat with x = 1 to vRS.getRecordCount()
if vRS.getField(vField) = vCondition then
     vRS.DropRecord()
else
     vRS.NextRecord()
end if
end repeat


   译者注:游标是一个SQL术语,数据库游标和字处理程序上的光标类似,当你按下Down箭头时光标就在记录上向下滚动一行,用数据库游标可以选择一组数据,可以在这组记录(通常称为记录集)上滚动光标,并检查游标指到的每一行数据。


06. 怎样在CD上为我的movies保持相对连接而不出现定位对话框?

   [A] 在你发布作品、保护和刻录CD时,Director会保持影片的相对路径,最常见的错误是创建文件时采取一种目录结构方式,保护文件时却使用另一个目录以便备份。问题就在于Director只记住了文件最初的连接,但现在却被破坏了。

   其实,你可以在在searchPath中包含进当前目录:

( the searchPath ). add ( the moviePath & ‘‘movies‘‘)

07. 怎样在全屏模式下打开stage时去掉stage上一个像素的黑框?

   [A] 为了在projector上去掉黑框,你可以使用非正式声明的MIAW的“cutout”属性。创建一个1x1、全屏播放的projector,通过MIAW命令用他打开你的主影片,设置主影片的windowType为一个1 bit的位图,该位图可以是一个矩形,可以是你的影片的形状:

( window ‘‘my window‘‘). windowType = member (‘‘1 bit bitmap‘‘)

   对于Director 7.02或早期版本,你可以使用border这个Xtra实现同样的效果。

08. 怎样在Valentina中回滚?

   [A] Valentina不支持回滚,因为你不能通过SQL语句来插入或者改变数据,也就不能简单的保存SQL历史。

   译者注:回滚也是数据库术语,即取消多步数据库操作。

09. 我怎样在Shockwave中保存和得到用户的数据?

   [A]Shockwave不允许你访问用户的硬盘,但有一个目录例外,这样做是为了防止别人编制恶意的Shockwave程序来破坏你的系统。如果你想在Shockwave中保存用户的数据,使用getPref和setPref命令即可:

setPref prefName, prefValue
getPref (prefFileName)

11. 各功能键的键控代码(keycodes)是多少?

   [A] 功能键可用作keycodes来测试:

   F1-122
   F2-120
   F3-99
   F4-118
   F5-96
   F7-98
   F8-100
   F9-101
   F10-109
   F11-103
   F12-111
   F13-105

   注意,功能键的keycodes在生成放映机时(projector)时是不能用的。

[1]

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,