ARP防火墙 v4.1.1 单机版

你的网络是否经常掉线,是否经常发生IP冲突?
     你是否担心通讯数据受到监控(如MSN、QQ、EMAIL) 
     你的网络速度是否受到网管软件限制(如聚生网管、P2P终结者) 
     你是否深受各种ARP攻击软件之苦(如网络执法官、网络剪刀手、局域网终结者) 
     以上各种问题的根源都是ARP欺骗(ARP攻击)。在没有ARP欺骗之前,数据流向是这样的:网关<->本机。ARP欺骗之后,数据流向是这样的:网关<->攻击者(“网管”)<->本机,本机与网关之间的所有通讯数据都将流经攻击者(“网管”),所以“任人宰割”就在所难免了。  
     ARP防火墙通过在系统内核层拦截虚假ARP数据包以及主动通告网关本机正确的MAC地址,可以保障数据流向正确,不经过第三者,从而保证通讯数据安全、保证网络畅通、保证通讯数据不受第三者控制,从而完美的解决上述所有问题。  
     ARP防火墙六大功能
     * 拦截外部攻击。在系统内核层拦截外部虚假ARP数据包,保障系统不受ARP欺骗、ARP攻击影响,保持网络畅通及通讯安全;
     * 拦截IP冲突。在系统内核层拦截IP冲突数据包,保障系统不受IP冲突攻击的影响;
     * 拦截外对攻击。在系统内核层拦截本机对外的ARP攻击数据包,以减少感染恶意程序后对外攻击给用户带来的麻烦;
     * 监测ARP缓存。自动监测本机ARP缓存表,如发现网关MAC地址被恶意程序篡改,将报警并自动修复,以保持网络畅通及通讯安全;
     * 主动防御。主动与网关保持通讯,通告网关正确的MAC地址,以保持网络畅通及通讯安全;
     * 锁定攻击者。发现攻击行为后,自动快速锁定攻击者IP地址;


antiarp4.1.1.part1.rar

antiarp4.1.1.part2.rar

antiarp4.1.1.part3.rar

antiarp4.1.1.part4.rar

antiarp4.1.1.part5.rar

Posted in 杂七杂八 at June 30, 2007. by 傻猫 .    Views: 2854    No Comments

《宝葫芦的秘密》

《宝葫芦的秘密》

◆ 影片基本资料
英文片名:The Secret of the Magic Gourd
类    型:动画/励志
联合摄制:中国电影集团公司 华特迪士尼影片公司 先涛电影娱乐有限公司
发    行:中国电影集团公司
上映时间:2007年6月29日
官方网站:www.hulumimi.com.cn

由中国电影集团公司、先涛电影娱乐与华特迪士尼影片公司联合摄制的电影《宝葫芦的秘密》,自宣布开机以来颇受各方关注。历经一年多的拍摄及后期制作后,三方正式确定这部影片将在6月29日,即2007年暑期第一档在全国影院盛大上映。

电影《宝葫芦的秘密》改编自著名儿童文学家张天翼的同名经典作品。这部影片传承了华特迪士尼公司的优良电影传统,结合了享誉国际的电影特效团队先涛数码公司和纵横全国的中影集团的发行网络---使人们有理由相信三强联手将为中国电影观众带来一部暑期精品巨作。

五十年前,家喻户晓的黑白影片《宝葫芦的秘密》曾经陪伴了一代人的成长,剧中小主人公王葆以及他的好朋友郑小登、苏鸣凤等人以鲜明的个性给观众留下了深刻的印象。

故事里小主人公的很多想法,会让全世界的青少年充满兴趣,通过现代的高科技手段把历险过程表现出来,更是一件很有趣的事情。《宝葫芦的秘密》是谁都能看懂的故事,这个故事里有家庭的温情、朋友间的友谊以及主人公自我发现的过程,可以说是全世界共通的主题。

新版《宝葫芦的秘密》的制作班底十分强大——中国家喻户晓的明星陈佩斯为宝葫芦配音;当红歌手梁咏琪扮演王葆的班主任刘老师,这个角色之前是由上海老牌演员吴云芳担任的。

和黑白版“宝葫芦”不同的是,这次的葫芦不再是一个真正的葫芦,而是一个十分可爱的卡通形象。它的眼睛很大,嘴巴长在肚子上,笑的时候会露出洁白的牙齿。危急时刻,它还会突然长出一只大手把石头接住。

在首度曝光的预告片中,宝葫芦得形象经过尖端数字特效的创造生动地跃上大银幕,活泼可爱、动感十足。小主人公偶遇宝葫芦,从此生活天翻地覆。宝葫芦带领王葆进入不可思议的历险世界,从古时代的恐龙到外太空的救援,可以说是飞天遁地、无所不能。短短的2分钟的预告片精彩好看,幽默搞笑的情节片段目不暇接,可见电影全片必将有更多意想不到的精彩内容。

该片的主题曲“一人一梦”由去年扬威柏林国际电影节的资深音乐人金培达谱写;极富盛名的作词家陈少琪,从总导演朱家欣先生的意念中取得灵感,创作出动听的歌曲“一人一梦”。由于这是迪士尼集团的首部中国合拍片的主题曲,迪士尼高层十分看重主唱人是否能延续迪士尼电影主题曲多年来流行全球、脍炙人口的传统,在经过长达半年的慎重筛选后,片方最终确定形象健康靓丽的张含韵担此重任。


◆ 故事 葫芦里藏着什么大秘密?
小学生王葆是一个天真活泼、富于幻想的少年。如果在学习上遇到困难,或在课余生活中碰到不顺利的时候,他总会幻想能有一个神奇的宝贝帮他实现目标。一天,王葆在钓鱼的时候偶遇传说中能帮人实现愿望的宝葫芦。他想要什么,宝葫芦就能信手拈来。宝葫芦帮王葆钓到鱼、做成高级的模型、完成作业,真是要什么有什么,想什么就成什么。宝葫芦还能变成各种形状,想坐飞机的话,它就能立刻变成葫芦飞机带着王葆翱翔天际。
王葆大喜过望,有了这个宝葫芦后,他在学校的表现突飞猛进,让同学们惊诧不小。宝葫芦更帮助他在泳池中大显神威,使他轻易获得了参加校队的机会。 生活仿佛变得非常完美……
可是,王葆逐渐发现宝葫芦做事只懂盲目服从,不分青红皂白,因此屡令王葆哭笑不得,最后,更令王葆在数学考试中铸成大错!面对即将到来的校际游泳大赛,王葆顿时进退两难:是继续依靠宝葫芦为他创造奇迹,还是相信自己能够靠自己的努力改变命运?


◆ 关于张天翼及其原著
电影《宝葫芦的秘密》是根据张天翼先生的同名童话小说改编而成。
张天翼 (1906-1985) 是中国著名现代小说家和儿童文学家。他在三、四十年代创作的小说作品在中国现代文学史上具有重要的地位和深远的影响。建国以后,张天翼先生曾任中国最具影响的文学期刊《人民文学》的主编,并曾是中国作家协会的负责人之一。
张天翼先生以《宝葫芦的秘密》为代表的童话作品,被认为是中国现代童话的奠基之作。他的创作不仅为中国千百万青少年所喜爱,还先后被翻译成英、俄、法、德、日、西班牙、朝鲜、越南等多国文字出版海外,深受欢迎,被誉为“中国的安徒生”。
《宝葫芦的秘密》是张天翼先生的最后一部长篇童话作品,也是他儿童文学创作的高峰之作。作品创作于五十年代,1958年3月由中国少年儿童出版社首次出版。作为一部带有浪漫梦幻色彩的作品,小说一问世就受到了广大青少年读者的喜爱,并因其积极、健康的教育意义而得到了家长、教育工作者和成人读者的推崇,成为当时艺术性思想性完美结合的文学读物而持久热销。
从1958年到1966年期间,《宝葫芦的秘密》原版作品一再重印、再版,各种改编本、图画本、注音读本、简写本层出不穷,累计印量数以百万。在当时的情况下,一本好书要经过很多人的相互传阅,所以《宝葫芦的秘密》的读者无以计数,宝葫芦的故事和它的思想主题整整影响了几代人。
好书的生命在不断延续。《宝葫芦的秘密》这样的经典作品真正成为了中国文学宝库中的“传世之作”。


◆ 导演的话
“数十年来,《宝葫芦的秘密》一直是中国儿童最喜爱的故事之一。我有幸能获得原作者张天翼先生后人的信任,把如此奇妙的故事搬上银幕;同时亦感谢中国电影集团及华特迪士尼公司的合作,将这个梦想变成现实。《宝葫芦的秘密》全新的电影版经过长达两年的制作,即将与各位观众见面。
为了适应现代观众的观影需求,我们也将影片现代化。全片利用最尖端的电影技术摄制,但同时也保留了原著中的精神理念。中国实在有太多精彩的儿童故事,但能改编成电影的始终不多。我希望《宝葫芦的秘密》可以启发中国的儿童追求自己的梦想,发现自己的潜能,并与全球的儿童一起分享这个故事。”
——朱家欣(总监制/导演)
朱家欣——
朱家欣先生是先涛数码企画有限公司的创办人及主席,被誉为亚洲计算机动画、电影数码特技及后期制作的先驱。
朱先生于1999年被国际性杂志《商业周刊》(Business Week) 选为该年度“亚洲之星”之一;于2000年获《南华早报》颁发的“商业成就奖”;于2001年香港特别行政区政府颁授铜紫荆星章,以表扬其对香港演艺科技的贡献;2002年,他又被《星岛日报》誉为香港文化娱乐方面的“杰出领袖”。


“记得初学动画这个英文词“Animate”,意思是“给予生命”。我觉得这个词很有意思,把它铭记于心。动画不是动起来这么简单,而是赋予生命。宝葫芦这个角色,经过我们公司很多动画师的努力,才能把一只葫芦变成会演戏的生命。我时常强调一个动画人物的生命感,就像演员一样要有独特的演法。我会经常离开座位,走到动画师面前扮演宝葫芦的动作与眼神。我自己也逐渐变成一只宝葫芦了!
此外,我很高兴能与一群聪明的小演员合作。他们都是看动漫长大的,所以在拍摄时非常明白我们的需要。他们可爱的演技也令搭戏的宝葫芦更显生动。”
——钟智行(导演)
钟智行——
钟智行是香港电影业最有名的视觉特效导演之一,拥有超过二十年的动画设计及制作经验。钟智行于1995年加入先涛,于1998年为卖座巨片《中华英雄》出任特效总监,并荣获金马奖的最佳视觉特效的殊荣,证明了他在电影方面的卓越成就。
作为先涛计算机特效部门主管,钟智行负责管理这所拥有尖端科技的制作室及150名动画人员,并制作了一系列的得奖作品,包括横扫票房纪录的周星驰电影《功夫》。钟智行更凭此片先后夺得香港电影金像奖及金马奖的最佳视觉特效奖。他最近亦凭导演张艺谋的新作《满城尽带黄金甲》而再获第26届香港电影金像奖最佳视觉效果奖的提名。


◆ 角色档案
※ 爱幻想的小学生王葆
——王葆是一位小学生,爱幻想,希望不费吹灰之力就出人头地。他在校无心读书,功课和考试成绩都跟不上,常被同学笑话,令王葆心怀不满。
在钓鱼时,王葆偶遇传说中能实现任何愿望的宝葫芦,想要甚么都能随手拈来,令他既惊且喜。有了这种新法力后,他在学校的表现从此突飞猛进,生活彷佛变得十分完美。但后来,王葆却逐渐发现宝葫芦也给他带来了许多意想不到的烦恼。在他哭笑不得之余,也明白了许多道理。
——朱祺隆 饰 王葆
朱祺隆小小年纪已拥有丰富的演出经验,曾拍摄不少中国的著名广告。电影方面,最为人熟悉的是在国际巨星李连杰主演的《霍元甲》中饰演霍元甲的童年好友农劲荪。
电影作品:2007《星光大道》、2006《霍元甲》

※ 活泼可爱的宝葫芦
——宝葫芦是所有儿童都渴望遇见的童话人物,因为只要成为了宝葫芦的主人,宝葫芦就可以为他实现任何愿望,任何难题自然迎刃而解,令主人安枕无忧。但唯一的条件是主人不能跟任何人说起宝葫芦的存在。
宝葫芦神通广大,不但能变出任何东西,还可以找来可爱的葫芦飞机载着主人翱翔天际。他虽然热心为主人服务,但却完全不懂是非道理,结果总是越帮越忙,越忙越乱,令人苦不堪言。
——陈佩斯 配音 宝葫芦
陈佩斯是一位多才多艺的演员,现为中国广播艺术团一级演员。他创作的喜剧小品深受观众欢迎,经常在中央电视台演出。
1988年,陈佩斯凭《京都球侠》荣获第11届电影百花奖最佳男配角;1984年再凭《夕照街》获金鸡奖最佳男主角提名。他独特的声音广为人熟悉,因此曾为多部动画电影配音,包括《超人总动员》中的女服装师、《花木兰》里的木须龙、《宝莲灯》的孙悟空等等。
陈佩斯现为中国电影家协会理事。他于1995年被广播电影电视部选为“1978-1988年度最有影响的中国影星”,成就有目共睹。
电影作品
2005 《超人总动员》(配音)
1999 《宝莲灯》(配音)
1998 《花木兰》(配音)《好汉三条半》
1995 《太后吉祥》
1993 《孝子贤孙侍候着》《编外丈夫》
1992 《赚它一千万》《临时爸爸》
1991 《爷俩开歌厅》
1990 《父子老爷车》
1988 《傻冒经理》
1987 《京都球侠》

※ 和蔼可亲的刘老师
——刘老师是王葆的数学老师。她热爱教学工作,赏罚分明,对学生孜孜不倦,希望他们牢记“天上没有掉馅饼的事”,凡事都要凭自己的努力。王葆虽然最怕数学,上课也不专心,但刘老师依然非常爱护他。
——梁咏琪  饰 刘老师
梁咏琪是红遍大中华的歌影偶像,在电影、唱歌与广告方面多元发展,均得到优异成绩。
1996年,梁咏琪凭尔冬升导演的《烈火战车》获第15届香港电影金像奖最佳新人奖提名;其后于张艾嘉执导的《心动》演出大获好评,先后在香港电影金像奖、金紫荆奖及金马奖三获“最佳女主角奖”提名;2001年再凭《爱与诚》获第19届香港电影金像奖最佳女配角奖提名;2003年出演由名画家几米作品改编的《向左走,向右走》,凭主唱电影主题曲而荣获第43届金马奖“最佳原创电影歌曲”;2001年她与中国著名演员姜武及夏雨主演影片《我的兄弟姐妹》,迅即红遍全国。
梁咏琪于2003年获选香港“十大杰出青年”,表扬她对本地演艺界的贡献。
电影作品
2006 《春田花花同学会》
2004 《恋情告急》
2003 《向左走,向右走》
2001 《我的兄弟姐妹》
2000 《爱与诚》《蓝烟火》
1999 《心动》《失业皇帝》
1998 《龙在江湖》《杀手之王》
1997 《赌神三之少年赌神》《爱上百分百英雄》
1996 《百分百感觉》《飞虎》
1995 《烈火战车》


◆ 关于先涛数码
先涛数码企画有限公司在电影及商业广告创作上屡获国际殊荣,在视觉特技制作上的水平毋庸置疑。在电影方面,先涛曾与香港嘉禾娱乐联合出品由漫画改编的《风云》及《中华英雄》,开创了数码影像技术上的先河,票房更分别达港币4100万及2300万元。此外,先涛亦为卖座巨片《少林足球》及《功夫》制作视觉特技,并分别荣获第21届及24届香港电影金像奖最佳视觉效果的殊荣。先涛曾担任中国顶尖导演张艺谋的新作《满城尽带黄金甲》的视觉特技制作。
先涛历年荣获多项海外殊荣,包括凭《风云》、《中华英雄》、《少林足球》、《见鬼》及《功夫》五度荣获金马奖最佳视觉特效,及凭《人间有情》荣获最佳视听科技奖。此外,亦凭美国卖座影片《标杀令》获得英国电影学会电影奖最佳特别视觉效果提名,成为获得此项提名的首家亚洲公司。


◆ 其他创作人员介绍

奚 仲 文  美术总监
奚仲文是亚洲电影界首屈一指的美术总监及服装指导。他从影多年来屡获殊荣,最近凭《满城尽带黄金甲》获第79届奥斯卡金像奖“最佳服装设计奖”提名,并获得美国电影业服装设计公会“历史类最佳服装设计奖”,备受业界推崇。
奚仲文是香港电影金像奖及金马奖的常客:《倩女幽魂》、《甜蜜蜜》及《如果?爱》令他三获香港电影金像奖的“最佳美术指导”;此外,他还因影片《千机变》、《如果?爱》及《满城尽带黄金甲》同样三获“最佳服装造型设计奖”;他还因《金鸡》同时赢得第40届金马奖的“最佳美术设计”及“最佳造型设计”两项大奖。
多才多艺的奚仲文曾担当导演一职,作品有金城武及陈慧琳主演的《安娜玛德莲娜》、郭富城与陈慧琳主演的《小亲亲》,票房、口碑双双报捷。
电影作品
导演
2000《小亲亲》
1998《安娜马德莲娜》
美术总监
2007《门徒》
2005《如果?爱》
2004《三更2之饺子》
2003《金鸡2》
2002《金鸡》
2000《东京攻略》
1996《甜蜜蜜》
服装指导
2006《满城尽带黄金甲》
2004《千机变》
2002《夕阳天使》
1999《心动》
美术指导
2007《生日快乐》
1999《玻璃樽》

金 培 达  音乐
金培达是香港多元化音乐人,受教于旧金山州立大学及Dick Grove音乐学校。他在作曲、编曲、唱片监制及电影及广告配乐等方面均成绩卓越,音乐风格独特。
他在电影配乐方面屡获殊荣,最近凭《伊莎贝拉》荣获第56届柏林电影节“最佳电影配乐银熊奖”,成为首位夺得该奖的香港作曲家,为华语电影配乐写下光辉一页。
金培达先后凭《星愿》、《忘不了》及《伊莎贝拉》三度荣获香港电影金像奖的“最佳原创音乐”;以《紫雨风暴》赢得第36届金马奖的“最佳原创音乐奖”;他替《星愿》创作的主题曲夺得第19届香港电影金像奖“最佳原创电影歌曲奖”。
电影配乐作品
2007 《门徒》
2006 《诡丝》《伊莎贝拉》
2005 《如果?爱》《千杯不醉》《童梦奇缘》《早熟》
2004 《精武家庭》《旺角黑夜》
2003 《金鸡 2》《寻找周杰伦》《忘不了》
2002 《金鸡》《三更之回家》《异度空间》
2001 《特务迷城》
2000 《特警新人类2》《夏日么么茶》《东京攻略》


主海报.jpg

bamboo40x60 poster_a.jpg

000107.jpg

0612_still_posea_comj .jpg

000032.jpg

000101.jpg

000117.jpg

000291.jpg

000182.jpg

Posted in 休闲娱乐 at June 29, 2007. by 傻猫 .    Views: 3513    No Comments

【多图】《变形金刚》影片详细资料

《变形金刚》影片基本资料

◆ 内容提要
数百年来,两种机器外星人种族一直在进行一场终结大战,他们是代表正义力量的汽车人和代表邪恶势力的霸天虎。这场大战即将降临地球,要想毁灭霸天虎的进攻就必须阻止霸天虎取得终极能量——火种源。而这个重任落到了一个名叫萨姆的年轻人身上。山姆是一个平凡的美国青年,每天脑子里想的只是学校、同学、朋友、车子和女友。他并不知道他是拯救地球的最后一个机会。他和女友发现他们已经被卷入了汽车人与霸天虎的拉锯战之中。当正邪双方在地球上展开这场足以毁灭全世界的大战时,萨姆终于了解到魏瓦奇家族世代相传的座右铭——“没有牺牲,就没有胜利!”这句话的真谛。


英文片名:Transformers
国 别:美国
类 型:科幻/动作
声 制:SRD/DTS
语 别:中文译制版/英文字幕版
出 品:美国派拉蒙影业公司
引 进:中国电影集团公司
联合发行:中国电影集团公司 华夏电影发行有限责任公司
译 制: 中国电影集团公司北京电影制片厂
洗 印:北京电影洗印录像技术厂
美国首映:2007年7月4日
国内首映:2007年7月11日
全球官网:www.transformersmovie.com

主创名单
故事原创: 约翰•罗杰斯
编 剧: 埃里克斯•库兹曼、罗伯特•奥西
制 片 人: 汤姆•迪桑特、唐•墨菲、伊恩•布赖斯
执行制片人:斯蒂文•斯皮尔伯格、布莱恩•歌德诺、马克•瓦伦迪恩
导 演: 迈克尔•贝
摄 影: 米歇尔•阿曼森
剪 辑: 保罗•罗贝尔
配 乐: 斯蒂夫•杰博朗斯基

◆ 四大看点

1、 名气大:恐怕很少有人不知道“变形金刚”。流行于上世纪八十年代的《变形金刚》以其多变的造型,极富创造力的想象通过电视剧、动漫、玩具等各个领域深深地影响了几代人。《变形金刚》在世界各地遭受到的爆炸性的欢迎,让《变形金刚》真人电影版还未出世,就已得到全面瞩目!

2、 阵容大:斯皮尔伯格制片 + 迈克尔贝导演
斯皮尔伯格的名字我们并不陌生。《辛德勒的名单》为他赢得了第66届奥斯卡金像奖,《拯救大兵瑞恩》、《失落的世界》、《世界大战》等鸿篇巨制让他名利双收;也许,提起迈克尔曼,中国观众不甚了了。但提起他执导的电影却是我们再熟悉不过的了:《珍珠港》、《绝地战警》、《勇闯夺命岛》等等动作大片均出自迈克尔贝之手。

3、 制作大:真人实景+CG特效
派拉蒙公司重金出手,影片CG效果叹为观止。赋予这些钢筋铁骨的大块头以生命的非“工业光魔(ILM)“National Medal of Technology””莫属。曾经打造《珍珠港》、《龙骑士》等多部影片的工业光魔制作出影片中十余场大战自然不在话下。

4、 场面大:机器人,变形!“擎天柱”、“威震天”、 “大黄蜂”等经典角色纷纷亮相;机器人与机器人的较量、机器人与人类之间的对决;12名金刚战士、近10位人类主角、14场精彩大战,浩大的场面、惊险刺激的动作令人目不暇接!

◆ [机器战士]——那些熟悉的老朋友汽车人——变形金刚中代表正义的一方。汽车人追求和平、捍卫正义。擎天柱OPTIMUS PRIME  变形——18轮大卡车(18-WHEELERTRACTOR)擎天柱是汽车人的首领。它的胸腔装了一种称为“领导母体”的装置。领导母体是每位正义大帝代代相传的“王冠”。许多年前,它挑选擎天柱成为汽车人的首领,而擎天柱也谦恭地接受了。这个决定改变了他的一生,让他从一个赛博坦星球平凡的机器人成为全宇宙拥有最强大力量的正义部队——汽车人变形金刚。当擎天柱率领汽车人和敌人展开大战时,他的口号是“汽车人,变形!出发!”

大黄蜂BUMBLEBEE 变形——经典CAMARO跑车(CLASSIC CAMARO)
大黄蜂是一个很有用的汽车人间谍。当方舟号坠落在地球上的时候,大黄蜂也在里面,并将和人类军团展开一场大战。他在《变形金刚》一片中是山姆魏瓦奇的第一辆车——经典的CAMARO跑车。大黄蜂是汽车人家族中的小老弟,专门执行勘察任务。

汽车人爵士AUTOBOT JAZZ 变形——庞帝克硬顶敞篷跑车Solstice(PONTIAC SOLSTICE)汽车人爵士一直都是《变形金刚》系列最受欢迎的角色之一。就像摇滚乐手一样,他的生活态度放荡不羁。他的座右铭是:“如果做什么都不能耍帅耍酷,那就干脆不要做。”他大胆、聪明,几近完美的记忆力可以记录战争过程;他还拥有融合动力引擎,足以让他在汽车模式时达到低于光速的

超高速度。汽车人爵士跟随擎天柱登上方舟号,和其它的汽车人执行寻找新世界的任务,他们受到威震天的星际战舰“死敌号”的攻击坠落在地球。方舟号上的汽车人受到紧急保护陷入沉睡状态,

直到1984年一场火山爆发唤醒方舟号的计算机,它立刻修复方舟号上的每一个变形金刚,并把汽车人爵士改装成一辆汽车。汽车人爵士聪明冷静、反应敏锐,是特种部队的队长。他通常亲自出马执行最危险的任务,并不是因为他过于自大,而是因为他在执行任务时,能保持头脑冷静。汽车人爵士适应环境的能力极强,使他成为擎天柱最信任的左右手。

汽车人救护车AUTOBOT RATCHET 变形——H2悍马越野车(HUMMER H2)
汽车人救护车担任汽车人部队的医生。他在《变形金刚》一片中的车款是H2悍马越野车,并被改装成一辆救护车。他是医,生同时也是战士,他的勇气和忠诚一次又一次被肯定。

铁皮IRONHIDE 变形——GMC TopKick 6500型货车(GMC TOPKICK 6500 Pickup Truck)铁皮是个硬汉,拥有牛仔般豪迈的个性,什么地方都去过。他身经百战,通常负责保护重要人物,也是擎天柱的贴身保镳。他的口头禅是:“再高的科技也取代不了胆量。”虽然铁皮面恶心善,但是打起仗来毫不手软。他最犀利的武器就是射出各种致命液体,从超低温的氮直到超高温的铅都难不倒他。他拥有一个结合了声纳、雷达和无线电波的感应器。虽然他是动作最缓慢的汽车人,但是他拥有金刚不坏之身,他的外壳是用含有辐射碳纤维的三鏙合金钢打造,足以抵挡任何武器的攻击,是最坚固的汽车人。


霸天虎——变形金刚机器人中邪恶的一方。霸天虎想要称霸宇宙并取得绝对权力,为了达到目的,他们会铲除一切障碍。霸天虎变形金刚就像一群帮派份子,每一个成员都只为自己着想。

威震天  变形——外星战机
威震天是霸天虎变形金刚心狠手辣的首领,是《变形金刚》系列中的头号大坏蛋。他的载具通常是外星战机或坦克车。威震天是一个百变的变形金刚,身体构造可以随意变形成任何东西,但是他最常见的原状是一把枪。战争最后把变形金刚居住的赛博坦星球的能量耗尽,汽车人和霸天虎不得不寻找新的星球和新的能量源。威震天和他的部队乘坐星际战舰追击汽车人的方舟号,并且成功进攻方舟号,方舟号因此坠落在史前的地球。

红蜘蛛STARSCREAM 洛克希德马丁(洛马)F-22猛禽战斗机(LOCKHEED MARTIN® F-22® RAPTOR® JET) 红蜘蛛是威震天的左右手。他是一个手段毒辣、老奸巨猾的角色,而且野心勃勃,毫不掩饰自己想要取代威震天的野心。红蜘蛛向方舟号射出的最后一击,无意间启动了沉睡的汽车人。

吵闹(轰天雷)BRAWL 变形 坦克车(TANK)吵闹是威震天忠心耿耿的打手。他的载具是一辆坦克车,炮塔共有三支炮管。他满嘴胡言乱语,唯一说的真话就是他的战斗能力。吵闹的脾气很坏,一但被激怒就会在战斗时抓狂,吵闹唯一的生存意义就是毁灭。从他有记忆以来,他被输入的计算机程序就充满了愤怒。对他来说,最美好的就是他发射的炮弹穿过汽车人外壳的爆炸声。吵闹拥有许多武器,包括一支格林机关枪、许多利爪和双飞弹发射器。

路障BARRICADE 变形:警车,福特野马--Saleen S281跑车POLICE CAR, SALEEN® S281™路障是吵闹的搭档,是霸天虎的狩猎者,专门使用他的人类特性引诱对手。他是个间谍,经常乔装变形成政府的代表隐藏在人群中。他的手连接在车轮上面,当他变形成车辆模式,就可以从引擎盖伸出尖刺或是枪炮。

袭击(毁灭者)BONECRUSHER®  变形:蛮牛除雷抗炸装甲车FORCE PROTECTION BUFFALO™ MPCV™袭击是一种工兵,也是威震天邪恶军团的成员。袭击与天俱来的专长就是毁灭与爆破,他会变形成军事装甲车。

霸天虎迷乱DECEPTICON FRENZY™  变形:手提音响BOOM BOX霸天虎迷乱是霸天虎中体积最小的变形金刚,他通常都变形成家用电器(比如手提音响)借以监视人类。他拥有多种变型模式,其中一种是汽车CD播放机,另外还有全新预告片中出现的音响设备。

旋风BLACKOUT® (Formerly VORTEX)  变形:西科斯基MH-53重型运输直升机SIKORSKY MH-53 JM PAVE LOW™ III/IV Helicopter旋风可以变形为西科斯基MH-53重型运输直升机。旋风是体积最大的霸天虎,专门承担运载工作,他还擅于利用电磁冲脉破坏敌人的电子装备。据说旋风有一个笼子可以装毒蝎,这也是音波和他们连结的地方。旋风在影片《变形金刚》中和他的搭档毒蝎攻击美军的特种部队指挥基地。

毒蝎,机械蝎子SKORPONOK®, Mechanical Scorpion  变形:共生体(旋风派出的小型机器人)SYMBIOTE (smaller robotdeployed by BLACKOUT)
毒蝎是可以潜伏在任何环境的载具。毒蝎是旋风派出的小型机器人,可以发射火箭炮。

◆ 《变形金刚》大事年表
变形金刚由孩之宝公司于1984年引进美国,这一举动立刻为动作卡通人物这一玩具类型带来了革命性的变化,而这类玩具其实是孩之宝公司20年前发明的。
变形金刚开创了动作卡通类玩具的新纪元,这是一种全新的玩玩具的方式,孩子们可以变换玩具的形态(最初是把机器人变形为汽车)。就像那首著名的主题歌里所唱道的:“变形金刚,超出你想象。”
但那只是个开头。孩之宝公司又开发出了更多令人着迷的人物、引人入胜的故事情节,以及壮观的打斗场面,这一切使变形金刚这一品牌在现代流行文化中占据了傲人的地位。在过去的20多年中,变形金刚品牌已经成为玩具历史上最成功的案例,围绕变形金刚品牌已经出现了大量电视剧集、漫画图书,还有一部动画电影。
今天,变形金刚已经拥有了一大批跨越各年龄段的忠诚“粉丝”,“擎天柱”和“威震天”吸引了新一代的追随者。即将上映的首部实景动作片《变形金刚》将会把变形金刚的品牌推向一个新的巅峰。


下面是变形金刚的大事年表:
1984年之前
● 孩之宝公司获取了诸多变形机器人品牌,并将它们整合在变形金刚品牌旗下。日本Takara玩具制造公司看准了变形金刚品牌的潜力,成为孩之宝公司变形金刚新产品开发方面的首要合作伙伴。这一成功的联盟一直延续了20多年。

1984年● 变形金刚玩具产品线由孩之宝公司首次投入市场,同时发布了那首经典的主题歌《汽车人战记》,全美国的孩子都在哼唱。首次上市的21款玩具包括擎天柱、威震天、大黄蜂、爵士、红蜘蛛等。

这是后来被称为第一代变形金刚的开端。
● 变形金刚电视动画片首次放映,动画片副标题为“超出你想象”。
● 惊奇漫画公司出版《变形金刚》系列漫画书。

1985年
孩之宝玩具公司推出变形金刚第二套系列玩具,特别介绍恐龙金刚和全新变形金刚(这是大型机器组合玩具的第一个系列)。
孩之宝玩具公司推出两款装电池的电动变形金刚玩具:雷射眼具备闪灯和音效;大力金刚庞龙则可以行走,坦克车炮塔上的炮管可以旋转而且会发亮。

1986年
动画片《变形金刚》在美国上映,片中出现许多新的玩具形象;同时推出摇滚乐原声带。․孩之宝玩具公司分别介绍汽车人和霸天虎变形金刚的基地城市:汽车人的基地城市是曼多特;霸天虎的基地城市则是铁甲龙。

1987年
变形金刚玩具系列推出新角色:头领战士和靶子战士。
孩之宝介绍巨无霸福特,这是当时体积最大的变形金刚玩具,高达2英呎。

1988年
孩之宝推出隐者战士布利天,这是一些能够藏在外壳里面的机器人;另外又推出迷你战士,是一写非常小的车辆玩具,可以变形成机器人。
孩之宝玩具公司推出全新变形金刚玩具,包括拥有全新设备的擎天柱,其中包括“隐者战士”的新技术,也就是说在一个小型机器人里面,藏有可以开启大型豪华版的变形金刚特殊功能。

1989年
孩之宝玩具公司再度推出变形金刚忠实玩家最喜爱的角色:大黄蜂、爵士、钢锁?和红蜘蛛。

1990年
孩之宝推出变形金刚整套玩具。这套玩具包括经典角色以及不能变形的全新角色,但是这些全新角色附有可以变形的车辆和搭档。

1992年
孩之宝玩具公司在年底推出“变形金刚:第二代”。所有的玩具都有全新的颜色版本,包括爵士、横炮、炼狱、红蜘蛛、喷气机、擎天柱、恐龙金刚和建筑金刚。․第二代卡通影集播出,其中运用了全新的计算机动画技术。

1993年
孩之宝玩具公司推出全新的变形功能,例如车子可以变色,可以喷水的武器,以及被水喷到就会变色的零件等,造成所谓的“战斗损坏”。
孩之宝推出全新的威震天玩具,它的炮塔增加了全新武器以及电子音效。
在推出全新的《变形金刚》漫画之前,威震天首先出现在《G.I. JOE大英雄》漫画系列中。

1994年
第一届变形金刚大会于7月在印地安纳州举行。从此变形金刚大会就成为一年一度的盛会,吸引来自全球的变形金刚忠实玩家。
孩之宝玩具公司重新推出航空金刚和战车队,另外增加了包括拥有发亮引擎和武器的擎天柱,以及拥有可以在地上跑的旋转武器的滚地金刚。
孩之宝玩具公司推出至今最受欢迎的变形金刚之一:骇翼,这是拥有三种模式的匿踪轰炸机。

1995年
卡通影集《变形金刚—超能勇士系列》推出。

1996年
孩之宝玩具公司推出变形金刚——超能勇士玩具系列。汽车人和霸天虎被改成巨无霸和原始兽,这些可以变形成动物和昆虫。第一个女性变形金刚黑寡妇诞生。

1998年
金属变体玩具诞生。这一系列玩具是包含镀铬零件的机器动物。有些玩具包含三或四种变形模式。

1999年
卡通影集《变形金刚—超能勇士系列》继续演化,除了介绍全新角色之外,片名改为《变形金刚——猛兽侠系列》。

2000年
孩之宝公司推出变形金刚——猛兽侠玩具系列,包括不同颜色的全新恐龙金刚和超能勇士玩具。

2001年
孩之宝公司以变形机器人的名称重新推出变形金刚玩具,回归到机器人可以变形为汽车、卡车和其它的运输工具。卡通影集《变形金刚-汽车人战记》首次播映。

2002年
卡通影集《变形金刚-雷霆战队》首次播映。孩之宝玩具公司也顺势推出雷霆战队玩具系列。微星战将受到新一代小玩家的欢迎。
孩之宝公司在玩具反斗城独家推出第一代变形金刚复刻版。

2003年
孩之宝公司根据最邪恶的变形金刚角色,首度推出变形金刚-大兽魔王系列。大兽魔王被美国《想望玩具》杂志评为年度十二大玩具之一。
推出变形金刚-名车系列,包含车牌在内的逼真名车可以变形成熟悉的变形金刚角色。

2004年
变形金刚庆祝二十周年纪念。
推出变形金刚-超能量主题,并且又介绍更多变形金刚-名车系列,以及变形金刚-宇宙系列。变形金刚-宇宙系列收集了过去最优质的变形金刚玩具。
推出擎天柱20周年特别英雄版玩具。

2005年
推出变形金刚-赛博坦系列,包括星力之钥,可以开启各种武器。
孩之宝玩具公司宣布将和梦工厂及派拉蒙影片公司拍摄真人版电影《变形金刚》,并将于2007年7月上映。
全新的漫画代理商IDW出版社重新推出《变形金刚》系列漫画。

2006年
真人电影版《变形金刚》开拍。
孩之宝玩具公司推出变形金刚-经典系列。
新力博德曼重新发行卡通版《变形金刚》(1986年)纪念激光视盘。

2007年
孩之宝公司推出与真人电影版《变形金刚》相配套的全新变形金刚玩具系列。
《变形金刚》系列玩具及外围商品于6月2日开始销售。
变形金刚大会将于6月28日至7月1日举行。

2007年7月11日
《变形金刚》真人电影版将在中国上映!


图1.jpg

主海报.jpg

海报3 副本.jpg

海报4.jpg

ds010-07284-137-v01-lc.jpg

t_00229.jpg

tdg01.jpg

dh095[1].09507.37_v01.jpg_cmyk.jpg

t_40867[1].jpg_rgb.jpg

josh_cu_w_flag_bg.jpg

shia_foreground_megan_bg.jpg

rz023[1].jpg_rgb.jpg

t_34485.jpg

t_17711.jpg

rz027[1].jpg_rgb.jpg

transformersshiameganwarmembraceonhoodjuly132006supbqb7r3360.jpg

joshherowindowgun.jpg

t_05145[1].jpg_rgb.jpg

t_14446[1].jpg_rgb.jpg

t_02769_rv2[1].jpg_rgb.jpg

tyrese_hero_cu_wwalkie.jpg

t_32897[1].jpg_rgb.jpg

rz007[1].jpg_rgb.jpg

t_32448[1].jpg_rgb.jpg

t_41125.jpg

629.jpg

megangazesoffbeauty.jpg

t_17621.jpg

fre02.jpg

meg02.jpg

bar02.jpg

jaz02.jpg

fre01.jpg

bum02.jpg

meg01.jpg

bla01.jpg

opt02.jpg

bla02.jpg

bar01.jpg

bum01.jpg

jaz01.jpg

rat02.jpg

opt01.jpg

rat01.jpg

Posted in 休闲娱乐 at June 29, 2007. by 傻猫 .    Views: 5289    1 Comment

8088 汇编速查手册

软件的破解技术与保护技术这两者之间本身就是矛与盾的关系,它们是在互相斗争中发展进化的。这种技术上的较量归根到底是一种利益的冲突。软件开发者为了维护自身的商业利益,不断地寻找各种有效的技术来保护自身的软件版权,以增加其保护强度,推迟软件被破解的时间;而破解者则或受盗版所带来的高额利润的驱使,或出于纯粹的个人兴趣,而不断制作新的破解工具并针对新出现的保护方式进行跟踪分析以找到相应的破解方法。从理论上说,几乎没有破解不了的保护。对软件的保护仅仅靠技术是不够的,而这最终要靠人们的知识产权意识和法制观念的进步以及生活水平的提高。但是如果一种保护技术的强度强到足以让破解者在软件的生命周期内无法将其完全破解,这种保护技术就可以说是非常成功的。软件保护方式的设计应在一开始就作为软件开发的一部分来考虑,列入开发计划和开发成本中,并在保护强度、成本、易用性之间进行折衷考虑,选择一个合适的平衡点。

  在桌面操作系统中,微软的产品自然是独霸天下,一般个人用户接触得最多,研究得自然也更多一些。在DOS时代之前就有些比较好的软件保护技术,而在DOS中使用得最多的恐怕要算软盘指纹防拷贝技术了。由于DOS操作系统的脆弱性,在其中运行的普通应用程序几乎可以访问系统中的任何资源,如直接访问任何物理内存、直接读写任何磁盘扇区、直接读写任何I/O端口等,这给软件保护者提供了极大的自由度,使其可以设计出一些至今仍为人称道的保护技术;自Windows 95开始(特别是WinNT和Windows 2000这样严格意义上的多用户操作系统),操作系统利用硬件特性增强了对自身的保护,将自己运行在Ring 0特权级中,而普通应用程序则运行在最低的特权级Ring 3中,限制了应用程序所能访问的资源,使得软件保护技术在一定程度上受到一些限制。开发者要想突破Ring 3的限制,一般需要编写驱动程序,如读写并口上的软件狗的驱动程序等,这增加了开发难度和周期,自然也增加了成本。同时由于Win32程序内存寻址使用的是相对来说比较简单的平坦寻址模式(相应地其采用的PE文件格式也比以前的16-bit的EXE程序的格式要容易处理一些),并且Win32程序大量调用系统提供的API,而Win32平台上的调试器如SoftICE等恰好有针对API设断点的强大功能,这些都给跟踪破解带来了一定的方便。

一、数据传输指令
───────────────────────────────────────
    它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
    1. 通用数据传送指令.
        MOV    传送字或字节.
        MOVSX  先符号扩展,再传送.
        MOVZX  先零扩展,再传送.
        PUSH    把字压入堆栈.
        POP    把字弹出堆栈.
        PUSHA  把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
        POPA    把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
        PUSHAD  把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
        POPAD  把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
        BSWAP  交换32位寄存器里字节的顺序
        XCHG    交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
        CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
        XADD    先交换再累加.( 结果在第一个操作数里 )
        XLAT    字节查表转换.
                ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即
                0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )
    2. 输入输出端口传送指令.
        IN      I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
        OUT    I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
          输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
          其范围是 0-65535.
    3. 目的地址传送指令.
        LEA    装入有效地址.
          例: LEA DX,string  ;把偏移地址存到DX.
        LDS    传送目标指针,把指针内容装入DS.
          例: LDS SI,string  ;把段地址:偏移地址存到DS:SI.
        LES    传送目标指针,把指针内容装入ES.
          例: LES DI,string  ;把段地址:偏移地址存到ES:DI.
        LFS    传送目标指针,把指针内容装入FS.
          例: LFS DI,string  ;把段地址:偏移地址存到FS:DI.
        LGS    传送目标指针,把指针内容装入GS.
          例: LGS DI,string  ;把段地址:偏移地址存到GS:DI.
        LSS    传送目标指针,把指针内容装入SS.
          例: LSS DI,string  ;把段地址:偏移地址存到SS:DI.
    4. 标志传送指令.
        LAHF    标志寄存器传送,把标志装入AH.
        SAHF    标志寄存器传送,把AH内容装入标志寄存器.
        PUSHF  标志入栈.
        POPF    标志出栈.
        PUSHD  32位标志入栈.
        POPD    32位标志出栈.

二、算术运算指令
───────────────────────────────────────
          ADD    加法.
        ADC    带进位加法.
        INC    加 1.
        AAA    加法的ASCII码调整.
        DAA    加法的十进制调整.
        SUB    减法.
        SBB    带借位减法.
        DEC    减 1.
        NEC    求反(以 0 减之).
        CMP    比较.(两操作数作减法,仅修改标志位,不回送结果).
        AAS    减法的ASCII码调整.
        DAS    减法的十进制调整.
        MUL    无符号乘法.
        IMUL    整数乘法.
          以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
        AAM    乘法的ASCII码调整.
        DIV    无符号除法.
        IDIV    整数除法.
          以上两条,结果回送:
              商回送AL,余数回送AH, (字节运算);
          或  商回送AX,余数回送DX, (字运算).
        AAD    除法的ASCII码调整.
        CBW    字节转换为字. (把AL中字节的符号扩展到AH中去)
        CWD    字转换为双字. (把AX中的字的符号扩展到DX中去)
        CWDE    字转换为双字. (把AX中的字符号扩展到EAX中去)
        CDQ    双字扩展.    (把EAX中的字的符号扩展到EDX中去)

三、逻辑运算指令
───────────────────────────────────────
          AND    与运算.
        OR      或运算.
        XOR    异或运算.
        NOT    取反.
        TEST    测试.(两操作数作与运算,仅修改标志位,不回送结果).
        SHL    逻辑左移.
        SAL    算术左移.(=SHL)
        SHR    逻辑右移.
        SAR    算术右移.(=SHR)
        ROL    循环左移.
        ROR    循环右移.
        RCL    通过进位的循环左移.
        RCR    通过进位的循环右移.
          以上八种移位指令,其移位次数可达255次.
              移位一次时, 可直接用操作码.  如 SHL AX,1.
              移位>1次时, 则由寄存器CL给出移位次数.
                如  MOV CL,04
                    SHL AX,CL

四、串指令
───────────────────────────────────────
             DS:SI  源串段寄存器  :源串变址.
            ES:DI  目标串段寄存器:目标串变址.
            CX      重复次数计数器.
            AL/AX  扫描值.
            D标志  0表示重复操作中SI和DI应自动增量; 1表示应自动减量.
            Z标志  用来控制扫描或比较操作的结束.
        MOVS    串传送.
            ( MOVSB  传送字符.    MOVSW  传送字.    MOVSD  传送双字. )
        CMPS    串比较.
            ( CMPSB  比较字符.    CMPSW  比较字. )
        SCAS    串扫描.
            把AL或AX的内容与目标串作比较,比较结果反映在标志位.
        LODS    装入串.
            把源串中的元素(字或字节)逐一装入AL或AX中.
            ( LODSB  传送字符.    LODSW  传送字.    LODSD  传送双字. )
        STOS    保存串.
            是LODS的逆过程.
        REP            当CX/ECX<>0时重复.
        REPE/REPZ      当ZF=1或比较结果相等,且CX/ECX<>0时重复.
        REPNE/REPNZ    当ZF=0或比较结果不相等,且CX/ECX<>0时重复.
        REPC          当CF=1且CX/ECX<>0时重复.
        REPNC          当CF=0且CX/ECX<>0时重复.

五、程序转移指令
───────────────────────────────────────
     1>无条件转移指令 (长转移)
        JMP    无条件转移指令
        CALL    过程调用
        RET/RETF过程返回.
    2>条件转移指令 (短转移,-128到+127的距离内)
        ( 当且仅当(SF XOR OF)=1时,OP1<OP2 )
        JA/JNBE 不小于或不等于时转移.
        JAE/JNB 大于或等于转移.
        JB/JNAE 小于转移.
        JBE/JNA 小于或等于转移.
          以上四条,测试无符号整数运算的结果(标志C和Z).
        JG/JNLE 大于转移.
        JGE/JNL 大于或等于转移.
        JL/JNGE 小于转移.
        JLE/JNG 小于或等于转移.
          以上四条,测试带符号整数运算的结果(标志S,O和Z).
        JE/JZ  等于转移.
        JNE/JNZ 不等于时转移.
        JC      有进位时转移.
        JNC    无进位时转移.
        JNO    不溢出时转移.
        JNP/JPO 奇偶性为奇数时转移.
        JNS    符号位为 "0" 时转移.
        JO      溢出转移.
        JP/JPE  奇偶性为偶数时转移.
        JS      符号位为 "1" 时转移.
    3>循环控制指令(短转移)
        LOOP            CX不为零时循环.
        LOOPE/LOOPZ    CX不为零且标志Z=1时循环.
        LOOPNE/LOOPNZ  CX不为零且标志Z=0时循环.
        JCXZ            CX为零时转移.
        JECXZ          ECX为零时转移.
    4>中断指令
        INT    中断指令
        INTO    溢出中断
        IRET    中断返回
    5>处理器控制指令
        HLT    处理器暂停, 直到出现中断或复位信号才继续.
        WAIT    当芯片引线TEST为高电平时使CPU进入等待状态.
        ESC    转换到外处理器.
        LOCK    封锁总线.
        NOP    空操作.
        STC    置进位标志位.
        CLC    清进位标志位.
        CMC    进位标志取反.
        STD    置方向标志位.
        CLD    清方向标志位.
        STI    置中断允许位.
        CLI    清中断允许位.

六、伪指令
───────────────────────────────────────
          DW      定义字(2字节).
        PROC    定义过程.
        ENDP    过程结束.
        SEGMENT 定义段.
        ASSUME  建立段寄存器寻址.
        ENDS    段结束.
        END    程序结束.

Posted in 软件开发 at June 28, 2007. by 傻猫 .    Views: 3126    No Comments

人生有很多选择,也有很多无奈

活这一辈子, 有很多选择, 也有很多无奈, 有些是心甘情愿的, 有些是被逼的, 有些是无可奈何的. 但是在面对种种选择的时候, 心态最重要, 不要去抱怨别人, 从自身找找原因, 成长的烦恼, 但是你必须要经历........

Posted in 我的生活 at June 27, 2007. by 傻猫 .    Views: 3118    No Comments

我能想到最浪漫的事 就是和你一起慢慢变老

背靠着背坐在地毯上
听听音乐聊聊愿望
你希望我越来越温柔
我希望你放我在心上
你说想送我个浪漫的梦想
谢谢我带你找到天堂
哪怕用一辈子才能完成
只要我讲你就记住不忘
我能想到最浪漫的事
就是和你一起慢慢变老
一路上收藏点点滴滴的欢笑
留到以后坐着摇椅慢慢聊
我能想到最浪漫的事
就是和你一起慢慢变老
直到我们老的哪儿也去不了
你还依然把我当成手心里的宝
背靠着背坐在地毯上
听听音乐聊聊愿望
你希望我越来越温柔
我希望你放我在心上
你说想送我个浪漫的梦想
谢谢我带你找到天堂
哪怕用一辈子才能完成
只要我讲你就记住不忘
我能想到最浪漫的事
就是和你一起慢慢变老
一路上收藏点点滴滴的欢笑
留到以后坐着摇椅慢慢聊
我能想到最浪漫的事
就是和你一起慢慢变老
直到我们老的哪儿也去不了
你还依然把我当成手心里的宝
我能想到最浪漫的事
就是和你一起慢慢变老
一路上收藏点点滴滴的欢笑
留到以后坐着摇椅慢慢聊
我能想到最浪漫的事
就是和你一起慢慢变老
直到我们老的哪儿也去不了
你还依然把我当成手心里的宝

Posted in 休闲娱乐 at June 26, 2007. by 傻猫 .    Views: 4877    3 Comments

“凤凰传奇”-偶的最爱

偶QQ最新签名:保持积极的心态,珍惜拥有的一切,骑上最烈的骏马,爬到月亮之上,守护草原飞来的凤凰。有了你,就有我的传奇。

很喜欢“凤凰传奇”的歌,喜欢辽阔的草原,喜欢来自大自然的天赖之音,亚洲最炫超人气组合“凤凰传奇”是一对金玉完璧的组合。其成员玲花是来自鄂尔多斯大草原的蒙古族姑娘,新一代的“乌兰牧骑”。有策马奔驰大漠的生活经历,身上流趟着老一代乌兰牧骑的血液。歌声高亢激昂,富有草原特色,每当你听到她的歌声就会情不自禁地追随她步入游牧民族的神秘世界,领悟那生生不息的原始生命力。凤凰传奇的另一成员曾毅:一个湘南的酷哥,凭着一把吉他和时尚而轻盈的舞姿,征服了大江南北,他们的组合是一种互补更是一种升华。


fm_cddd.jpg

914186445.jpg

Posted in 我的生活 at June 26, 2007. by 傻猫 .    Views: 3119    No Comments

Working with .NET data in Delphi

Webservices offer a rich world of functionality. This world is available to the Delphi programmer with the introduction of the Webservice importer introduced in Delphi 6, with version 6.02 also available in Delphi pro. A webservice can work with pretty complex data, with .NET it is a snap to return and  receive complete XML datasets. Delphi does not know how to work with these datasets natively. In this paper I will show how to work with .NET data using the GekkoDotNetDataset componenet.

The .NET webservice

The webservice I am going to build will be a web-wrapper round a database. The database is an Access database local on the web-server. It  contains  customers, invoices and invoice details.

Methods of the webservice will expose this data to the web as strongly typed XML datasets. Other methods will accept XML datasets to update the database. Importing these tables in a .NET application will result in a nice XSD schema

For a step by step story how to build such a service you can read one of my dotnetjunkies stories, for the moment I will concentrate on the actual webmethods.

The Customers method returns a dataset containing all customers. It does so by creating a new typed dataset object : DataSetCustomers. This object is filled by the oleDbDataAdapter, the internals of this component do the real access to the database.

 

 

public DataSetCustomers Customers()
{
    DataSetCustomers ds =
new DataSetCustomers();
    oleDbDataAdapterCustomers.Fill(ds);
   
return ds;
}

The entire resulting XML dataset is returned. One of the many nice things of an XML dataset is that it can be serialized, it can be represented as one long string of characters. Which is something which is very easy to transport over the standard HTTP protocol.

To fill the contents of the invoices dataset, as described by the schema, takes a little more effort. The three tables can live together in one dataset but for every table another oleDbDataAdapter is needed.

[WebMethod]

public DataSetInvoices Invoices()
{
    DataSetInvoices ds =
new DataSetInvoices();
    oleDbDataAdapterCustomers.Fill(ds.Customers);
    oleDbDataAdapterInvoices.Fill(ds.Invoices);
    oleDbDataAdapterInvoiceDetails.Fill(ds.InvoiceDetails);
   
return ds;
}

Using dataAdapters all query possibilities of the database can be used. For an example you are still invited at the dotnetjunkies. DataAdapters can also be used to write to a database. The updates to be written are passed as a typed XML dataset. Which make the implementation of of the webmethod a one-liner:

[WebMethod]

public void UpDateCustomers(DataSetCustomers ds)
{
    oleDbDataAdapterCustomers.Update(ds.Customers);
}

Multiple tables can be updated in one go in the UpdateInvoices method. The order in these updates will be performed is important:

[WebMethod]

public void UpdateInvoices(DataSetInvoices ds)
{
    oleDbDataAdapterCustomers.Update(ds.Customers);
    oleDbDataAdapterInvoices.Update(ds.Invoices);
    oleDbDataAdapterInvoiceDetails.Update(ds.InvoiceDetails);
}

You cannot enter a new invoice if you don't know the customer yet. These integrity checks are also performed in an .NET XML dataset object. But in there they can be switched off by setting the EnforceConstraints property to false.

A .NET webservice consumer at work

In .NET you can build a windows client application which imports the webservice and it will work perfect with all functionality of the webservice. Which means that a windows application can update an Access database somewhere on a webserver on the other side of the globe using plain HTTP.

The client reads that data from the webserver like this

localhost.DataSetWebService ws =

new localhost.DataSetWebService();
dataSetCustomers1.Clear();
dataSetCustomers1.Merge(ws.Customers());

The dataset is bound to a grid. Here the user can do some editing after which the update is invoked

localhost.DataSetWebService ws =

new localhost.DataSetWebService();
ws.UpDateCustomers(dataSetCustomers1);

See this consumer at work in the dotnetjunkies story.

Importing the webservice in Delphi

It would be very nice to work with this webservice in Delphi. I will use Delphi 6.02 pro which has full support for webservices clients. Delphi has a webservice importer which is found under the file | New | Other | Webservices menu. After entering the URL of the webservice Delphi will generate a unit describing the webservice.

The webservice has two types, being the Customers and the Invoices XSD schema. The service has four methods who use these types in their parameters or as result-type. And this is what the Delphi makes out of it :

Which looks pretty disappointing. The Return types of Customers and Invoices webmethods are recognized as composite types Customers and Invoices. Alas, these types contain no members at all. Things get worse with the update methods. Both have a parameter named ds of type Invoices or Customers. The importer generates two methods with a parameter named ds of a type named ds as well. This ds type is declared and does not have any members either. That's not going to work. Many webservices work very well with Delphi but in this case it will need some extra help.

Introducing the GekkoDotNetDataSet component 

I have built the GekkoDotNetDataSet component. This component is based on the HTTPrio component and can be found in the demo code. It takes the following approach to the problem:

  • It wraps up one XML dataset.
  • It provides the data to other Delphi components as (client-)datasets.
  • The webservice has to have a function member which returns the typed dataset.
  • The webservice has to have an update member which accepts the typed XML dataset in a parameter.

The component introduces two new published events and one new published property, visible in the object inspector.

  • OnRequestGetInvocation, an event which is fired when the component requests the XMLdataset from the service.
  • Paramname. A string to store the name of the parameter of the updatemethod.
  • OnRequestUpdateInvocation, an event which is fired when the component requests the webservice to update the data.

The component has two public methods and two public properties to read and write data

  • The Get method reads the data into the componennt.
  • The DataTable publishes all data in an array of Delphi (Client)datasets.
  • TableCount counts the number of Delphi datasets.
  • The Update method sends all updates to the webservice

This componenet is part of the GekkoDotNetPackage, it will install itself on the webservices page.

Reading data with GekkoDotNetDataSet component 

I drop two of these components on the form. One for the Web Services' Customers dataset and the other for the Invoices dataset. Despite it's emptiness I can use the imported Service1.pas. The GekkoDotNetDataSet component is a HTTPrio descendent so I have to set the WSDLlocation in both components , it will be http://localhost/WebServices/DataService/Service1.asmx?wsdl. The component's only new property is ParamName, it is the name of the parameter of the Update methode, ds for both components.

The real new stuff is in two new events. These get fired when the component Get's or Update's data. As the component does not know which member of the webservice to invoke to read or write data it will make a callback to the component's user. Requesting the user to do the actual invoke.

procedure TForm1.DataSetCustomersRequestGetInvocation(Sender: TObject);
var Iservice : DataSetWEbServiceSoap;
   begin
   Iservice:= DataSetCustomers as DataSetWebServiceSoap;
   Iservice.Customers;
   end;

You have to get to the actual webservice by typecasting the component to the interface of the service, which can be done because the component is a HTTPrio wrapping up the webservice. The declaration of DataSetWebServiceSoapis in the imported Service1.pas. On this interface you call the function which will return the intended XML dataset. In the requestGetInvocation-eventhandler of the other componenent the Invoices method will be invoked.

The click of a button will fill the form with a dataset, which dataset depends on a radiogroup

procedure TForm1.ButtonGetClick(Sender: TObject);
var i : integer;
    DNdataSet : TGekkoDotNetDataSet;

   begin
   case RadioGroup1.ItemIndex of
        0 : DNdataSet:= DataSetCustomers;
        1 : DNdataSet:= DataSetInvoices;
        else DNdataSet:= nil;
        end;
   if Assigned(DNdataSet) then
      begin
      DNdataSet.Get;
      CreateDataGrids(DNdataSet);
      end;
   end;

By calling get on the customers dataset the DataSetCustomersRequestGetInvocation eventhandler will be executed. Which will make the right invocation.

Now the tables of the are filled I will show what's in them. The form has an empty pagecontrol. For every dataset a page is added to the pagecontrol : 

procedure TForm1.CreateDataGrids(Sender: TObject);
   var tP : tTabSheet;
   ds : tDataSource;
   dn : tDBNavigator;
   dg : tDBGrid;
   i : integer;

   DNdataSet : TGekkoDotNetDataSet;

   begin

   DNdataSet:= sender as TGekkoDotNetDataSet;
   if DNdataSet <> nil then
      begin
      for i:= 0 to DNdataSet.TableCount - 1 do
          begin
          tP:=tTabSheet.Create(self);
          tP.PageControl:= PageControl1;
          tP.Caption:= DNdataSet.DataTable[i].Name;

          ds:= tDataSource.Create(Self);

          dn:= tDBnavigator.Create(self);
          dn.Align:= alTop;
          dn.Parent:= tP;
          dn.DataSource:= ds;

          dg:= tDBGrid.Create(self);
          dg.Align:= alClient;
          dg.Parent:= tP;
          dg.DataSource:= ds;

          ds.DataSet:= DNdataSet.DataTable[i];
          end;
      end;

   end;

For every (client-)dataset in the GekkoDotNetDataSet I create a new page with a datagrid and a dbNavigator.

When running this application I can browse and update the data in my Delphi form.

Updating data with GekkoDotNetDataSet component 

To return all updates to the webservice the component uses another event

procedure TForm1.DataSetInvoicesRequestUpdateInvocation(Sender: TObject);
var Iservice : DataSetWEbServiceSoap;
   begin
   Iservice:= DataSetInvoices as DataSetWebServiceSoap;
   Iservice.UpDateInvoices(ds.Create);
   end;

This event is fired by the componenet when it's Updatemethodis called. The component does not know which member to invoke, in this eventhandler the component' user is requested to invoke the desired method. Theds class is declared in the imported unit. It has no members but it will do to invoke the method.

The form sends the updates by the click of a button

procedure TForm1.ButtonSaveClick(Sender: TObject);
var DNdataSet : TGekkoDotNetDataSet;
   begin
   case RadioGroup1.ItemIndex of
      0 : DNdataSet:= DataSetCustomers;
      1 : DNdataSet:= DataSetInvoices;
      else DNdataSet:= nil;
      end;
   if Assigned(DnDataSet) then
      DNdataSet.Update;
   end;

Now we have a Delphi application which works with a .NET webservice and can read or write XML dataset data.

Inpecting the webservice's request and response

To get an idea what is going on I have set the GekkoDotNetDataSet componenet's before- and after- execution event to show the full SOAP request and response in explorer windows.

The request is passed to the eventhandler as a string and the response as a stream. The ShowXMLmethod will send the stream to a browser, it does so by saving the xml as a temporary file and pointing a browser to it. In the BeforeExcute event the string request has to be written to a stream before being sent to the ShowXML method.

procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: String; var SOAPRequest: WideString);
   var ts : tStringStream;
   buffer : string;
begin
   buffer:= SOAPrequest;
   ts:= tStringStream.Create(buffer);
   Showxml(ts, Send);
end;

procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String; SOAPResponse: TStream);
begin
   ShowXML(SOAPResponse, Receive);
end;

Now you can see the full requests as they are sent to the .NET webservice and the response.

(Don't) try this ay home !

The GekkoDotNetDataSet component relies on the tDNdataSet, whose internals are described in another paper. The class has been created by trial and error in investigating the results of .NET built webservices. If you want to use the class in your own code please consider the following points (this is a disclaimer !)

  • The dataset does (by long) not support all possible field-types.
  • The functionality is based on the diffgram structure as found, this structure is not (as far as I know) backed up by some kind of formal specification. Special testing deserve the roworder attribute and the localization settings.
  • New updated versions of the component and these papers will appear on this website.

You are welcome to experiment with the component and any suggestions, remarks, comments, or other feedback will be greatly appreciated. It will all be used in the  updates.

Where are we ?

In this paper we have seen how a Delphi webservice client can work with a webservice which works with XML (diffgram) datasets. All functionality is stored in the GekkoDotNetDataSet component, which is based on Delphi's HTTPrio component.

What's next ?

 

文章来源: http://www.gekko-software.nl/DotNet/Art06.htm

Posted in 软件开发 at June 24, 2007. by 傻猫 .    Views: 9902    1 Comment