Submitted by gouki on 2009, March 7, 11:31 PM
wps是我喜爱的国产软件之一,听说升级到2009了,兴冲冲的到网站上去下载。
进入:http://www.wps.cn/product/index.htm,我想我应该没有理解错网站的意思,于是我先下载了升级包,结果失败,说我是最新版,我想2007大概不能升级到2009吧,然后就下载了直接的安装包。安装时提醒我说有旧软件要删除,兴奋呀。。
安装好后一运行 ,MD,还是2007.晕了我
看来是我RP太差了吧。
Tags: wps
Software | 评论:0
| 阅读:19488
Submitted by gouki on 2009, March 4, 9:24 PM
如果按照ZEND的手册,在使用Zend_Paginator类的时候有两种方法,一种是直接new,一种是用factory
当然,用factory是很方便的。只需要Zend_Paginator::factory( $array )就行了
可是,如果这个array很大怎么办?它没有说。。
即使是new Zend_Paginator( Zend_Db_xxx ?$array )[不记得括号中是哪个abstract了],如果数据量大,他也没办法的呀??
今天白天我试着一下子查询了1W多条,立马死掉。
我看网上的例子,大多是要么直接传结果,要么是传 ZEND_DB的查询对象进去。但结果集都不大的,所以顺利运行 了。我不知道结果集是上万的时候会怎么样,呵呵
最后我是采用了先COUNT出总数,然后用range生成一个大数组传组 Zend_Paginator::factory() ,因为我看他里面的计数是用count的,所以我对factory的数组参数就直接传了这个range出来的数组给它。
结果,成功了,看来,这也就可以了。只是方法有点妖而己。。
记录一下,备忘一下。
Config文件
[paginator]
page.pagemax = 10
page.pagestart = 1
page.itemperpage = 25
在文件里
PHP代码
- <?php
-
- $request = $this->_request ;
- $currentPage = $request->getParam('page');
- $result = $table->fetchAll( ... 条件 );
- $resultCount = $table->getCount( ... 条件 );
- $resultCountArray = range( 1, $resultCount );
-
- $paginator = Zend_Paginator::factory( $resultCountArray );
- $paginator->setCurrentPage( $currentPage )
- ->setItemPerPage( 25 )
- ->setPageRange( 10 );
- $this->view->paginator = $paginator;
部分参数在获取失败的情况下,会直接从Config文件里读取,这里就不详细写了,大致应该是:
PHP代码
- <?php
-
- $config = new Zend_Config_Ini('...path...' , 'paginator' );
-
- $pageMax = $config->page->pagemax ;
-
Tags: zend, framework, paginator
PHP Framework | 评论:0
| 阅读:24512
Submitted by gouki on 2009, February 17, 9:47 AM
在jQuery的插件库里面,有一个imageLazyLoader,是专门用来进行延迟加载图片的。这次看到这个对于JS,CSS,IMAGE三者都能进行延迟加载的代码,当然是用来查看一下的。代码很小,大约只有3K左右,100多行代码,却实现了这么多的效果,看来jQuery的功能是被挖掘的越来越多了。
JavaScript代码
-
-
-
-
-
-
-
-
-
- ;(function($){
- $.xLazyLoader = function ( method, options ) {
- if (typeof method == 'object') {
- options = method;
- method = 'load';
- };
- xLazyLoader[method]( options );
- };
-
- var xLazyLoader = new function ()
- {
- var head = document.getElementsByTagName("head")[0];
- this.load = function ( options )
- {
-
- var d = {
- js: [],
- css: [],
- image: [],
- name: null,
- load: function(){}
- };
- $.extend(d, options);
-
- var self = this,
- ready = false,
- loaded = {
- js: [],
- css: [],
- image: []
- }
- ;
-
- each('js', d.js);
- each('css', d.css);
- each('image', d.image);
-
- function each (type, urls)
- {
- if ( $.isArray(urls) && urls.length>0 )
- $.each( urls, function(i, url){
- load(type, url);
- });
- else if (typeof urls == 'string')
- load(type, urls);
- };
- function load (type, url)
- {
- self[type](url, function() {
- $.isArray(d[type]) ? loaded[type].push(url) : loaded[type] = url;
- d.js.length == loaded.js.length
- && d.css.length == loaded.css.length
- && d.image.length == loaded.image.length
- && d.load.apply(loaded, []);
- return;
- }, d.name ?'lazy-loaded-'+ d.name : 'lazy-loaded-'+new Date().getTime());
- };
- };
-
- this.js = function (src, callback, name)
- {
- if ($('script[src*="'+src+'"]').length>0) {
- callback();
- return;
- };
- var script = document.createElement('script');
- script.setAttribute("type","text/javascript");
- script.setAttribute("src", src);
- script.setAttribute('id', name);
- if ($.browser.msie)
- script.onreadystatechange = function () {
- /loaded|complete/.test(script.readyState) && callback();
- }
- else
-
- script.onload = callback;
- head.appendChild(script);
- };
-
- this.css = function (href, callback, name)
- {
- if ($('link[href*="'+href+'"]').length>0) {
- callback();
- return;
- };
-
- var link = $('<link rel="stylesheet" type="text/css" media="all" href="'+href+'" id="'+name+'"></link>')[0];
- if ($.browser.msie)
- link.onreadystatechange = function () {
- /loaded|complete/.test(link.readyState) && callback();
- }
- else if ($.browser.opera)
- link.onload = callback;
- else
-
- (function(){
- try {
- link.sheet.cssRule;
- } catch(e){
- setTimeout(arguments.callee, 20);
- return;
- };
- callback();
- })();
- head.appendChild(link);
- };
-
- this.image = function (src, callback)
- {
- var img = new Image();
- img.onload = callback;
- img.src = src;
- };
-
- this.disable = function ( name )
- {
- $('#lazy-loaded-'+name, head).attr('disabled', 'disabled');
- };
- this.enable = function ( name )
- {
- $('#lazy-loaded-'+name, head).removeAttr('disabled');
- };
-
- this.destroy = function ( name )
- {
- $('#lazy-loaded-'+name, head).remove();
- };
- };
- })(jQuery);
使用方法也很方便 :
Load some files
$.xLazyLoader({
js: 'jquery.ui.all.js',
css: 'ui.allplugins.css',
image: 'your_image.jpg',
load: function(){
alert('All files are loaded');
}
});
Load multiple files of each type
$.xLazyLoader({
js: ['ui.core.js','ui.dialog.js'],
css: ['ui.core.css', 'ui.dialog.css'],
image: ['your_image.jpg', 'your_image1.jpg', 'your_image2.jpg'],
name: 'dialog',
load: function(){
alert('All files are loaded');
}
});
Remove tags from head (javascript is still working, but css is completely destroyed )
$.xLazyLoader('destroy','dialog');
Disable css.
$.xLazyLoader('disable','dialog');
Enable css.
$.xLazyLoader('enable','dialog');
项目存在于GOOGLECODE上,网址为:http://code.google.com/p/ajaxsoft/
估计还是会有BUG,不过相信作者应该会更新的
Tags: jquery, lazyloader
Javascript | 评论:0
| 阅读:23895
Submitted by gouki on 2008, December 6, 1:51 PM
天时不如地利,地利不如人和。
三里之城,七里之郭,环而攻之而不胜。夫环而攻之,必有得天时者矣;然而不胜者,是天时不如地利也。
城非不高也,池非不深也,兵革非不坚利也,米粟非不多也;委而去之,是地利不如人和也。
故曰: 域民不以封疆之界,固国不以山溪之险,威天下不以兵革之利。 得道者多助,失道者寡助。寡助之至,亲戚畔⑧之;多助之至,天下顺之。以天下之所顺,攻亲戚之所畔;故君子有不战,战必胜矣。”
Tags: 孟子, 得道多助, 失道寡助, 天时地利, 人和
Literature | 评论:0
| 阅读:26157
Submitted by gouki on 2008, December 3, 11:52 PM
12月3日消息,据中国新闻网报道,工业和信息化部通知,长期被消费者和业界诟病的短信网间差别定价将被取消,在2009 年1月15日前基于就低不就高原则实行内外网间统一定价。届时起,移动、联通和电信三大运营商的6亿多手机用户间互发国内短信将享有统一的0.1元/条的 价格。
据工信部10月份通信统计月报数据显示,截至10月31日,中国手机用户总数为6.27亿户。目前,除了小灵通外,我国手机用户在同一家运营商的网 络内互发国内短信,费用是0.1元/条,而在不同运营商的网络间发送国内短信时,一般费用为 0.15元/条(移动神州行用户为:网内0.15元/条,网外0.2元/条),实行的是“异网异价”政策。
不过我还是觉得挺为电信惋惜的,刚刚把CDMA搞过来。就给他定下来价格一致了。连价格优势都被扼杀了。真可怜
Tags: 短信, 移动, 联通, 电信
Misc | 评论:0
| 阅读:18294