自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

辛佳雨的专栏

我的思想,凭空游弋

  • 博客(157)
  • 资源 (604)
  • 收藏
  • 关注

原创 MySQL集群(NDB)安装脚本

Jim Dowling为我们写了一个安装和管理MySQL集群(MySQL Cluster)的BASH脚本,支持安装本地集群和分布式集群,提问式的安装方式,非常方便,相信每个人都很容易上手。 http://www.jimdowling.info/ndbinstaller-trac/wiki/DetailedLocalhostInstall这里以图文的方式介绍了这个脚本的整个安装过程。 更多资料请访问

2008-01-19 09:49:00 2191

原创 MySQL 服务器内存使用

       经常有人问我配置MySQL时该如何估算内存的消耗。那么该使用什么公式来计算呢?  关心内存怎么使用的原因是可以理解的。如果配置MySQL服务器使用太少的内存会导致性能不是最优的;如果配置了太多的内存则会导致崩溃,无法执行查询或者导致交换操作严重变慢。在现在的32位平台下,仍有可能把所有的地址空间都用完了,因此需要监视着。 话虽如此,但我并不觉得找到什么可以计算内存使用的秘诀公

2008-01-19 09:23:00 2351

转载 多memcached 和 mysql 主从 环境下PHP开发: 代码详解

一般的大站通常做法是 拿着内存当数据库来用(memcached). 和很好的读 写分离 备份机制 (mysql 的主从) 在这样的环境下我们怎么进行PHP开发呢. 本人不太会讲话.所以还是帖代码吧. 刚在linux 的 VIM 里写的一个 demo 调试通过. 也同时希望大家拍砖 , 使用PHP5 写的. PHP4写出来怕大家说我落后了 复制PHP内容到剪贴板PHP代码: $memcached =

2008-01-19 09:20:00 2218

转载 PHP内存缓存功能memcached

一、memcached 简介在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。这里简单介绍一下,memcached 是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序。二、memcached 安装首先是下载 memcached 了,目前最新版本是 1.1.12,直接从官方网站即可下载到 memcac

2008-01-19 09:18:00 3921 1

转载 MySQL-Cluster集群研究

MySQL-Cluster集群研究 一、介绍 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。 注意! 虽然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭。同时需要注意的是并不推荐在集群启动完成后关闭作为管理节点的服务器。尽管理论上可以建立基于只有2台服

2008-01-19 09:16:00 1992 1

原创 《实战WEB2.0》我喜欢

在CSDN网站上看到《实战WEB2.0》一书的介绍后,就对其内容有着很大的期许。当第一时间拿到这本书后,就迫不急待的阅读了起来。书的内容结构安排的很好,资料收集的很全面,可以体会到编辑们的一片苦心。主要从几个方面阐述WEB2.0。综述篇-试图从多个角度解析WEB2.0的概念,案例篇-对国内外多个知名WEB2.0类的网站及应用做了详细的分析,包括网站架构、商业模式等。技

2008-01-18 09:28:00 1640

转载 2007年中国互联网网站市场表现研究报告

l  Web2.0渗透率64%l  百强网站人气呈现“中国长尾”l  门户、视频和社区三足鼎立l  视频网站群体崛起     互联网实验室2008年1月1日说明:      数据来源:中国互联网指数系统。      统计时间段:2007年1月1日至12月20日。 年中文百强网站名单          中文百强网站类别分布分析中

2008-01-17 08:04:00 2996

转载 Ubuntu 7.04下Virtualbox安装及网络桥接

一、安装 1. 下载安装包。建议下载 Deb 包。 2. 准备依赖。VirtualBox 的正常使用需要 libxalan110 和 libxerces27 这两个包。所以,你要先行安装它们,可以使用下面的指令: sudo apt-get install libxalan110 libxerces27 3. 安装编译工具及相关包。在安装过程中,要编译 VirtualBox 所用的内核模块。为此,你

2008-01-16 21:52:00 1963

转载 分布式的Flex开发

最近在忙一个项目,项目催得紧,这里疏于打理已经有一段时日了,实在是对不住访问本站的朋友们,这里对您道声对不起了! 好久没有更新BLOG了,正好项目已经进入尾声,主体的工作已经完成,就剩下些扫尾的工作了,最近就和大家分享下本次项目的一些收获好了。 目前我开发用还是03年的内存只有512M的笔记本,这次的项目前台是Flex2、后台是Coldfusion,如果在本地搭建开发环境的话,FlexBuilde

2008-01-16 21:40:00 1896

转载 Flex 取得DataGrid当前鼠标focus的itemindex

导读:   DataGrid只有selectedIndex属性,却没有类似focusIndex的属性(至少到目前我没找到)   所以只有自己编个函数:   private function getDGFocusIndex(dg:DataGrid):Number {   var findex:Number = Math.floor(dg.contentMouseY / dg.rowHeight) -

2008-01-14 23:21:00 2638 1

转载 ubuntu7.10下使用QQ聊天-wine+QQ2007安装设置方法

系统环境:ubuntu 7.10、 wine 0.9.47、QQ 2007绿色精简版 安装步聚: 1、为gutsy添加最新的 wine源: wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add - 2、获得Wine的apt列表for Gutsy sudo wget http://wine.bu

2008-01-14 23:18:00 3840

转载 jQuery发布1.1.3版,性能提高800%

jQuery,一个继prototype.js以后另一个新的js开发简化包。既然是在prototype.js以后的新东东,性能和使用上一定强过prototype.js了~ 中文化做的也不错已经出现了一个中文小社区http://jquery.org.cn/,做AJAX的朋友可以研究研究,我只是在http://www.diglog.com/上看到新闻,所以才八卦一下的~下面是性能对比: Browserj

2008-01-14 23:15:00 1736

转载 240多个jQuey插件

“jQuery 是继 prototype 之后又一个优秀的 Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一个快速的,简洁

2008-01-14 23:13:00 2063

转载 详细讲解PHP的日期时间函数date()

导读:   大写Y表示年四位数字,而小写y表示年的两位数字;   小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。   echo date(Y-M-j);   2007-Feb-6   echo date(Y-m-d);   2007-02-06   大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);   没有大写的J,只有小写j表示月份的日期,无前导o

2008-01-12 01:13:00 1393

原创 [Flex]自定义DataGrid组件的标题

    有的时候需要在DataGrid组件中为每列显示两行的标题。要实现它,其实并不难。在DataGridColumn 类中有一个headerRenderer 属性,所以我们可以使用它来完成。MXML代码如下:    Actionscript: xmlversion="1.0"encoding="utf-8"?>    mx:VBox xmlns:mx="http://www.adobe.

2008-01-10 07:54:00 5285

原创 2008嘘头多多的一年

相信每个人回首2007的一年,都会觉得时间过得真快,而此时已身在2008。一如既往在2007的最后一天写了篇《告别2007,展望2008》日志。然而,最终没有放出来。原因种种,其中最重要的应该是一些体会不想再分享,过多的涉及个人事情,怕影响不好。 从这一点看,我的2007一年过去后,在这方面有所退步。  前不久,看到早报上说2008第一组流行语出来了,叫什么“很黄,很暴力”。强,就是强,新的一年此

2008-01-09 07:56:00 1554

转载 比尔盖兹CES的最后语录

   即将在今年七月退出微软营运的比尔盖兹,在近日的国际消费性电子展CES发表演说,介绍了下一个数位十年的趋势。演说中比尔强调,未来科技将与使用者有更紧密的互动结合,包括可以辨识使用者、地点、以及彼此之间的关系。  大家都很关心微软的新动向,尤其是互动科技部分,微软自从发表触摸视频技术Surface,以及语音辨识,比尔就不断强调微有互动与自然的使用习惯才是未来科技的趋势。  今

2008-01-09 07:22:00 2099

转载 你在网络红不红? 47%Google网友曾搜寻自己

   以前,Google自己只是为了好玩,现在,Google自己是控管信息外流的步骤。根据最新出炉的Pew网络与美国生活研究计划,有47%的使用者曾经在网络上搜寻有关自己的信息,较2002年(22%)高出许多。曾经搜寻过自己的使用者中,有3%规律地自我搜寻、22%偶而查、74%只查过一、二次,显示出网络使用者愈来愈关心自己在网络上所揭露的信息。   在强大的搜寻功能下,使用者的网络足迹往往

2007-12-31 09:23:00 1337

原创 安装VirtualBox软件

采用ubuntu7.10资源管理安装的Virtualbox,安装完成后总是有问题,不能正常安装其它系统。通过下面的过程终于解决了。彻底删除后装这个 http://www.virtualbox.org/download/1.5.2/virtualbox_1.5.2-25433_Ubuntu_gutsy_i386.deb  然后在终端执行以下命令:sudo /etc/init.d/vboxdrv

2007-12-11 13:10:00 1338

转载 Ubuntu 7.04安装运行VirtualBox出错的解决办法

开始安装没有成功,因为没有source of linux kernel的问题。输入下面的命令你就看到了:drops@ubuntu:~$ gedit /var/log/vbox-install.log 按照下面的方式安装后解决:drops@ubuntu:~$ uname -r2.6.20-15-386drops@ubuntu:~$ sudo apt-get install linux-headers

2007-12-11 11:29:00 2744

原创 复制ArrayCollection变量的方法

 复制一个ArrayCollection变量,可以采用ListCollectionView这个类来完成。如下:将 aa这个ArrayCollection变量再复制一份为ccvar cc:ListCollectionView = new ListCollectionView( ListCollectionView(aa).list );

2007-11-30 15:17:00 1785

转载 一些Flex开源项目的整理

Adobe APIs 主要包含corelib, mappr, flickr, youtube及加密等类库. http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries as3awss3lib 与 Amazon S3 交互的 ActionScript 3.0 类库 http://code.google.

2007-10-31 22:44:00 9118 2

原创 Flex启动事件的执行顺序

  很多时候,在创建一个Flex应用程序,不知道什么时候执行哪儿个启动事件。它们被执行的顺序是怎么排序的?  首先看一看都有哪儿些启动事件,主要有preinitialize,initialize,creationComplete,applicationComplete四个事只看,它们的执行顺序如下图: 

2007-10-08 13:05:00 3643

转载 什么是AMF?

AMF(Action Message Format)是一种 binary format的资料型态,透过 AMF over HTTP的方式将flash端资料编码后传回server,server端的remoting adaptor接收到资料后则会译码回正确的native对象,交给正确的程序处理。 AMF除了用于Flash remoting外,也广泛的用于 Local Connection 与 Fla

2007-09-16 07:13:00 8230 3

转载 Flex2 各种浏览器

Flex2 各种浏览器Component Explorer Style Explorer Style Explorer with Kuler Import Transtions & Effects Explorer Charting Explorer Primitive Explorer Filter Explorer Resize Manager Explorer Enh

2007-09-03 19:15:00 1825

转载 中国平面设计指导价格

  为规范中国平面设计行业市场,促进设计行业的健康发展,给设计交易提供一个客观合理的收费标准。中国设计之窗、深圳市平面设计协会历时10个月,调查了全 国21个省、自治区48个城市的设计市场行情,对采集到的23755个价格数据进行了分析统计,遵循客观导向、公平合理的原则,现发布中国平面设计指导价 格。 1、指导价格的构成: 设计价格应当由以下几个方面构成:设计师的工作报酬、作品许可使用费(或

2007-08-29 00:07:00 5084 2

原创 PowerDesigner 12 通用破解方法

PowerDesigner 12 通用破解方法修改安装目录下的pdflm12.dll文件,使用二进制编辑器打开此文件,查找:83 C4 14 8B 85 E4 FE FF FF将此字符串改为83 C4 14 33 C0 90 90 90 90 

2007-08-17 06:35:00 3977 5

原创 amfphp连接数据库的实用方法

  基于Flex与amfphp进行程序开发是一件很酷的事。终于不用再为了界面丑陋而烦恼了。网上对于amfphp与数据库的连接介绍的很少,英方的资料也不多。  关于amfphp连接数据库,很多例子给的都是直接在程序进行数据库连接。这样在开发大应用的时候,就会有很多问题。多数情况,我们都是集中存放数据库连接信息。还要考虑不同数据库间切换问题。不能每个services都写数据库的连接。amfphp可以做

2007-08-15 06:56:00 4921 3

转载 Flex的一问一答

1.问:在as2中trace(mc._url)可以获得文件的位置,那么在as3中改成什么了?   答:DisplayObject.loaderInfo.parameters2.问:FLEX中如何快速注释?   答:shift+ctrl+c        /   shift+ctrl+d 加AS3代码注解块3.问:FLEX中除了上面的快捷键还有中哪些?   答:Ctrl-F11: 执行(Run) F

2007-08-09 14:42:00 2919 2

原创 Flex中替代cookit操作的方法

做登录等类的身份验证功能,传统的WEB开发基本上都要使用session或是cookit。然而在Flex中并没有提供直接操作cookit或是session的方法。经过查资料发现,Flex提供了SharedObject这个本地对象。有人把它称为“Flash Cookie ”。还真是形象啊,呵,不管怎么说,毕竟还是有解决办法的。SharedObject提供了下面的操作本地对象的方法: SharedObj

2007-08-09 07:22:00 3286 2

原创 Flex的DateChooser组件中文显示方法

Flex中的DateChooser组件,默认情况下是英文的。如何显示为中文信息呢。其实很简单,这里介绍三种方式进行处理:1,直接设置属性:源代码如下: monthNames="[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]" />  2,通过子标签进行设置: monthNames="[一月,二月,三

2007-08-07 14:08:00 6560 5

原创 flex入门 创建适应浏览器的布局

初学者一定想知道如何让组件能自适应浏览器的大小。主要是通过选择组件后,在右侧的Flex Properties中设置 Constraints的值。主要是设置好各元素与边框之间的距离。也就是right,left,top,bottom。 如下图:

2007-08-07 09:04:00 2338 1

原创 轻松切换IP及IE代理设置

  用笔记本的朋友,常常面临者回家上班使用不同网络的情况。每每都需要进行切换。之前我一直使用一个IP切换工具。可是这些工具总是有问题。有的时候除了要切换IP地址,还要切换IE的设置。写了一个小批处理程序可以轻松解决这个问题。呵呵。回到家里自动上网,到公司设置代理上网,只需要一个程序就可以自动设置完成。建一个文本文件,修改扩展名为.batxip.bat@echo offcolor 1ftit

2007-08-06 11:02:00 6750 3

转载 Ubuntu Web 版

其实这不是真的 Ubuntu 啦。不过,在看到 Wubuntu 时,其逼真的模仿效果真是令人惊叹不已。不管怎么样,让我们来体验一把 Web 版的 Ubuntu 吧。 这就是 Ubuntu Web 版首先,我们会经历一个 Ubuntu 启动过程。其启动画面与真实的 Ubuntu 一模一样。接着,你需要登录才能进入 Wubuntu。在 Username 中随便输入一个名称,然后回车,你被允许进

2007-07-31 06:30:00 1949

原创 e-Learning助东软增强核心竞争力

  面对日益激烈的市场竞争,东软为何能一直不断的创新、并获得持续快速的发展呢?其核心能力和竞争优势应该是源于其员工不断地学习新知识,持续地适应市场变化,并迅速提升适应能力而造就的成果。而这一功劳,要归规于东软有效的导入e-Learning业务。   东软既是e-learning的提供商,同时也是e-learning的用户。通过e- learning进行培训,节省了很大比重的人力、物力资源。特别是每

2007-07-30 13:13:00 2640 1

原创 企业实施e-Learning成功的关键是咨询

当前e-Learning被越来越多的企业所认可。大家都知道企业导入e-Learning所能带来的好处。这方面一些欧美国家进行的比较好,国外企业在导入e-Learning后都有非常显著的效果。然而,国内没有一家企业在e-Learning方面的运用达到标榜的程度。大多数只处于初建阶段,甚至是滞停阶段。很大程度上,用户在e-Learning方面的实施都没有达到预期的效果。为什么会出现这样的状况,是所有参

2007-07-25 06:36:00 5405 2

转载 五笔输入法 快速入门 二小时基本了解五笔

通常在电脑使用中 输入中文 我们常常是用音码 (如智能ABC) 和 形码(如五笔)二种输入法 个人认为 在日常工作中 不论使用何种方法 只要能快速准确无误的输出中文 都是可取的 如果说您的拼音学习得不错的话 您可以使用智能ABC输入法也是相当不错的 本文章是针对 有如下的情况的朋友们 所写  1 年纪比较大的初学电

2007-06-10 21:52:00 98597 60

原创 我国应该大力推广五笔字型输入法

  用电脑久了,写字的时候少了。然而,总还是有写字这样的需要。大家有没有提笔忘字的时候,并且是不是发现很多字我们以前会写的,而现在突然一时写不出来了。如果你是常用电脑打文件的人,那么你一定是用拼音输入法的。  拼音输入法是简单,只要你会拼读,就能打出字来。考虑的只是读音,并不怎么会考虑写法。当然,还要判断哪儿个字是对的。 这样写白字的时候也会很多。  但是用五笔输入法的人,只要会写就会打,会打也就

2007-06-10 21:50:00 6259 17

原创 Flex 3D Engine演示

  Outsmart Labs正在研究一个Flex/AS3 3D Engine,这次先放出来了一个demo,把Flex 2中的2D UI组件放到了3D世界中,帅呆了。你可以点击这里去体验该演示操作方法:用鼠标点击地板可以让小人走动,视野也会随之变化。墙上那些都不是图片,都是可以操作的Flex 组件,操作方法和普通的组件一样。如果想要换个角度,可以左键点击某处然后拖动。按住shift键然后左键点击某

2007-06-09 08:57:00 11690 18

原创 变正版安装IE7

这两天重装了系统,想装一下IE7,下载回来后,发现需要验证windows系统是不是正版的。嘻,想一想就知道了,通常这种情况是通不过的。没办法,上网上搜索一下吧。原来windows系统的序列号是可以换的。。只要更换一下,就可以了。微软正版验证工具(Windows XP/2003 序列号更换工具) 下载地址:http://www.duote.com/soft/7532.html要用VOL版XP才能更新

2007-06-05 21:13:00 2013 1

图像融合算法演示源码

点击打开文件的两个按钮,打开上下文件然后在图片上用鼠标左键点击选择一个闭合的区域,当两个图片区域选定后,点击生成比对图片按钮,将会生成融合的比对图片,您可以调整比对图片的相对位置和图片透明度。

2005-12-31

JPEG图象解码程序

JPEG解码源码,Delphi源码。其实,JPEG解码可以用用Intel提供的ijl15.dll库,还是不错的。

2005-12-31

MyEclipse4.1.0破解文件

用winrar打开\MyEclipse\eclipse\plugins\com.genuitec.eclipse.core_4.0.3\core.jar文件,找到C.class所在的目录。 2、下载附件。如果附件下载不了试试看,这个网址:http://www.bloghome.cn/download.php?ownerId=7&resource=myeclipse_enterprise_4.0_Crack.rar&pid=39558 3、用winrar打开刚下载的文件,找到C.class文件,然后用鼠标将C.class拖到第1步打开的目录。 4、启动myeclips,新建一个myeclips工程。myeclips会弹出一个对话框,提示你30天试用。 5、注册Subscriber: Subscriber: Hello Subscription Code:UAR7ZL-955-56-54674676067481865 恭喜你,你已经完全拥有myeclips了!!

2005-12-30

Netbit Browser嵌入式浏览器(论文+源码)

全文公62页,写的很专业,包括论文全文、论文答辩PPT讲稿、源代码。 摘 要 本文主要论述了嵌入式浏览器开发所涉及到的技术,对HTML词法分析、浏览器JavaScript支持、linux和gtk编程等做了详细的分析和介绍,并对Netbit浏览器的开发进行了介绍,分析了主要的模块的功能和组成,并给出了主要算法。 还对典型的嵌入式浏览器进行了分析,包括Gzilla,Mozilla,Thunder和zen,总结了浏览器设计的技术要点和开发策略。 另外,在论文开头,介绍了目前嵌入式浏览器产品的发展现状,嵌入式浏览器的组成和各部份功能说明。 HTML词法分析是着重讨论的技术问题,给出了详尽的数据结构,程序流程。 Netbit浏览器的开发,是本论文的重点,分模块进行了分析,提出了需要改进的地方,并给出了改进措施。 关键词:嵌入式浏览器,HTML词法分析,Javascript,linux,gtk ABSTRACT This paper is focused on the technology of embedded browser.Html scanner, JavaScript support for browser, linux and gtk programming are deeply discussed.and introduce the development of Netbit browser, analyse the main module of Netbit, the algorithm is presented. what’s more, other typical embedded browsers are analysed, include Gzilla,Mozilla,Thunder and zen,and summarize the important technology and the policy of browser development In addition,at the head of the paper,introduce the present status of embedded browser product,the general form of embedded browser and description of the main parts. HTML scanner is an important technological problem, the data structure and the flow of the program are presented. The development of Netbit Browser is mainly discussed,and analysed by module,give the opinion to improve it. KEY WORDS: embedded browser,HTML token,Javascript,linux,gtk 目 录 引言………………………………………………………………5 第一章 嵌入式浏览器设计概述 ………………………… 6 1.1目前嵌入式浏览器产品的发展现状 ……………………… 6 1.2嵌入式浏览器的组成和各部份功能说明 ………………… 8 1.3开发难度分析 ……………………………………………… 9 1.4开发的前期策划 …………………………………………… 10 第二章 HTML词法分析器的设计及其应用 …………… 12 2.1 Bit Token的组成及其功能 ………………………………12 2.2 数据结构 ……………………………………………………12 2.3 算法 …………………………………………………………13 2.4词法分析结果示意……………………………………………15 2.5 HTML词法分析的应用 ………………………………………15 第三章 浏览器JavaScript支持的实现 …………………18 3.1基本的JavaScript 开发环境 ………………………………18 3.2 JavaScript Engine …………………………………………18 3.3 JavaScript与浏览器接合 ………………………………… 19 3.4 浏览器消息响应 …………………………………………… 21 第四章 Linux程序开发技术及 GTK图形程序开发…… 23 4.1 Linux下的程序开发环境 …………

2005-12-28

Delphi最新三层源码 1.0

//数据连接类  IConnDB in 'DBConnection\IConnDB.pas',   ConnDB in 'DBConnection\ConnDB.pas',   ConnDB_ACCESSServer         in 'DBConnection\ConnDB_ACCESSServer.pas',  ConnDB_SQLServer         in 'DBConnection\ConnDB_SQLServer.pas',  ConnDB_ORACLEServer         in 'DBConnection\ConnDB_ORACLEServer.pas',  ConnDBFactory in 'DBConnection\ConnDBFactory.pas',  ConnDBFactory_ACCESSServer       in 'DBConnection\ConnDBFactory_ACCESSServer.pas',  ConnDBFactory_SQLServer       in 'DBConnection\ConnDBFactory_SQLServer.pas',  ConnDBFactory_Oralce      in 'DBConnection\ConnDBFactory_Oralce.pas',  ConnDBConfig in 'DBConnection\ConnDBConfig.pas',  //VO及VOLIST类  valueObjectUnit in 'DAOObject\valueObjectUnit.pas',  valueObjectListUnit in 'DAOObject\valueObjectListUnit.pas',  IvalueObjectListUnit          in 'DAOObject\IvalueObjectListUnit.pas',  DynamicDataSetUnit          in 'DAOObject\DynamicDataSetUnit.pas',  valueObjectDBListUnit          in 'DAOObject\valueObjectDBListUnit.pas',  VOPrototypeManagerUnit in 'DAOObject\VOPrototypeManagerUnit.pas',  //DAO类设计  IDAOvalueObjectUnit in 'DAOObject\IDAOvalueObjectUnit.pas',  DAOvalueObjectUnit in 'DAOObject\DAOvalueObjectUnit.pas',    //服务类设计  ServiceObjectUnit in 'Service\ServiceObjectUnit.pas',  SQLAnalyzeServiceUnit in 'Service\SQLAnalyzeServiceUnit.pas',    //业务对象类设计  BOPrototypeManagerUnit in 'BusinessObj\BOPrototypeManagerUnit.pas',  BOServiceUnit in 'Service\BOServiceUnit.pas',  IBaseBOUnit in 'BusinessObj\IBaseBOUnit.pas',  BaseBOUnit in 'BusinessObj\BaseBOUnit.pas',

2005-12-23

软件成熟度模型CMM入门(PDF格式)

很多时候,人们提到CMM,其实指的是SW-CMM,即软件CMM。除了SW-CMM以外,还有P-CMM,SE-CMM,SA-CMM和CMMI等,这些CMM都是美国Carnegie Mellon大学软件工程研究所(SEI)的产品。每个CMM都是独立的产品,有各自不同的用途,但这些CMM之间也有一定的渊源关系。即使同一个CMM也有版本之分,例如SW-CMM,有1.0版本,也有1.1版本。当然,其他机构或者公司也可能有“某某CMM”的东西。因此,我们通常所说的CMM,确切的完整的说法是SEI SW-CMM v1.1。在以后的文字中,如果不加说明,CMM即指SEI SW-CMM v1.1。 CMM是Capability Maturity Model 的首字母缩写,翻译成中文:能力成熟度模型。顾名思义,它是一个“模型”。既然是模型,那一定有对应的实体,CMM对应的实体就是软件组织。软件组织的规模可大可小,可以是一个软件公司,也可以是一个部门,但它们存在的目的是相同的,都是为了生产软件。 概括而言,CMM是一个用来描述,或者说,表示软件组织的模型。

2005-12-23

计算机软件需求说明编制指南(DOC格式)

本指南为软件需求实践提供了一个规范化的方法。本指南不提倡把软件需求说明(Software Requirements Specifications,以下简称SRS)划分成等级,避免把它定义成更小的需求子集。 本指南适用对象: 软件客户(Customers),以便精确地描述他们想获得什么样的产品。 软件开发者(Suppliers),以便准确地理解客户需要什么样的产品。 对于任一要实现下列目标的单位和(或)个人:

2005-12-23

计算机投标书格式(范本)

word文档格式 投标书格式 投 标 书 致:________________________________   根据贵方为___________________________________项目招标采购货物及服务的投标邀请_____________________ (招标编号),签字代表______________________(全名、职务)经正式授权并代表投标人____________________(投标方名称、地址)提交下述文件正本一份和副本一式____份。 (1) 开标一览表 (2) 投标价格表 (3) 货物简要说明一览表 (4) 按投标须知第14、15条要求提供的全部文件 (5) 资格证明文件 (6) 投标保证金,金额为人民币____________________元。 据此函,签字代表宣布同意如下: 1.所附投标报价表中规定的应提供和交付的货物投标总价为人民币____________________元。 2.投标人将按招标文件的规定履行合同责任和义务。 3.投标人已详细审查全部招标文件,包括修改文件(如需要修改)以及全部参考资料和有关附 详细内容请下载

2005-12-23

玄武饭店信息管理系统

玄武饭店信息管理系统 代码较为全面。

2005-12-23

点对点传输控件P2PSock 源码

点对点传输控件P2PSock For D6

2005-12-23

基于P2P方式的即时通讯源码

程序说明: 1.程序采用网上介绍的方法实现最基本的P2P方式通讯.模拟实现即时消息互发. 2.P2P通讯说明: 1).网关类型是在理想状态下.即非对称型NAT. 2).同在一个内网的两个CLIENT端通讯时,如果网关NAT不支持环回,将会失败. 文件目录说明: tQServer:程序服务端,请将其放在公网上运行. tQClient:程序客户端,可以在不同的内网中运行登录连接到服务端. Common:公共协议文件夹 本程序只是实现简单的P2P互发消息.完成的比较粗糙,更多功能欢迎朋友们更新完善..

2005-12-23

一个书库的小偷程序

可以定制www.mengdong.com 上面的所有子栏目. 可以单独使用,也可以放入你们的 页面。 风格可以通过demo.css定制 也可以当作合作伙伴定制

2005-12-20

一个基于Struts+Hibernate+MsSql2000的实例

一个简单的用户登录验证,主要是用了Struts+Hibernate框架,工具Eclipse+Myeclipse!

2005-12-15

Bea WorkShop Studio (NitroX M7) 系列注册机

拷贝这个注册机到下面目录运行: ....\plugins\com.m7.nitrox_3.0.0 这个注册机能破解NitroX 所有的IDE。 另外,用这个注册时你不需要断开网络。 只支持JDK1.5. 只要把注册表的HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft下的关于1.4的jre和jvm的路径信息改为1.5的jdk的即可。 如果只能用workshop for struts, 不能用HIBERNATE 和JSF 你只要注册成WorkShop Studio, 所有的功能都能用了。 你不用重新安装,只要把....\plugins\com.m7.nitrox_3.0.0 下面的 ins.properties 文件中 prodid 改成 prodid =0005, 重新注册就可以了。

2005-12-15

java实用工具包(大众型)--XML处理

让xml处理无门槛,你会爱上使用xml文件。 该包主要工作是封装,把操作简单明了化,可以让那些对document的东东望而生畏的人不用去"头痛",使用xml处理很简单明了。上面的3个例子只有取属性,其实还有advanceGetNode("path/map[0]")来直接获取节点,然后就可以针对节点addElement

2005-12-15

扫雷(MVC架构)

把JAR包解压后有所有源码! 同样基于MVC,并力求在源码中合理使用设计模式

2005-12-15

java实用工具包(新手型)

针对2维表数据的分页。不针对各种不同数据库为了提高效力而使用的分页读取。 对各种有可能转化成2维表数据的数据先通过自定义的转化器转化成ArrayList(HashMap)或 ArrayList(javabean) 如果类型为ArrayList不需要转化,已经写了2个,分别为ResultSet和Vector,其它特殊类型的转化自己实现SourceConv接口,并在SourceConvFactory中注册(注册没有 写在配置文件,自己按需要去完善 :) ) 对第2维的格式化(即列数据),通过实现PageCol接口,已经有javabean和hashmap两种的格式化 import com.miphone.newcard.source.*; import java.util.*; 1.ArrayList source=.......; //不需要转化 2.ResultSet source=.......; //需要在后面添加 tool.setSourceType("ResultSet");已经有一个SourceConv的子类处理 //ResultSet的格式化 3.Vector source=........; //需要在后面添加 tool.setSourceType("Vector");已经有一个SourceConv的子类处理 //Vector的格式化 4.OtherObj source=......; //自己实现SourceConv接口,并在SourceConvFactory中注册,需要在后面添加 tool.setSourceType("名字","class路径及名称"); 5 tool.setSourceColType("列数据类型名");//默认为HashMap,已经有HashMap和javabean的实现,javabean需要 tool.setClassName("javabean类名"); 6 tool.setSourceColType("列数据类型名","类名");//自定义的列数据格式 PageTool tool=new PageTool(); tool.setSource(source); Vector cols=new Vector(); cols.addElement("id"); cols.addElement("name"); cols.addElement("value"); cols.addElement("type"); cols.addElement("note"); tool.setColNams(cols);//设定读取字段 tool.setPageSize(10);//设定pagesize String[] infos = {"<img src='1' >", "<img src='1' >", "<img src='1' >", "<img src='1' >", "<img src='1' >"}; tool.setPageInfo(infos);//设定分页的显示,默认为{"页次", "首页", "上一页", "下一页", "尾页"}; tool.setHrefName("search.jsp"+args);//分页显示的指向超链接。如 search.jsp?id=1 String thispage=request.getParameter("page"); tool.makeCurrentPage(thispage);//设定当前页,thispage的判断由PageTool自己控制。 tool.Create();//生成分页 //读取 while(tool.next()){ String id=rs.getString("id"); String id2=rs.getString(1);//下标从1开始 String name=rs.getString("name"); String name2=rs.getString(2); } rs.free();//不是必须得,在重复利用时需要用来清空已经有数据的对象。 /* 分页显示方法 */ tool.getFirstPage(); tool.getForwardPage(); tool.getNextPage(); tool.getLastPage(); tool.getTotalInfo(); tool.getRecordCount(); tool.getPageSize();

2005-12-15

飞鸽传书Ver2.06源码

-------------------------------------------------------------------------------- 飞鸽传书 (IP Messenger) Ver2.06 Copyright (C) 1996-2004 SHIROUZU Hiroaki All Rights Reserved. -------------------------------------------------------------------------------- 目录: 1. 软件简介 2. 许可协议 3. 系统要求 4. 使用说明 5. 相关信息 6. 广域网设置(广播设置) 7. 补充 8. 支持 9. 更新历史 10. 感谢 ================================================================================ 重要说明: comctl32.dll(公共控件) 要求 4.71 或以上版本 更多信息请参见 "系统要求" ================================================================================ -------------------------------------------------------------------------------- 1. 软件简介 - IPMsg 是一款局域网内即时通信软件, 基于 TCP/IP(UDP). 可运行于多种操作平台(Win/Mac/UNIX/Java), 并实现跨平台信息交流. - 不需要服务器支持. - 支持文件/文件夹的传送 (2.00版以上) - 通讯数据采用 RSA/Blofish 加密 (2.00版以上) - 十分小巧, 简单易用, 而且你可以完全免费使用它 - 目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME, Java 等, 并且公开源代码. 请查看以下地址以获得相关信息: http://www.ipmsg.org/ -------------------------------------------------------------------------------- 2. 许可协议 (BSD License) Copyright (c) 1996-2004 SHIROUZU Hiroaki All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the SHIROUZU Hiroaki nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRI

2005-12-14

飞鸽传书Ver2.06

目录: 1. 软件简介 2. 许可协议 3. 系统要求 4. 使用说明 5. 相关信息 6. 广域网设置(广播设置) 7. 补充 8. 支持 9. 更新历史 10. 感谢 ================================================================================ 重要说明: comctl32.dll(公共控件) 要求 4.71 或以上版本 更多信息请参见 "系统要求" ================================================================================ -------------------------------------------------------------------------------- 1. 软件简介 - IPMsg 是一款局域网内即时通信软件, 基于 TCP/IP(UDP). 可运行于多种操作平台(Win/Mac/UNIX/Java), 并实现跨平台信息交流. - 不需要服务器支持. - 支持文件/文件夹的传送 (2.00版以上) - 通讯数据采用 RSA/Blofish 加密 (2.00版以上) - 十分小巧, 简单易用, 而且你可以完全免费使用它 - 目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME, Java 等, 并且公开源代码. 3. 系统要求 Microsoft Windows 95/98/Me/NT4.0/2000/XP/2003 95/98/NT4.0 ... 要求 comctl32.dll(公共控件) 的版本为 5.x 或更高. (如果你安装的 IE 是 5.x 或更高版本, 那么就不必担心这个问题了) 注意: Windows 3.1(和 NT3.5x), 请使用 IP Messenger for Win16. -------------------------------------------------------------------------------- 4. 使用说明 < 安装/卸载 > 执行 setup.exe 你可以将 IPMsg 安装到指定目录, 或者重新注册到启动组. 如果需要删除 IPMsg, 请先从控制面板中卸载, 再手动删除 IPMsg 目录. < 系统托盘区图标 > 左键双击图标, 即可打开发送消息窗口. 右键点击图标, 可进入 [服务设置], [离开] 等. < 发送消息窗口 > - 发送消息时, 若勾选了 [封装], 则接收者要先打开信封才能看到消息, 如果你还勾选了 [上锁], 则接收者在打开信封时还需要输入密码. (密码是由接收者自己在 [服务设置] 中设置的) - 若要发送文件/文件夹, 可直接将文件/文件夹拖入发送消息窗口 或在发送消息窗口上点击右键, 再选择发送文件或发送文件夹 - 传送文件/文件夹时, 当接收者还没有保存(下载)文件/文件夹时, 若发送者关闭或重启了 IPMsg, 则附带的文件信息将被清除, 接收者将不能继续接收(下载)到此文件. - 用户列表前缀符号说明 ":" 表示用户处于离开模式. "|" 表示用户使用的不是 2.0 以上版本的 IPMsg, 将不支持文件/文件夹的传送, 并且不支持通信数据加密. "|"(短线) 表示只支持文件/文件夹的传送. - 拖动列表表头标题项可改变其顺序, 并可点击右键选择"保存列表顺序" - 在消息输入窗口中, 可使用 Ctrl+Tab 输入制表符 Tab. - 在发送消息窗口上点击右键, 可以进入设置显示优先级, 选择工作组, 搜索用户(Ctrl+F), 传送文件, 传送文件夹, 保存列表顺序, 字体设置, 窗口大小设置, 固定窗口位置, 列表显示设置. - 在用户名上点击右键, 可设置其显示优先级 优先级按由小到大的顺序排序 - 通过设置显示优先级, 可将经常联系的用户至于列表顶端, 或者隐藏不需要联系的用户 < 接收消息窗口 > - 在接收消息窗口上点击右键, 可以进入字体设置, 窗口大小设置, 固定窗口位置. - 接收消息窗口标题栏中的 "+" 或 "-" 表示通信数据使用了加密算法 "+" 表示 RSA/1024 位, blowfish/128 位加密 "-" 表示 RSA/512 位, RC2/40 位加密 - 如果你收到的消息附带了文件, 将会显示出附件按钮. 点击按钮即可保存文件. < 其他 > - 如果需要(通过路由器)连接到广域网, 则需要设置广播地址. 详见广域网设置(广播设置) - 其它功能都很容易理解, 你试一试就明白了 -------------------------------------------------------------------------------- 5. 相关信息 - 所有的设置信息都保存在注册表的以下位置: \\HKEY_CURRENT_USER\Software\HSTools\ 用户密码以不可逆加密方式存储. ******************************************************************* * 如果你忘记了密码, 可以在注册表中将此键值删除 * * \\HKEY_CURRENT_USER\Software\HSTools\IPMsgEng\PasswordStr * ******************************************************************* - 本软件使用的默认端口为 2425 若仅使用 UDP 协议的端口, 将不能传送文件/文件夹 (如果安装了防火墙, 则必须打开相应的 TCP 和 UDP 端口) - 本软件为自由软件, 你可以随意传播, 但源码使用请参见许可协议. - 只有在启动或退出程序, 使用离开模式, 刷新在线用户时 IPMsg 才会进行消息广播. - 本软件由 Microsoft Visual C++ 6.0 编译 -------------------------------------------------------------------------------- 6. 广域网设置(广播设置) - 主机号全部为 1 的 IP 地址, 即广播地址 例如, 连接到一个 C 类子网(即 24 位网络号, 8 位主机号), IP 地址为 aaa.bbb.ccc.ddd, 其广播地址即为: aaa.bbb.ccc.255 若对方处于另一个私有子网中, 广播可能无效. - 更多问题, 请参阅相关资料或咨询你的网络管理员. - 若两台主机的连接经过了多个路由器, 请直接指定对方IP地址 - 拨号上网用户请勾选 [拨号连接] 当刷新在线用户列表时, 列表不会被清空 -------------------------------------------------------------------------------- 7. 补充 - 启动飞鸽传书前, 你可以指定其运行时使用的端口, 且可以使用不同的端口打开多个窗口. 用法如下: ipmsg.exe 2426 (你可在快捷方式上设置) 但是你只能与同时也使用该端口的用户通信. - 所以你尽可选用你喜欢的端口运行本软件. 介于 10000 至 60000 可能更安全些. 你也可以咨询你的网络管理员. - 如果有多个网卡(IP), 你可以将飞鸽传书与指定的网卡(IP)进行绑定. 命令格式如下(你可以在快捷方式上设置): ipmsg.exe [端口] /NIC IP地址 例如: C:\>ipmsg.exe /NIC 192.168.10.100 - 支持命令方式发送消息 命令格式如下: ipmsg.exe [端口] /MSG [/LOG][/SEAL] <主机名或IP地址> <消息> 例如: C:\>ipmsg.exe /MSG /SEAL localhost Hello. - 操作技巧. 1. 隐藏/显示 窗口 Ctrl + D 2. 按住 Ctrl 键再点 [刷新] 可保持现有用户, 搜索新上线的用户 3. 打开发送/接收消息窗口 Ctrl + Alt + S / R (需要进行详细设置) 4. 打开搜索窗口 Ctrl + F 5. 接收到多个文件, 保存时可勾选 [全部] -------------------------------------------------------------------------------- 8. 支持 - IPMsg 的技术讨论区是开放的. 如果你想订阅相关邮件, 请联系 [email protected] - 欢迎报告 bug, 以及提出建议 - 如果你有任何疑问, 请 E-mail 联系. [email protected] 中文版可联系阿志: [email protected] - 发送错误报告, 请勿必记录以下信息: 软件版本, 操作系统, 故障描述, 以及故障重现方法等. -------------------------------------------------------------------------------- 9. 更新历史 ver 1.00 ... 日文版 (1996/08/19) ver 1.31 ... 英文版/日文版 (1997/09/01) ver 2.00 ... 英文版/日文版 (2002/11/19) 支持文件/文件夹传送 支持通信数据加密 ver 2.03 ... Bug 修正 (文件传送引起缓冲溢出) 广播设置支持主机地址(FQDN)解析 ver 2.04 ... 增加绑定网卡(IP)功能 ver 2.05 ... Bug 修正 (2.04版当激活发送/接收消息窗口时,无法注销/关闭系统) ver 2.06 ... 很小的调整

2005-12-14

Apache HTTP服务器 管理员手册

2005-12-06

PHP设计模式(chm版)

导言 当你在不断的试图从你的应用程序中发现新的特征时,你是否发现你提出的解决方法和一些以前你已经实现的东西是如此的类似呢?如果你是一个程序员(即使你才 开始很短的时间),你都可能回答“是”。这看起来就是你使用了一些以前的代码来解决软件开发过程中新发现的问题了。你可能已经认识到:你的解决方法是基本 原理,是一个不仅仅是你而且是所有专业开发者都能广泛重复应用的方法。 事实上,许多程序问题都不断的反复的遇到,而且许多用来解决这些问题的基本方法(或者说是设计模式)都已经浮现出来。设计模式就是一个教你如何利用真实可靠的设计来组织你的代码的模板。 设计模式历史 “设计模式”这个术语最初被设计用于建筑学领域。Christopher Alexander 在他1977的著作“A Pattern Language :Towns/Building/Construction”里面描述了一些常见的建筑学设计问题,并解释了如何用这些已有的,著名的模式集合来开始全新 的有效的设计。Alexander的观点被很好的转化到软件开发上来,并且长期的合意的用原有的组件来构造新的解决方案。 所有的设计模式都有一些常用的特性:一个标识(a name),一个问题陈述(a problem statement)和一个解决方案(a solution)。 1、一个设计模式的标识是重要的,因为它会让其他的程序员不用进行太深入的学习就能立刻理解你的代码的目的(至少通过这个标识程序员会很熟悉这个模式)。? 2、问题描述是用来说明这个模式的应用的领域。? 3、解决方案描述了这个模型的执行。一个好的设计模式的论述应该覆盖使用这个模型的优点和缺点。? 一个模式是解决特定问题的有效方法。一个设计模式不是一个库(能在你的项目中直接包含和使用的代码库)而是一个用来组织你的代码的模板。事实上,一个代码库和一个设计模式在应用上是有很多不同的。 比如,你从店铺里面买的一件衬衫是一个代码库,它的颜色,样式和大小都由设计师和厂商决定,但它满足了你的需求。 然而,如果店里面没有什么衣服适合你,那你就能自己创建自己的衬衫(设计它的形状,选择布料,然后裁缝在一起)。但是如果你不是一个裁缝,你可能会发现自 己很容易的去找一个合适的模式然后按着这个模式去设计自己的衬衫。使用一个模型,你可以在更少的时间内得到一个熟练设计的衬衫。 回到讨论软件上来,一个数据提取层或者一个CMS(content management system)就是一个库——它是先前设计好而且已经编码好了的,如果它能准确的满足你的需要那它就是一个好的选择。但如果你正在读这本书,可能你会发现 库存的(原有的)解决方案并不是总是对你有效。至今你知道什么是你所要的,而且你能够实现它,你仅仅需要一个模型来引导你。 最后一个想法:就象一个裁缝模型,一个设计本身而言是没有什么用处的。毕竟,你不可能穿一个服装模型——它仅仅是由很薄的纸拼凑起来的。类似的,一个软件设计模型也仅仅只是一个引导。它必须根据程序设计语言和你的应用程序的特点和要求而特别的设计。 本书的目标 本书的目的不是为了全面的介绍各种类别的软件设计模式,也不是为了发展一个新的设计模式或者术语,而是为了突出介绍一些已有的著名的设计模式。这本书的 独特之处在于介绍了一些我认为对开发动态WEB应用程序很有帮助的设计模式,而且用PHP语言显示了如何实现这些设计模式。 面对对象编程OOP 这本书一个优点就是所有的观点都是基于OOP这种很自然的设计模式,并且用OOP来实现。

2006-05-22

WAPM综合网络服务器系统v2.0.3 正式版本 [绿色的]

WAPM是综合网络服务器系统。 它包含了以下组件: Apache2,是互联网最最最流行的WEB服务软件,用以提供基本的WEB服务功能,同时支持SSL,GZIP,LIC(IP同时连接数限制)功能; PHP4,PHP5,是互联网最最最流行的动态网页语言,用以提供PHP语言的网络应用程序开发,同时支持ZendOptimizer优化功能和Zend加密功能,或者Turck MMCahe对PHP的加速、优化、加密、动态缓存功能; Tomcat4,用以提供互联网最最最热门的JSP(JavaServer Pages)和Servlet(Java Servlet)的服务解析。 MySQL4,用以提供互联网最最最流行的SQL数据库功能。 为什么选择WAPM? ----------- 解压不用任何配置,就可以安装运行 强大的WEB服务器功能,可配置性强,可管理性高 独创的全中文虚拟主机配置系统 全Unix路径设置,为将来升级迁移预留接口 所有软件采用开放源代码阵营的软件 支持最流行的技术 专业的技术支持

2006-01-24

skype开发应用程序接口文件(API)中文版

skype的API的详细说明,示范代码等相关资料,PDF文件的形式。 skype魔法表情就是用skype API开发的一个有趣的skype插件

2006-01-10

左右侧的树选择节点功能

从左侧的树选择节点,右侧将选择的节点按照树形显示。 如果父节点选择,则子节点默认全部选中,所以在右侧默认不显示子节点 写的比较仓促,左边的树是在微软的基础上改进的,右边的树是我以前写的一个根据xml+xsl生成树的小程序 选择移除操作都是对xmldom进行操作,操作完了重新加载这个xmldom

2006-01-05

多级联动下拉选择框,动态获取下一级

多级联动下拉选择框,动态获取下一级,每一级数据为XML,可支持无限级(浏览器端需要Microsoft.XMLDOM支持) 项目需要,一个材料类别表,三级,总共有7000多条记录,如果一次获取会很慢的,所以就是用了动态读取,每次就读一级,且服务器端使用了缓存,效率还不错。

2006-01-05

DotArticle 文章管理系统 (asp版) 0.1版

仿照sharepoint,已实现核心功能: 如果要使用sql server版,请执行data目录下的dotarticle.sql,并适当修改inc/data.asp中的sql连接即可

2006-01-05

无限菜单之 xml+popup 版(IE5.5+)

在IE5.5+中开始支持的Popup窗口有很多很特别的特性: Popup窗口可以超出浏览器窗口区域; 可以不用担心被下拉框、flash、Iframe等这些东西遮挡; 一个Popup窗口打开后,当在它的区域以外点击或者另一个Popup窗口被打开时都会自动关闭; Popup窗口是没有焦点的; 用户不能改变Popup窗口大小; Popup窗口中的内容是不能被选择的; ...... 因为这些特征,Popup窗口制作的菜单比起传统的div(层)实现的菜单有着得天独厚的优势,不仅效果会非常好,而且代码也会是非常少的,只是对于实现起来却有几个需要解决的棘手问题:多个Popup共存的问题、如何递归生成菜单、如何控制Popup的显示隐藏…… 要用Popup制作菜单一个最重要的问题就是要解决多个Popup共存的问题,Msdn上的描述是:“一个Popup窗口打开后,当另一个Popup窗口被打开时就会自动关闭”。我本来一直以为Popup窗口是不可以多个共存的,不过偶然从51js上知道:父Popup窗口可以创建子Popup窗口,子Popup窗口又可以创建子Popup窗口,这样就可以同时存在一个Popup窗口家族,当父Popup窗口关闭,所有的子孙窗口都会关闭。这点恰好可以运用在菜单中——父菜单关闭子菜单一起关闭,省去很多繁琐的判断。 最开始,我写了一个简单的两层的Popup右键菜单,为此专门写了一个根据级数生成Popup窗口家族的递归方法: var pops = new Array(); // 用来存储Popup窗口家族的数组 function CreatePopup(degree) { if (degree < 0) // 层数不能小于0 return null; if (pops[degree] != null) //如果已经存在则不需创建 return pops[degree]; if (degree == 0) pops[0] = window.createPopup(); //创建最顶层Popup窗口 else{ if (pops[degree - 1] == null) pops[degree - 1] = CreatePopup(degree - 1) //递归回溯一层一层开始创建 pops[degree] = pops[degree - 1].document.parentWindow.createPopup(); //从父Popup窗口创建子Popup窗口 } pops[degree].document.body.setAttribute("degree", degree); return pops[degree]; } CreatePopup(1); //创建一个2层的Popup家族 这个方法可以解决多个Popup共存的问题,只是如果要使用这个方法来实现无限级菜单代码恐怕就比较繁琐了。这个例子,只是为我验证了无限级Popup窗口共存的可能,并没有继续走下去,因为我有了更好的思路。 Xml真是好东西,在Web控件中,可以得到灵活的运用(在我的上篇随笔《xml+xsl+htc,web控件开发的理想组合》中,已经简单提到了xml+xsl+htc的理想组合),在这里也不例外,先用Xml来定义好菜单的数据menu.xml: <?xml version="1.0" encoding="GB2312"?> <Menu> <MenuItem Text="菜单1"> <MenuItem Text="菜单1子菜单"/> </MenuItem> <MenuItem Text="菜单2"/> </Menu> 通过Xml,可以很方便直观的定义菜单数据。 菜单数据已经定义好了,现在问题就是如何来把这些xml数据变成Popup菜单?!在传统的用div(层)来实现的菜单,一般都是一次性将所有级菜单数据生成HTML,放在各个层中,然后动态在制定位置显示隐藏这些层来实现模拟菜单的效果,在这里当然也可以这么做。回想一下菜单的特征:每次显示一级菜单,如果该级菜单中某菜单项中有子菜单,当鼠标经过或者点击该菜单项时弹出下级子菜单,这是一个递归的过程。如果我们可以:每次显示一级xml的内容,如果该级xml中某节点有子节点,当鼠标经过该节点时读取下级xml的内容,这也是一个递归的过程,而且恰好和菜单的显示过程是一一对应的。 既然大胆假设了一把,那么就来小心求证一下:首先,用xsl来实现解析一级xml很容易搞定,使用xsl:for-each遍历生成子菜单,并且,如果子菜单中还有子xml数据,将这些子xml数据存在子菜单对应的数据岛中,以备后面处理鼠标经过或点击菜单项时用到。下面是Menu.xsl用来生成子菜单的部分: <!-- 遍历子菜单 --> <xsl:for-each select="MenuItem"> <tr height="18" onmouseover="ItemOver(this)" onmouseout="ItemOut(this);" onclick="ItemClick(this)"> <td width="17" align="center"> <IMG SRC="images/dot1.gif" WIDTH="6" HEIGHT="6" BORDER="0" ALT=""/> </td> <td> <xsl:value-of select="@Text" /> <xsl:if test="count(MenuItem) > 0"> <!-- 这里用来存储子菜单的xml数据 --> <xml> <xsl:copy-of select="."/> </xml> </xsl:if> </td> <td width="20" align="right" valign="top" style="padding-right: 6px; padding-top:4px;"> <!-- 如果有子菜单则显示箭头 --> <xsl:if test="count(MenuItem) > 0"> <img src="images/arrowR.gif"/> </xsl:if> </td> </tr> </xsl:for-each> 现在就是解决鼠标经过菜单项时,如果有子菜单则解析子菜单数据,并使用子Popup窗口显示子菜单数据,刚才我们存的数据岛这时候就可以派上用场了。在xsl中,需要用到一些客户端脚本来辅助完成了 // 创建当前窗体(可以是IE窗体也可以是Popup窗体)的Popup对象 // 这个Popup对象就是用来存储子菜单数据的 var oPopup = document.parentWindow.createPopup(); // 装载xsl var stylesheet = new ActiveXObject("Microsoft.XMLDOM"); stylesheet.async = false; stylesheet.load( "menu.xsl" ); // 鼠标经过菜单项 function ItemOver(obj) { // 隐藏已经打开的菜单项 if (preObj != null) { if (preObj == obj) return; oPopup.hide(); // 要清空原Popup中的数据——document.write()方法是接着原来的内容往里面写,所以如果不清空会出现重复数据 oPopup = document.parentWindow.createPopup(); // 恢复前一个菜单项的状态 ItemNormal(preObj); preObj = null; } obj.className='PopMenuItemOver'; if (obj.cells(2).children.length > 0) //有子菜单 { obj.cells(2).children(0).src = "images/ArrowRHighlight.gif"; // 获取子菜单xml数据 var subMenuData = obj.all.tags("xml")(0).XMLDocument; // 根据子菜单xml数据和当前xsl文档生成HTML var sHtml = subMenuData.transformNode(stylesheet); // 将解析出来的HTML全部输出到Popup中,在Popup中,又可以利用这些脚本再Popup…… oPopup.document.write(sHtml); // 计算popup内容的实际宽度高度 oPopup.show(0, 0, 1, 1, obj); var width = oPopup.document.body.scrollWidth; var height = oPopup.document.body.scrollHeight; oPopup.hide(); // 显示菜单 oPopup.show(obj.offsetWidth, 0, width, height, obj); preObj = obj; } } // 鼠标移出菜单项 function ItemOut(obj) { if (oPopup.isOpen && preObj == obj) // 如果子菜单被打开则跳过 return; ItemNormal(obj); } // 恢复到菜单项的默认状态 function ItemNormal(obj) { obj.className='PopMenuItem'; if (obj.cells(2).children.length > 0) { obj.cells(2).children(0).src = "images/ArrowR.gif"; } } 这样:使用menu.xsl解析一级xml的内容生成一级菜单,如果该级xml中某节点有子节点,当鼠标经过该节点时,创建当前窗口/Popup窗口的子Popup窗口,使用menu.xsl解析子节点中xml的内容并输出显示到子Popup中,递归,即可通过Popup显示所有子菜单。 作为一个菜单来讲,这个例子还有很多要完善的地方(当我再结合htc时它绝对是一个非常棒的菜单控件),但是这个例子已经完整地实现了一个xml结合xsl递归生成无限Popup菜单的例子,这个简洁的代码再次印证了xml+xsl+htc的理想组合。

2006-01-05

web下的listview控件

尝试着写web下的listview控件,listview一般有四种显示模式——平铺、图标、列表和详细信息。这些显示模式唯一的共同点就是数据是相同的,显示效果完全不一样。这时候xml的优势就完全体现出来了。 第一步,就是建立一个自定义格式的xml,用来保存listview数据 第二步,xsl可以解析xml生成html,所以就针对listview的每一种显示效果设计了一个对应的xsl。这样前面定义的xml数据和不同的xsl一起就可以显示出不同的效果。 第三步,htc在开发web控件时,非常灵活和功能强大,可以采用客户端脚本如js,可以对控件进行封装,使之有自己的属性、方法和事件等。利用htc封装的listview控件中对外有两个属性CfgXMLSrc(配置文件,设置listview的每一种显示模式对应的xsl文件路径等信息)和View(listview的显示模式),在htc中根据listview的View属性来选择不同的xsl文件和xml数据文件生成html,并输出。 这样就可以通过改变listview控件的view属性来切换listview的不同显示效果。 在线演示 打包下载 以前写换皮肤的控件,都是通过更换css和图片路径来做的(可以看看http://www.stedy.com),局限性很大,例如toolbar,在winxp和win2000下差别很大,只靠通过换css和图片路径无法应付这种情况。通过开发listview的经验,从中悟到了一种更好的开发换皮肤的web控件的模式: 首先将控件的相关数据用xml描述出来,对于每一种Theme(皮肤/主题样式),有一个相关的配置文件,配置文件中记载了该控件所用到的xsl、css、图片路径、htc等信息。在控件相关的htc中,根据Theme属性组合这些。从而可以灵活的应付各种情况。 例如刚才说的toolbar,假如入我们有三种风格:winxp蓝色、winxp银色和windows经典,前面两种基本差不多,只是样式和图片不一样,而后面一种和前面的两种差别比较大。那么我们需要写两个xsl,三个css文件,三个图片文件夹,组合一下就可以生成这三种风格的toolbar了。 这种控件开发模式会慢慢流行起来并在asp.net控件中发挥重要作用的

2006-01-05

系统分析师考试论文案例集(第二辑)

论文一 论Java技术在因特网平台上的应用—通信服务平台的应用 论文二 论Java技术在因特网平台上的应用——银行业的应用 论文三 论改进Web服务器性能的有关技术—银行业的应用 论文四 论改进Web服务器性能的有关技本——数字图书馆类的应用 论文五 论实时控制系统与企业信息系统的集成——通信业应用 论文六 论实时控制系统与企业信息系统的集成——工业自动化改造的应用 论文七 论实时控制系统与企业信息系统的集成——工业控制的常规应用

2006-01-04

从A空间直接下载文件到B空间—RGD 1.5

 RGD 是一个下载工具,但是它不是应用于你的个人电脑的!   RGD 可以下载别的网站提供的东西直接到你的空间中,不用下载到本地然后再上传到自己的空间中,也就是是从A空间到B空间(可以是不同服务器上的,也可以使同一台服务器上的), 举个例子: shou.com提供下载一个软件 sohu.com/soft111.rar , 你可以将这个下载的软件直接下载到自己的空间里面的某个你设定的目录。这么说应该可以理解!   RGD 可以节省你的下载时间,如果你下载的东西在国外的空间上,而你自己的也是国外空间,那么它可以节省你多多一半的下载再上传的时间。假设你使用了一台没有按照FTP软件的电脑,那么有了RGD ,你就方便了,打开自己的装有RGD 的空间,输入你想要下载的软件(或其它)的下载地址连接,把你下载的东西先放在自己空间里保存好!   RGD 可以添加注释内容; 可以直接将下载的文件分割并存储; 可以发送电子邮件到你指定的邮箱;可以设置并使用代理服务器下载;可以指定下载保存目录。 它在线编辑功能: 可以批量更改文件名;可以批量分割文件;可以批量发送到电子邮件;可以批量删除! 注意:    1) 你的空间必须支持PHP (不需要MySQL), 如果是 Linux主机, 你所设定的下载目录的属性一定要改成777, windows主机不需要改!   2) 这是有一个管理工具,不是随便开放给每个人使用的,除非是你的好朋友!当然我的演示也除外!所以请更改下载以后的文件名称,改一个你能记住的,默认的是 a2b.php , 下载目录中的index.html不要删除或者你可以换一个别的内容的页面,这是为了防止别人看到你网页目录下内容的。   3) 如果你用 RGD 上传东西到你的空间里面了,最好 删除或重命名的时候也用 RGD 来操作,因为程序在空间里面生成了一个列表文件(files.lst), 如果你在FTP上删除或重命名文件了,那么列表示没有变化的。那么在RGD 里看到的内容要和实际的文件不一样了。

2006-01-04

AjaxHelper的企业门户网站构架示例

采用asp基于AjaxHelper的企业门户网站构架示例

2006-01-04

AJAX开发简略(附源代码)

AJAX开发简略... 1 一、AJAX定义... 3 二、现状与需要解决的问题... 3 三、为什么使用AJAX. 4 四、谁在使用AJAX. 6 五、用AJAX改进你的设计... 6 例子1:数据校验... 7 例子2:按需取数据—级联菜单... 7 例子3:读取外部数据... 7 六、AJAX的缺陷... 7 七、AJAX开发... 8 7.1、AJAX应用到的技术... 8 A、XMLHttpRequest对象... 8 B、Javascript. 9 C、DOM. 9 D、XML. 9 7.2、AJAX开发框架... 9 A、初始化对象并发出XMLHttpRequest请求... 9 B、指定响应处理函数... 10 C、发出HTTP请求... 10 D、处理服务器返回的信息... 11 E、一个初步的开发框架... 11 7.3、简单的示例... 13 A、数据校验... 13 B、级联菜单... 14 参考文章:... 16 在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在干什么?你的屏幕内容是什么?是的,你的浏览器在等待刷新,而你的屏幕内容是一片空白,而你在屏幕前苦苦的等待浏览器的响应。开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户“系统正在处理您的请求,请稍候……”。 现在,有一种越来越流行越热的“老”技术,可以彻底改变这种窘迫的局面。那就是AJAX。如今,随着Gmail、Google-maps的应用和各种浏览器的支持,AJAX正逐渐吸引全世界的眼球。

2006-01-04

拖动条(ajax+php)示例

采用ajax+php实现的拖动条示例

2006-01-04

用户名检测(ajax+php)

采用ajax+php检测用户的示例程序

2006-01-04

拖动效果(ajax+php)示例

采用php+ajax实现的拖动效果例子程序

2006-01-04

sajax-0.10

WELCOME TO SAJAX ---------------- Sajax is a cross-platform, cross-browser web scripting toolkit that makes it easy to expose functions in your code to JavaScript. For more information about Sajax, please see the homepage: http://www.modernmethod.com/sajax/ In this archive you will find a folder for each platform that is currently supported. Please see individual documentation in each folder for specific errata. 下载三,为扩展名tgz格式的下载包

2006-01-04

WebBaker_0.10.0_dev

WebBaker is a web build utility for CakePHP Framework. It can help build the necessary CakePHP MVC files. To match current CakePHP release, it's current version is 0.10.0_dev. Installation Copy 'app' and 'vendors' directories to your CakePHP root directory. Chmod app/models, app/controllers, and app/views to 0777. Launch http://localhost/cake/bakers or http://localhost/bakers (depending on your CakePHP installation).

2006-01-04

CakePHP :: Ajax Demo

This is a simple demo of some of the AJAX helpers now available in CAKE. These helpers are directly modeled on Ruby On Rails. In fact, they were shamelessly ported from rails almost verbatim. You can also see some of the amazing effects available through the Prototype javascript library. This is a demo not an application. Obviously this uses far too much AJAX in nonsensical ways. 很不错的基于php+ajax的例子

2006-01-04

Struts+Spring+Hibernate实现上传下载

基于struts、spring、hibernate的上传下载程序

2006-01-04

数字信号处理程序

里面有FIR IIR,和傅立叶变换,FFT等功能。

2005-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除