Loading...

Archive for May, 2006

端午节 :D

by Dofy

端午节到了, 祝大家新年快乐 :D

小鬼当家5

by Dofy

小鬼当家小鬼当家系列的电影大家都不陌生吧, 最近看了第五部, 很热闹, 呵呵 :) 推荐一下
<导演> 尼克·卡斯尔
<主演> 沃尔特.马修 琼.普罗莱特 梅森.甘布尔 克里斯托弗.劳埃德 利.汤普森 罗伯特.斯坦顿
<类型> 喜剧片
<长度> 90 分种
<简介>
六岁大的丹尼斯属于那种精力异常旺盛求知欲又很强的孩子, 只要有他存在, 什么事情都可能发生, 而且没有人能够预言这个捣蛋鬼下一步会出什么新花样. 当他决定要对隔壁威尔逊先生进行 “友好访问” 时, 受访者心里明白: “灾难” 就要发生了. 果然, 在接下来的日子时, 倒霉的事接二连三, 连睡觉都不得安宁……影片根据著名的漫画集改编, 在银幕上成功地再现了丹尼斯以及他的双亲, 好友乔伊, 忠实的宠犬鲁夫. 所有这些形象都得到了原作者汉克·凯查姆的首肯.

Recordset.Open [Source], [ActiveConnection],
[CursorType], [LockType], [Option]

CursorType:
adOpenForwardOnly 0
adOpenKeyset 1
adOpenDynamic 2
adOpenStatic 3

CursorLocation:
adUseServer 2
adUseClient 3

LockType:
adLockReadOnly 1
adLockPessimistic 2
adLockOptimistic 3
adLockBatchOptimistic 4

Options:
adCmdText 1
adCmdTable 2
adCmdStoredProc 4
adCmdFile 256
adCmdTableDirect 512
adCmdURLBind

ExecuteOptionEnum:
adAsyncExcute16
adAsyncFetch32
adAsyncFetchNonBlocking 64
adExecuteNoRecords 128

最近俺的 Blog 倍受垃圾信息侵扰, 几乎每天都要清理一次.

前阵子装了个 Akismet , 这个插件很 NX 居然要 WordPress.com API key, 实事上也确实 NX, 装了之后 Blog 清净了好一阵 …

没想到恐怖事件还是发生了 :( 于是上网 (突然想起一个古老的词组: 驱猫上网 :| 思绪明显飘忽不定, 回来回来~~~) 搜了一下关于 WordPress 的插件.

果然被我找到了, 就是这个 Bad Behavior . 第一天没什么动静, 今天没事进来看了一眼, 管理页赫然写着:

Bad Behavior has blocked 426 access attempts in the last 7 days.

:D 继续观察ing…

本来想用curveTo画, 后来发现太麻烦了, 所以用个划线的模拟了一下, 嘻嘻

PLAIN TEXT >> ACTIONSCRIPT:
  1. _root.createEmptyMovieClip("myMc", 1);
  2. drawTest(myMc, new Object({x0:125.5, y0:200.4, r:120, a0:12.45, a:123.255}));
  3. // 绘图函数
  4. // drawObj 的属性: 圆心坐标(x0, y0), 半径 r, 起始角度 a0, 扇形角度 a
  5. function drawTest(mc:MovieClip, drawObj:Object):Void {
  6.   with (drawObj) {
  7.     a += a0;
  8.     mc.beginFill(0xEEEEEE, 50);
  9.     mc.lineStyle(1, 0xCCCCCC, 50);
  10.     mc.moveTo(getPoint(x0, y0, r, a0).x, getPoint(x0, y0, r, a0).y);
  11.     mc.lineTo(x0, y0);
  12.     mc.lineTo(getPoint(x0, y0, r, a).x, getPoint(x0, y0, r, a).y);
  13.     while (a>a0+5) {
  14.       a -= 5;
  15.       mc.lineTo(getPoint(x0, y0, r, a).x, getPoint(x0, y0, r, a).y);
  16.     }
  17.     mc.lineTo(getPoint(x0, y0, r, a0).x, getPoint(x0, y0, r, a0).y);
  18.   }
  19. }
  20. // 计算圆上点的位置函数
  21. function getPoint(x0:Number, y0:Number, r:Number, a:Number):Object {
  22.   a = a*Math.PI/180;
  23.   return {x:Math.cos(a)*r+x0, y:Math.sin(a)*r+y0};
  24. }

PLAIN TEXT >> ACTIONSCRIPT:
  1. // 创建一个对象数组, 包括要创建组件的所有属性, 私有属性以对象形式放在 options 项中
  2. var arrCtrl:Array = new Array(
  3.         {obj:"ComboBox", name:"cmbPhamClass", sizeW:180,
  4.             options:{rowCount:10}},
  5.         {obj:"Label", name:"lblFrom",
  6.             options:{autoSize:true, text:"第"}},
  7.         {obj:"ComboBox", name:"cmbMin", sizeW:50,
  8.             options:{rowCount:10}},
  9.         {obj:"Label", name:"lblTo",
  10.             options:{autoSize:true, text:"名 到第"}},
  11.         {obj:"ComboBox", name:"cmbMax", sizeW:50,
  12.             options:{rowCount:10}},
  13.         {obj:"Label", name:"lblEnd",
  14.             options:{autoSize:true, text:"名 按"}},
  15.         {obj:"RadioButton", name:"rdoBy_0", sizeW:60,
  16.             options:{groupName:"rdoBy", label:"采购额", data:"0", selected:true}},
  17.         {obj:"RadioButton", name:"rdoBy_1", sizeW:60,
  18.             options:{groupName:"rdoBy", label:"采购量", data:"1"}},
  19.         {obj:"Label", name:"lblBy",
  20.             options:{autoSize:true, text:"排序"}},
  21.         {obj:"Button", name:"btnSubmit", sizeW:70, options:{label:"查询"}}
  22.     );
  23. // 创建组件代码
  24. var sizeW:Number, sizeH:Number;
  25. for (var i = 0; <arrCtrl.length; i++) {
  26.     _root.attachMovie(arrCtrl[i]["obj"], arrCtrl[i]["name"], _root.getNextHighestDepth());
  27.     // 设置私有属性
  28.     if (arrCtrl[i]["options"] != null) {
  29.         for (var j in arrCtrl[i]["options"]) {
  30.             _root[arrCtrl[i]["name"]][j] = arrCtrl[i]["options"][j];
  31.         }
  32.     }
  33.     // 设置控件尺寸
  34.     if (arrCtrl[i]["sizeW"] == null) {
  35.         sizeW = _root[arrCtrl[i]["name"]].width;
  36.     } else {
  37.         sizeW = arrCtrl[i]["sizeW"];
  38.     }
  39.     if (arrCtrl[i]["sizeH"] == null) {
  40.         sizeH = _root[arrCtrl[i]["name"]].height;
  41.     } else {
  42.         sizeH = arrCtrl[i]["sizeH"];
  43.     }
  44.     _root[arrCtrl[i]["name"]].setSize(sizeW, sizeH);
  45. }

唉, 大早起来就开始干活, 打开 DW ...
突然眼前一亮, 欢迎屏幕中显示 DW 又有更新, 马上去看~~~
于是发现了这个: Dreamweaver 8.0.2 Updater (简体中文)
安装的时候就有预感, 会不会对 Flash 的插入做了修改呢 (相关说明看这里)... 装好后马上试验, 结果不出所料, 在网页中插入 Flash 的时候自动在站点创建了 Scripts 文件夹, 里面就是 AC_RunActiveContent.js 文件啦 :D
flash 代码:

PLAIN TEXT >> HTML:
  1. <script type="text/javascript">
  2. AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','930','height','560','src','MyFlash','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','MyFlash' ); //end AC code
  3. </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="930" height="560">
  4.   <param name="movie" value="MyFlash.swf" />
  5.   <param name="quality" value="high" />
  6.   <embed src="MyFlash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="930" height="560"></embed>
  7. </object></noscript>

哈哈, 真是方便了很多啊 :D 顺便提示一句, 我们应该了解的:

AC_FL_RunContent 函数参数个数是没有限制的, 但是有规律的, 即第奇数个参数是属性, 第偶数个参数是对应前一个奇数参数的值.
对应 Flash 地址的属性是 movie, 这里需要注意, 后面的值是没有扩展名的, 如果想利用URL传值就直接在后面加?和值, 举例:
AC_FL_RunContent(..., "movie", "MyFlash?cat=home&id=7", ...);

Next Page »