Posted by bianbian on 2008-03-31 22:09
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: Firefox, IE, Mouse, Wheel, 滚轮, 鼠标
滚轮IE和Firefox的代码不一样:
IE是mousewheel事件,Firefox是DOMMouseScroll事件
事件属性,IE是event.wheelDelta,Firefox是event.detail
属性的方向值也不一样,IE向上滚 > 0,Firefox向下滚 > 0
- //滚轮放大或缩小,基于Prototype 1.6
- var scrollfunc = function(event) {
- var direct = 0;
- if (event.wheelDelta) {
- direct = event.wheelDelta > 0 ? 1 : -1;
- } else if (event.detail) {
- direct = event.detail < 0 ? 1 : -1;
- }
- zoom(direct);
- };
- Event.observe(document, 'mousewheel', scrollfunc);
- Event.observe(document, 'DOMMouseScroll', scrollfunc); //firefox
标签:
Firefox,
IE,
Mouse,
Wheel,
滚轮,
鼠标遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | 7 Comments »
Posted by bianbian on 2008-03-26 14:32
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, IDL, IDLgrClipboard, 剪贴板
经过运行剪贴板监视器程序,我确认这是IDL的bug:如果用VC等其他语言调用IDL绘图,IDL并不能通过IDLgrClipboard对象将绘图结果保存到系统剪贴板(而在IDL的编辑器环境下运行,剪贴板是能得到绘图结果的)。
下面是英文描述:
IDLgrClipboard not works in callable mode (I use VC++ to execute IDL procedure to draw some plots, and copy the result to system clipboard). After running a system-clipboard-viewer-tool, I conclude it must be a bug (I tested with IDL6.2, IDL7.0).
oClipbrd = OBJ_NEW(‘IDLgrClipboard’, DIMENSIONS=windowSize)
oClipbrd->Draw, oView
It works well under IDL-workbench, but when call from VC++, everything else goes OK except clipboard is empty.
解决办法:只好制定FILENAME参数,将结果保存到文件:
Finally, I have no choise but to save the drawing to a file, and it works:
oClipbrd->Draw, oView, FILENAME=’tempout.bmp’
标签:
bug,
IDL,
IDLgrClipboard,
剪贴板遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, ENVI & IDL, Technology | No Comments »
Posted by bianbian on 2008-03-25 10:03
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: FY2C, 云图
模仿Google Map(图片切片载入在此平台不需要实现):
支持IE、Firefox等,支持鼠标移动、鼠标双击放大(左键)缩小(右键)、鼠标滚轮放大缩小
云图实时处理和发布(因为在学校内网,实时版本大家不能看到啦)
这里贴下演示地址(只有最后两个时次的图片):FY2C实时云图平台演示
标签:
FY2C,
云图遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, JavaScript, Meteorology, Technology | No Comments »
Posted by bianbian on 2008-03-25 01:57
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: JavaScript, prototype, this
发信人: Net (BBS上没有什么事情是bg不能解决的), 信区: WebDesign
标 题: Re: Javascript问题
发信站: 南京大学小百合站 (Tue Mar 25 01:16:03 2008)
Javascript里的this和其他OO语言不一样
Javascript其实并不适合做OO,其实OO也并不适合Javascript
扯远了。。。。。。
this你就当“执行函数的宿主”理解。因此在一串函数的执行过程中,this不停地在变。
- A = {
- member: "OK",
- method: function () {
- alert(this.member);
- }
- };
- B = A.method;
-
- A.method(); //弹出"OK". A是宿主,this.member == A.member
- B(); //弹出undefined. window(缺省)是宿主,this.member == window.member
为了解决这个问题,很多框架对此进行了包装。
比如Prototype,用bind,实际是动态生成一个function,把宿主作为动态function的执行者,这样对用户来说,this似乎没有变化。
- bind: function() {
- if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
- }
实际只要明白this是执行者的指针,一切都可迎刃而解。
标签:
JavaScript,
prototype,
this遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | No Comments »
Posted by bianbian on 2008-03-25 01:10
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: dblclick, IE, prototype, 右键
IE实在太垃圾了,再鄙视一次。。。鼠标右键双击居然没有。。。。
只好用onmouseup事件模拟一个(基于Prototype 1.6):
- if (Prototype.Browser.IE) {
- mouseCount = 0;
- Event.observe(document, 'mouseup', function(event) {
- if (Event.isRightClick(event)) {
- if (++mouseCount > 1) {
- mouseCount = 0;
- var pxy = Event.pointer(event);
- alert("right mouse double click on: " + pxy.x + ", " + pxy.y);
- } else {
- setTimeout("mouseCount = 0", 1000);
- }
- }
- });
- }
标签:
dblclick,
IE,
prototype,
右键遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | 1 Comment »
Posted by bianbian on 2008-03-21 12:06
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: IDL, MODIFYCT, 调色板
IDL的调色板功能很好很强大,以至于我还没琢磨透到底怎么调。。。。
不过一般都是用自己定义的调色板,就讲讲怎么往IDL里加入自己的调色板:
(加了以后在系统内LOADCT的时候,就能直接读取自定义的调色板,非常方便)
IDL提供了 MODIFYCT 命令用来更改或加入系统的预定义调色板:
MODIFYCT, Itab, Name, R, G, B [, FILE=filename]
Itab是索引值,0-40是系统的,一般都要41开始
Name是命名,32个字符内
R、G、B就是256长度的BYTE(单字节正数)数组
File是文件名,如果不制定就操作默认的(resouce目录的color1.tbl)
实际发现File指定了其他文件名,MODIFYCT会出错。看了源码,发现
MODIFYCT并没有处理文件读取错误(不存在)的异常。(不知道是不是IDL7.0的问题)
IDL也没有公开colortable的文件格式。不过我把MODIFYCT的源码结合color1.tbl
分析了一下,得到IDL的colortable文件格式:
总数 + R 256 + G 256 + B 256 + …. + 32长度名称(在文件末尾)
例(如果有两个表):[2][R..R][G..G][B..B][R..R][G..G][B..B][名称1][名称2]
这样就可以自己输出调色板文件了,不需要用IDL的默认文件(防止多用户冲突)。
之后可以用 LOADCT, 0, FILE=’mytable.tbl’ 动态载入
附C语言输出调色板文件代码:
- FILE *fp = fopen(file, "wb");
- BYTE n = 1;
- fwrite(&n, 1, 1, fp);
- fwrite(m_byteRGB, 1, 256 * 3, fp);
- fprintf(fp, "%-32s", "bianbian Default Table");
- fclose(fp);
标签:
IDL,
MODIFYCT,
调色板遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, ENVI & IDL, Technology | 2 Comments »
Posted by bianbian on 2008-03-17 13:29
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: IDL, row major, 存储, 行优先
IDL的数组在内存中存储还是以行顺序的,只是多维下标引用的时候列为先。即:
A=
[r r r]
[g g g]
[b b b]
在内存中是 rrrgggbbb(和C是一样的!fortran是rgbrgbrgb)
而引用的时候列在前:(C是行在前!)
A[0,0] A[1,0] A[2,0]
A[0,1] A[1,1] A[2,1]
A[0,2] A[1,2] A[2,2]
三维的情况和C也一样(注意,IDL和C唯一的差别就是IDL的下标列在前,然后是行);存储结构一致也就意味着C里的多维数组内存块可以直接丢到IDL里处理。其实我觉得IDL在下标上太小白了,干嘛不和C保持一致?某IDL大牛说:之所以下标在前,是为了更直观的知道X方向上有几个、Y方向上有几个。比如:A[3, 2],X方向有3个,Y方向有2个(2行3列):Is IDL column-major or row-major?
某本书(似乎国内的书都不认真写 – -)说IDL是列顺序的,这是不对的。可以拿三维数据做简单试验(也便于对下标引用理解):
IDL> a=bindgen(3,3,3)
IDL> print,a
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
15 16 17
18 19 20
21 22 23
24 25 26
IDL> print,a[1,0,*]
1
10
19
IDL> print,a[*,1,1]
12 13 14
标签:
IDL,
row major,
存储,
行优先遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, ENVI & IDL, Technology | 1 Comment »
Posted by bianbian on 2008-03-16 18:58
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags:
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn’t
mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng
is taht the frist and lsat ltteer be at the rghit pclae.The rset can be a
total mses and you can sitll raed it wouthit porbelm.
Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the
wrod as a wlohe.
No tag for this post.
相关日志
Posted in Not IT | 1 Comment »
Posted by bianbian on 2008-03-13 10:21
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: debug, gcc, nginx, 编译
默认的nginx编译选项里居然是用debug模式(-g)的(debug模式会插入很多跟踪和ASSERT之类),编译以后一个nginx有好几兆。
去掉nginx的debug模式编译,编译以后只有375K(nginx-0.5.33, gcc4)。
在 auto/cc/gcc,最后几行有:
# debug
CFLAGS=”$CFLAGS -g”
注释掉或删掉这几行,重新编译即可。-g参数用法详见这篇blog:[原]Linux下的c/c++ GDB调试
Nginx uses debug mode (-g) in compiling by default, which result in several MB of it’s size.
After debug disabled, the file size of nginx reduced to 375K (nginx-0.5.33, gcc4).
open auto/cc/gcc, find this at last several lines:
# debug
CFLAGS=”$CFLAGS -g”
delete it, and recompile. More of -g: Linux c/c++ GDB debug
标签:
debug,
gcc,
nginx,
编译遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in C/C++, Linux, Technology | No Comments »
Posted by bianbian on 2008-03-08 20:03
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, framework, JavaScript, prototype, 框架
不知道怎么给prototype提交bug report,就写在这里吧:
其实我没有测试过,只是看prototype源码的时候,觉得是个bug:
对String的原型(prototype)添加toJSON()函数只是转义了引号,未转义”\”:
- if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
- return "'" + escapedString.replace(/'/g, '\\\'') + "'";
如果用户在input里输入\\,转成string应该是”\\\\”,如果没有转义,再写回去的时候就丢了一个\
应该在转义引号前先转义\:
- .replace(/\\/g, '\\\\').replace(/"/g, '\\"')
标签:
bug,
framework,
JavaScript,
prototype,
框架遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | No Comments »
Posted by bianbian on 2008-03-08 18:35
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: IDL, 截图, 测试
IDL的功能非常强大(尤其是画三维图上,等我文章出来再帖过),支持多操作系统。
Grads可以实现的IDL都能实现,IDL能实现的Grads不一定能。
只不过我们系里熟悉Grads的多一些,如果想用IDL,可能自己要多费点力气。
IDL7.0的编辑器基于eclipse,如果写过java的应该非常熟悉这个编辑器。比IDL6自带的编辑器好多了,确实非常方便。
下面是我简单的测试截图(为了图小一点,编辑器拖得比较小):
Splash画面:
|
欢迎画面:
|
编辑器(有语法提示,按F1可在IDE里嵌入帮助,见下图):
|
测试plot(右侧是嵌入的帮助)。中间是plot的默认结果,支持很多参数,效果可以改:
|
标签:
IDL,
截图,
测试遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in ENVI & IDL, Meteorology, Technology | No Comments »
Posted by bianbian on 2008-03-07 16:14
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: port, SSH, 端口转发
试过就知道,贴相关的几个网址:
http://staff.washington.edu/corey/fw/ssh-port-forwarding.html
http://sshwindows.sourceforge.net/
http://www.inet.no/dante/
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
标签:
port,
SSH,
端口转发遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Technology | 2 Comments »
Posted by bianbian on 2008-02-29 12:56
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: BBS, JavaScript, 关键字
随着脚本越来越大,原有的funtion式已经不利于维护。
正好凑着有兴致,一个通宵把Net库完善了一下,Net.Dom, Net.Event, Net.Drag, Net.Dialog, Net.Ajax等,应该能满足日常需要。
另外把BBS的脚本分类到Net.BBS, Net.BBS.Html等命名空间下。
现在pack了以后约50K,以后会更大一点。
有兴趣的可以提意见:http://bbs.nju.edu.cn/jssrc/bbs.full.js
另外谢谢oznyang@Lilybbs指出,Javascript关键字在IE里要小心,其实IE也该聪明一点,很显然是个属性嘛:
- addComm: function (id) {
- var url = Net.Util.toQuery("pntcomm", {board: G.c.Brd, "id": id, do: "add"});
- //上句do是关键字,在IE里会报错“缺少标识符、字符串或数字”,应该"do"引起来
- }
人累了确实会变笨,这么低级的错误debug了我几个小时。哎。。。更关键的是IE这个SX报错不准确,再度鄙视
标签:
BBS,
JavaScript,
关键字遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in JavaScript, Technology | 4 Comments »
Posted by bianbian on 2008-02-27 04:54
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: bug, PAL, 仙剑
被翅膀跟尾巴挡住,绝对挂了:

要是存档在一万年前,你就哭吧。。。
标签:
bug,
PAL,
仙剑遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Entertainment, Not IT | 4 Comments »
Posted by bianbian on 2008-02-23 16:49
if ($bianbianCount++ < 2) { ?>
}?>
本文Tags: 征途, 网游
我对网游没兴趣,不过今天偶然看到一篇好文,推荐如下:
首先把精彩评论转载:
这绝对不是所谓的“大家都是成年人,没有人逼你玩,也没有人逼你花钱。”这么简单的问题。而是一件事/一个游戏的价值取向问题。如果一个游戏本身的价值取向有争议,就应该被讨论,如果价值取向被证明是错误的,就应该被限制。
例如,两个成年人,一个愿意被另一个杀死然后被吃掉,另一个也同意杀死他并且吃掉他,这样的双方都同意的行为就应该存在吗?当然不。应该这样的行为的价值取向是错误的,是反人性的。
我希望游戏的开发者要适度考虑自己的社会责任,要开发价值取向正确的游戏,有助于游戏玩家适度的娱乐,而不是只会挑起仇恨,使玩家沉溺其中,无法自拔。
魔和神的区别是,魔会利用人的弱点,让人仇视和自相残杀。而神会告诉人人性的弱点,要人类学会克制自己的弱点,要学会宽容,要学会有节制的竞争和学会合作。
原文地址:网游《征途》:金钱铸就的通往奴役之路
编者按:
在一款同时在线人数超过百万、全部玩家加起来可以组成一个超级城市的网络游戏中,它的游戏精神是指向乐趣,还是指向权力和金钱?它的社会规则是新世界的开放自由,还是率土之滨莫非王臣?这不只是对某一款游戏的追问,甚至也不只是对韩式网游的价值观的追问,而是对人与游戏、人与人的关系的追问。虚拟世界是现实世界的一部分,也有着人们必须捍卫的准则。
在当下中国最火的一款网络游戏中,玩家们遭遇到一个“系统”,它正在施行一种充满诱惑力的统治。这个“系统”隐匿无踪,却无处不在。它是一位虚拟却真实的垄断者。“如果没有我的允许,这个国家的一片叶子也不能动。”这是智利前独裁者皮诺切特的声音,悄然回响在这个虚拟世界之中。
…
标签:
征途,
网游遵守创作共用协议,转载请链接形式注明来自
http://bianbian.org 做人要厚道
相关日志
Posted in Other, Technology | 1 Comment »