2009年12月10日
今天用JS 写了一个 类似于 C# 中的 StringBuilder 类, 可以在Javascript 中调用.用于处理大量的字符串拼接等,使得代码易读,易于维护.
首先引入 StringBuilder.js
<script type="text/javascript" src="StringBuilder.js"></script>
然后便可以很方便的使用了:
基本用法:
var sb=new StringBuilder();
sb.Append("Hello");
sb.Append("World !");
var Result=sb.ToString();
用法二:

代码
// sb.AppendFormat("{0}....{N}","a",...."N");
var sb2=new StringBuilder();
var a="西狐";
var b=21;
var c="男";
sb2.Append("welcome! ");
sb2.AppendFormat("我叫:{0},年龄:{1},性别:{2}",a,b,c);
用法三:

代码
// sb.AppendFormat("{0}....{N}",Array);
var sb3=new StringBuilder();
//可与数组一一对应
var param=new Array();
param[0]="20";
param[1]="微风三级";
param[2]="东南风";
param[3]="阳光明媚";
param[4]=new Date().toLocaleDateString();
sb3.AppendFormat("今天:{4},温度:{0},风力:{1},风向:{2},{3}",param);
完整的示例代码:

代码
<html>
<head>
<title>JavaScript StringBuilder Demo</title>
<script type="text/javascript" src="StringBuilder.js"></script>
<script type="text/javascript">
//Created By hooyes
//基本用法
var sb=new StringBuilder();
sb.Append("Hello");
sb.Append("World !");
var Result=sb.ToString();
document.write(Result);
document.write("<hr />");
//用法二
// sb.AppendFormat("{0}....{N}","a",...."N");
var sb2=new StringBuilder();
var a="西狐";
var b=21;
var c="男";
sb2.Append("welcome! ");
sb2.AppendFormat("我叫:{0},年龄:{1},性别:{2}",a,b,c);
document.write(sb2.ToString());
document.write("<hr />");
//用法三
// sb.AppendFormat("{0}....{N}",Array);
var sb3=new StringBuilder();
//可与数组一一对应
var param=new Array();
param[0]="20";
param[1]="微风三级";
param[2]="东南风";
param[3]="阳光明媚";
param[4]=new Date().toLocaleDateString();
sb3.AppendFormat("今天:{4},温度:{0},风力:{1},风向:{2},{3}",param);
document.write(sb3.ToString());
</script>
</head>
<body>
</body>
</html>
StringBuilder.js 代码及示例下载:
/Files/hooyes/jsStringBuilder.rar
2009年12月8日
Sybase 的 .net Provider ,少数情况在一些系统中出现“无法加载 'sybdrvado20.dll' ,HRESULT: 0x8007007E ” 的情况。
原因在于 缺少 sybdrvado20.dll 所依赖的 程序集 .dll 文件。
sybdrvado20.dll 所依赖的dll文件有:
OLE32.DLL
USER32.DLL
ADVAPI32.DLL
MSVCR71.DLL
MSVCP71.DLL
KERNEL32.DLL
若system32 目录下缺少这几个文件则会无法加载 sybdrvado20.dll
一般可能会缺少 MSVCR71.DLL,MSVCP71.DLL
附:
用 Depends.Exe 这个工具可以查看某个 dll 所依赖的程序集
2009年11月17日
今天帮同学实现了这一个要求,用Javascript把Checkbox实现类似于 radio 的效果
<html>
<head>
<title>Demo By hooyes</title>
<script language="javascript" type="text/javascript">
function addCustomCheckBox(){
var checkBoxName="Checkbox";
var c=document.getElementsByName(checkBoxName);
for(var k=0;k<c.length;k++){c[k].attachEvent("onclick",hooyesFnX(k));}
function hooyesFnX(x){ return function(){for(var l=0;l<c.length;l++){ if(x!=l){c[l].checked=false;}}}}
}
</script>
</head>
<body onload="addCustomCheckBox();">
<input id="Checkbox1" name="Checkbox" type="checkbox" />男
<input id="Checkbox2" name="Checkbox" type="checkbox" />女
<input id="Checkbox3" name="Checkbox" type="checkbox" />火星人
</body>
</html>
2009年11月6日
近日搜狗推出的所谓云输入法(http://pinyin.sogou.com/cloud/)
搜狗这种在线使用的输入法,就是一些小技巧而已,这也号称 " 云 ",真是汗
实现的方法很简单,让你的浏览器执行一段Javascript脚本
javascript:void((function(){var%20n=navigator.userAgent.toLowerCase();ie=n.indexOf('msie')!=-1?1:0;if(document.documentMode)ie=0;charset='';if(ie)charset=document.charset;src=ie&&charset=='utf-8'?'http://web.pinyin.sogou.com/web_ime/init2_utf8.php':'http://web.pinyin.sogou.com/web_ime/init2.php';element=document.createElement('script');element.setAttribute('src',src);document.body.appendChild(element);})())
执行这段js后,您浏览的当前网页便会出现,他们所谓的"云"输入法了.呵呵,这也云.
实际上是通过js向当前页面body上动态生成一个Script标签.script标签的src属性是上面要调用的页面地址.初始化完成后会生成一个script元素.然后就通过Ajax技术,与服务器交互了.这样就可以,你输入字母,就从服务器中响应出汉字来给你选用了.
我们可以把代码拿来用用.
<script type="text/javascript">
function hooyesdoIt(){
var n=navigator.userAgent.toLowerCase();
ie=n.indexOf('msie')!=-1?1:0;
if(document.documentMode)ie=0;charset='';
if(ie)charset=document.charset;
src=ie&&charset=='utf-8'?'http://web.pinyin.sogou.com/web_ime/init2_utf8.php':'http://web.pinyin.sogou.com/web_ime/init2.php';
element=document.createElement('script');
element.setAttribute('src',src);
document.body.appendChild(element);}
</script>
编写个js方法,然后用个button调用它
2009年8月24日