Loading, please wait...

Thursday, February 4, 2010

解决无法启动MySql服务 System error 1067 has occurred

安装MySql后,执行配置实例程序时,MySql服务无法启动,提示

System error 1067 has occurred.  
The process terminated unexpectedly.
为了这个问题,已经google好几天了,今天终于在一个论坛中找到了解决方案



原来问题不是MySql,而是.Net Framework 2.0的问题,.Net Framwork损坏导致MySql服务无法启动。
(不知道这两个东西之间到底有什么依赖关系),只要在 控制面板 中打开 添加删除程序 ,修复一下.Net Framework 2.0,之后再重新运行MySQL Server Instance Config Wizard,重启MySql服务即可。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Sunday, October 25, 2009

VC6 对话框编辑器在预览时显示乱码的解决方案

我安装的是英文版vc6,结果在新建MFC工程时资源文件的语言支持里面并没有中文的选项。
这样导致在建立的对话框的中的中文全部显示为乱码。


其实解决之道很简单,下载appwzchs.dll,拷备到D:\Microsoft Visual Studio\Common\MSDev98\Bin\IDE (安装路径可能有所不同)目录下,重新建立工程,就可以建立中文支持的项目了。



转载声明: 出自: Ghoul To World!作者: GreatGhoul

Friday, October 16, 2009

Google中文的bug

今天,在javaeye上看了篇文章JDBC CRUD操作的封装, 作者用的类名是BasedDaoSupport, 记得DAO在VC和VB见过,但不知道是什么意思,于是就Google了下,结果看到了非常疯狂的搜索建议bug.


围观搜索bug Dao 是什么意思


如图.



情况是这样的,我只搜索DAO 是什么意思,结果Google 自动在我的搜索词后面附加了一遍DAO 是什么意思.如果你再不断点搜索,搜索词将以2的平方式增长.最后满屏都是.我试过,这个bug只在中文搜索里面才有.看来中文搜索还待完善呀.



转载声明: 出自: Ghoul To World!作者: GreatGhoul

Sunday, September 6, 2009

HTA编写的五笔编码查询工具

忘记了在哪里找到一个念青五笔的字库文件,折腾了一翻,用hta写了一个五笔编码查询的工具.
放在u盘里面就可以运行.





转载声明: 出自: Ghoul To World!作者: GreatGhoul

Friday, May 8, 2009

修正Blogger in Draft编辑文章链接

虽然blogger升级到了draft,但文章的快速编辑链接  依然是指向旧版的地址.
要想修正此链接,只有在Layout > Edit HTML 中勾选Expand Widget Templates,再进行编辑.

在模板中找到以下片段:
<b:includable id='postQuickEdit' var='post'>
  <b:if cond='data:post.editUrl'>
    <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
        <img alt='' class='icon-action' height='18' src='http://www.blogger.com/img/icon18_edit_allbkg.gif' width='18'/>
      </a>
    </span>
  </b:if>
</b:includable>

将其中的
<a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
替换为
<span expr:class='"item-control " + data:post.adminClass'>
      <a expr:href='&quot;http://draft.blogger.com/post-edit.g?blogID=你的BlogID&amp;postID=&quot; + data:post.id' expr:title='data:top.editPostMsg'>

enjoy it!

转载声明: 出自: Ghoul To World!作者: GreatGhoul

强悍,JS做的开源纵卷轴射击游戏 天机

无忧脚本 上看到了这样一个强悍的网页游戏 .<天机> ,画面取材于彩京 .由JavaScript 编写,而且支持IE6、IE7、FF3、Opera、Safari、Chrome .

主选单:
1 - 开始游戏
2 - 键位设置,可以根据个人的喜好设置相应的操作按键,默认是:W-上、S-下、A-左、D-右、J-发射、K-炸弹。
3 - 难度设置,有三个难度,如果你觉得默认的简单难度没挑战,可以选择高一点的难度,肯定不会让你失望。
4 - 语言设置,目前支持简单中文和英文。
 5 - 关于作者


游戏中飞机可以加强火力,蓄力攻击,还有boss,简直可以彩京的原版相媲美.而且,很重要的一点,它是开源的.
大家都来玩玩,欢迎给作者报告 bug.

作品博客: http://www.cnblogs.com/Random/archive/2008/11/24/1339648.html
论坛讨论: http://bbs.51js.com/viewthread.php?tid=81717

转载声明: 出自: Ghoul To World!作者: GreatGhoul

JavaScript版超级玛莉

http://greatghoul.blogspot.com/search/label/3D Javascript Mario》是一款用JavaScript 开发的网页游戏 ,再现经典红白机游戏《超级玛莉》 ,由NIHILOGIC 开发.
操作方法:
移动:四个方向键
跳跃:左右Ctrl
这个游戏只是一个测试版。
该网站还提供了一些其它的JavaScript 游戏,比如3D国际象棋,马里奥赛车等等,via 

转载声明: 出自: Ghoul To World!作者: GreatGhoul

travianer 非常养眼的MMORPG

Travianer,偶然在网站看到这款游戏,从画面来看,应该非常好玩。因为开发者在界面上的确花了一翻功夫,不过可惜的是,这是一款MMORPG,你有三种种族可以选择,罗马人,高卢人,日尔曼人,在游戏中你是一个普通国民,通过获取资源,和对手在竞技场PK,获取经验,参加联盟,获得声望等。感觉和猫游记差不多,但做工绝对比猫游记好许多,据介绍,此游戏极重玩家交互。至于具体的交互法,就不得而知,不懂德语,没法玩,不过有德语基础的同学可就有福了,休闲佳作呀。


游戏地址:http://www.travianer.de/

转载声明: 出自: Ghoul To World!作者: GreatGhoul

用jquery设置Blogger外部链接的样式和打开方式

blogger中链接默认都是在本窗口打开,但如果想要外部链接能醒目一点并且在新窗口打开,就得借助jquery的力量了.这个功能需要选择器的组合使用,以开始怎么都搞不定,后来看了Rails/jQuery magic: marking external links with a CSS class后才知道":not"选择器可以连续使用.
目标效果:
思路:
其实关键在于jquery选择器的设置,如果只转换文章正文中的链接,需要应用一下规则:
  • 只设置文章正文的链接
  • 忽略"javascript:"的链接
  • 忽略以http://yourname.blogspot.com开头的链接
  • 所有外部链接在新窗口打开
  • 图片链接不显示外部链接图标
  • 链接淡蓝色显示
首先,通过以上规则,获得所有外部链接的jquery包装集,然后对含有图片和不含图片的链接应用不同的样式即可.

代码:
jQuery代码:
$(document).ready(function() {
 $(".post-body a:not([href^='javascript:'])" +
   ":not([href^='http://greatghoul.blogspot.com'])").each(function() {
  var link = $(this);
  if (link.is(":has(img)"))
   link.attr("target", "_blank");
  else
   link.addClass("external").attr("target", "_blank");
 });
});

css代码:
a.external {
  padding-right: 12px;
  background-image: url(http://lh3.ggpht.com/_rL8ku7jXhnw/SfR3c_mnKYI/AAAAAAAAFdA/7ZZeKEUAoes/s800/external_white.gif);
  background-position: center right;
  background-repeat: no-repeat;
  background-color: #E0ECFF;
} 

测试效果:
Blogger页面加载等待效果
测试
博客用上了新皮肤,Google样式的
jquery学习:仿discuz论坛回帖添加表情效果

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Sunday, April 26, 2009

Blogger页面加载等待效果

今天新做了一个黑白简约风格的模板,用上了圆角。因为今天早上看了篇关于圆角的文章mozilla 和webkit的 CSS圆角.
因为打算扩充功能时使用jquery,所以顺便做了个加载等待效果。算是对页面加载转换效果的改进吧。
不过这个效果在ie6下似乎就挂了。正在努力改进中。

css代码:
/* loading */
#gloading {
  -webkit-border-radius: 5px 5px; 
  -moz-border-radius: 5px 5px;
  position:fixed;
  text-align: center;
  display: none; 
  top:50%;
  left:50%;
  margin:-100px 0 0 -100px;
  width:auto;
  height:auto;
  border:2px solid black;
  background-color: white;
  padding:1px;
  color:white;
}
#gloading div {
  -webkit-border-radius: 5px 5px; 
  -moz-border-radius: 5px 5px;
  font-size: 20px; 
  text-align: center;
  font-weight: bolder;
  width:auto;
  height:100%;
  padding:8px 20px;
  background-color: black;
}
js代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript" language="JavaScript">
$(document).ready(function() {
 window.onbeforeunload = function() {
  var colors = ['#E7E7E7', '#D0D0D0', '#AFAFAF', 
   '#989898','#797979', '#5F5F5F', '#404040', 
   '#262626', '#0F0F0F'];
  var index = 0;
  $("#gloading").fadeIn("slow");
  setInterval(function() {
   if (index == colors.length) {
    index = 0;
    colors.reverse();
   }
   $("#gloading div").css("color", colors[index++]); 
  }, 80);
 } 
});
</script>
html代码:
<div id="gloading"><div>Loading, please wait...</div></div>

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Thursday, April 16, 2009

博客用上了新皮肤,Google样式的

前一段时间,看了一篇文章WOOGLE THEME: GOOGLE风格的WORDPRESS模版 ,羡慕不已.
以前尝试过把blog装扮成Google风格的,不过几经周折,都失败了.偶然看到徐明的博客 也是很清新的Google风格,终于忍不住了,利用闲暇时间做了这个模板.



在ie6下问题挺大的,标题的对齐很恶心,不知道怎么兼容.
有没有哪位大哥给推荐一个标签云的widget.

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Wednesday, April 8, 2009

jquery学习:仿discuz论坛回帖添加表情效果

最近一直在学习jquery ,感觉它真的很强大.
无聊,做了一个仿discuz论坛回帖添加表情效果.兼容ff,ie,chrome
以下是代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Comment Smilies</title>

<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".smile").hover(
 function() {
  $(this).css("cursor", "pointer");
 },
 function() {
  $(this).css("cursor", "default");
 }
);
$(".smile").click(function() {
 // Build the smile code.
 var smile = "[:" + $(this).attr("alt") + ":]";

 var comment = $("#comment")[0];

 // Insert the smile code into the current position.
 if ($.browser.msie) {
  comment.focus();
  document.selection.createRange().text = smile;
 } else {
  // Get the pointer and current value.
 
  var start = comment.selectionStart;
  var end = comment.selectionEnd;
  var value = comment.value;
 
  // Insert the smile code.
  comment.value
   = value.substring(0, start)
   + smile
   + value.substring(end);
 
  // Restore the pointer location.
  comment.selectionStart = start + smile.length;
  comment.selectionEnd = start + smile.length;
 }
});
});
</script>

</head>

<body>
<textarea id="comment" cols="60" rows="6"></textarea>
<img src="images/sweat.gif" alt="sweat" title="笑脸" class="smile" />
</body>
</html>
原来Firefox不支持cursor:hand样式,害得我调试了半天,还以为是hover的问题呢!

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Saturday, April 4, 2009

这些案例!触目惊心!!!女生万万小心!!!不是闹着玩的

今天破下戒,全文转载一篇文章.因为这篇文章关系重大,自问自己无法识破这里面的大部分骗局.幸好读到这篇文章.


来源:6enz by 6enz
个案1:                            
有一妇女手提包被偷,里面有手机、银行卡、钱包等。 20分钟后,她打通了老公的电话,告诉自己被偷的事。老公惊呼:“啊,我刚才收到你的短信,问咱家银行卡的密码,我立马就回了!”他们赶到银行时,被告知 里面所有的钱都已被提走。小偷通过用偷来的手机发送短信给 "亲爱的老公" 而获取了密码,然后在短短20分钟内把钱取走了。
提醒: 不要在手机通讯录中暴露自己与联系人的关系,忌用 “家电” 、“ 老公”、“爸妈”等称呼。一律用名字,字越少越安全。


个案2:
有三位自驾游的朋友不慎连人带车跌落一百五十公尺深的山谷,受困四日三夜后,才获救。其间,他们曾多次想以手机向外求救。无奈一只被摔坏,一只没电了,一只收讯不良。他们还多次移动位置以寻找较佳的收发信号地,但都不成功。如果这三位人士平常就知道112专线,紧急时刻也能知道如何用那只收讯不良的手机拨出112专线,相信他们可以很快获救。
提醒:

全国各地通用的112专线,在手机打开后即使没有接收信号,甚至电力极为微弱,任何厂牌的手机在任何地点皆可拨通。拨出112后,马上会进入语音说明如下 ∶这里是行动电话112紧急救难专线,如果您要报案,请拨0,我们将会为您转接警察局;如果您需要救助,请拨9,我们将会为您转接消防局。中文讲完后,会以英文重述一遍。此时只要拨0或9,一定会有人接听。以三位人士所处的情况,或登山迷途或遭遇其它困境 时,应拨9,将可获得及时的救助。



个案3:
有个留学生喜欢吃速食杯面,后来,这位留学生因身体不适去医院看病,医生发现他的胃壁附着一层蜡!原来,杯面的容器里包含 一种可食用的蜡!各位下次吃杯面的时候摸摸看杯壁是不是觉得滑滑的,那就是了。而长时间的食用杯面,将造成我们的肝脏无法分解这种食用蜡。最后,这位留学 生不得不寻求手术治疗以移除这层蜡,不幸去世。
提醒:

吃泡面的时候,尽量把面拿出来,另外用碗来泡食,不要用碗面、杯面所附的容器直接冲开水食用。哪怕是出差,也要带上一只大茶缸泡面用。为了自己的身体,不要偷懒啊!


个案4:
一件很可怕的事:有一天,一个 21岁男生戴着隐形眼镜去参加一个烤肉野聚会!就在他开始以木炭生火之后的几分钟,他突然大叫一声,然后很痛苦的跳来跳去,在地上打滚……全场的人都吓呆 了,没人知道究竟发生了什么事?大家赶紧送他到医院,医生检查后遗憾地说,他的眼睛失明了!
提醒:

参加野外烧烤或任何有可能接触到火源的时候,请不要戴隐形眼镜!因为隐形眼镜是用塑胶制成的,过热的温度会熔化我们眼中的隐形眼镜!




(1)建行一同志转述: 今天经过一栋大楼门口,门口有一提款机。有一个老伯,一直看着我走过他身边,突然叫住我,他说他不识字,拿一张银行卡要我帮他在大楼门口的自动提款机取 钱。我回答我无法帮你取,叫警卫帮你。结果,他就回答我说不用了,继续找其他路人帮他取钱。朋友们要记住---取款机可是有摄影机耶。万一他说我抢劫或是 偷他的提款卡,甚至他的卡片是偷来的,帮他领钱会在提款机留下影像,绝对会让你百口莫辩!我会警惕 ! 是因为已有同事上当,目前仍官司缠身。显然这是诈骗集团在找替身了! 请立即传出去~~~ 骗案真是层出不穷,一不小心就会踏入陷阱,真是令人防不胜防!提醒各位朋友在外多小心!    

(2)芍药居一业主,家中突然断电,看到窗户外别人家里都有电,就出门查看自家电表箱,打开门就被刀子顶着了——持刀入室抢劫....提醒大家如果家里突然断电,不要贸然就开门查看,有猫眼的多观察一会门外动静,没猫眼的也隔着门静听一段时间,没有异常响动再开门 .   
 
(3)各位女同胞们注意了!这是最新骗局  女同胞请注意 男同胞请叫自己的朋友注意 :新出的情况,女性朋友要特别注意啦:一 位上班的小姐在下班回家的路上看到一个小孩子一直哭,很可怜 ,然后就过去问那小朋友怎么了.小朋友就跟那个小姐说:" 我迷路了,可以请你带我回家吗?"然后拿一张纸条给她看, 说那是他家地址.然后她就笨笨的带小孩子去了.一般人都有同情心,然后带到那个所谓小孩子的家里以后,她一按铃,门铃像是有高压电,就失去知觉了.醒来就 被脱光光在一间空屋里,身边什么都没有了,她甚至连犯人长啥样子都没看见.所以,现在人犯案都是利用同情心啊,如果遇到类似这种的,千万别带他去,要带就带他到派出所去好了,走丢的小孩放到派出所一定没错啦,请通知身边所有女性,为了广大女士的安全,看完后麻烦给转发给所有人
....
 

(5)大家注意了!到自动取款机取钱时一定要倍加小心!!!!!
  昨晚在金海里的工行自动取款机取钱时,后面来了个老妇女,问我能不能取钱,还说什么取款机有个键可能坏了,旁边不知什 么时候来了个小女孩,一直想往我身边挤,我也没在意,小孩子淘气嘛,可是过分的是她竟然把手朝出钞口放,准备拿我的钱了,我感觉不对劲了,立即把她推到一 边,等着把钱取出来。之后我想了一下,她们俩给我设了个套:老妇女负责和我瞎聊,吸引我的注意力,小女孩趁我不注意时抢走我的钱!如果我不防备的话,钱说 不定就被抢走了,这样的话,我就进套了:(一:我立即去追小女孩,去追回我的钱,可是谁又会相信一个小女孩能抢我一个大人的钱呢?更可怕的是站在我后面的 老妇女将会取光我卡中所有的钱,因为我的卡还在取款机里面;二:我不立即去追小女孩,等拿到卡再追,到那时小女孩就无影无踪了,钱也就没了啊:(她们真的 很"聪明",很可耻的!!!)   
 
(6)父母都退休在家。昨天上午,来一陌生中年人,说自己摩托车油开没了,加油站太远,摩托车又太重推不动,所以想问我父 母要一个可乐瓶去买汽油,刚开口就说实在不行就出2、3元买一个空瓶好了。母亲就拿了个空瓶给他,别说他还真从口袋里掏出钱来,不过是几张百元大钞,还让 父母找钱。母亲顿生警觉,说算了,不过是一个空瓶而已。他非要把100元钱破开买下来,只不过还是那张百元大钞。好在母亲尚未龙钟,也不是那种爱贪小便宜 的人. 女性朋友一定要认真看完,注意自我安全啊,现在万恶的社会....出门在外,千万小心,小心千万.... 
   
 (7)一对新婚夫妇到巴黎度蜜月。在巴黎,妻子在一间时尚服装店试衣服 ,身为丈夫就在试衣间外等候。但等候多时却不见妻子走出来 ,紧张的丈夫要求店员帮忙到里头查看 ,却意外发现试衣间空无一人。丈夫以为妻子开玩笑作弄人 ,要他紧张.于是回到酒店等她回来。几小时后却不见妻子的踪影,才知事态严重。丈夫赶忙报警 ,并到巴黎所有服装店和医院询问妻子下落。三星期过去了,妻子犹如从人间蒸发,音讯全无,伤心的丈夫只能收拾包袱回到老家。由于无法从绝望中振作,丈夫无 心工作,一直独自生活 ,决定把自己放逐,流浪到各地方。几年后 ,他心血来潮到巴厘岛,在一破旧的屋子参观一畸形秀 ( freak show ) 。他见到一脏生锈的铁笼里,有一女人四肢全无,身躯,包括脸部,犹如破布般残破 ,充满疤痕。她在地上扭曲着 ,并发出有如野兽般的XXXXX声。突然间男人惊恐地发出尖叫声。他从那毫无人样的女人脸上见到,他再熟悉不过,属于他新婚不久就告失踪的妻子脸上的红色 胎记。

 
(9)最近有人告诉我,他的朋友在晚上听到门口有婴儿在哭,不过当时已很晚了而且她认为这件事很奇怪,于是她打电话给警 察。警察告诉她∶ 「无论如何,绝对不要开门。」这位女士表示那声音听起来象是婴儿爬到窗户附近哭,她担心婴儿会爬到街上,被车子碾过。警察告诉她∶我们已派人前往,无论如 何不能开门。警方认为这是一个连续杀人犯,利用婴儿哭声的录音带,诱使女性以为有人在外面遗弃婴儿,她们出门察看。虽然尚未证实此事,但是警方已接到许多 女性打电话来说,他们晚上独自在家时,听到门外有婴儿的哭声,请将这个消息传给其他人,不要因为听到婴儿的哭声而开门。

请严肃看待这篇文字!有这么离谱!小心为妙!!!如果您是善良的朋友,看过之后请将它尽可能多的转发出去,让更多的朋友看到,让更多的朋友受益,让更多的朋友远离危险远离伤害。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Friday, April 3, 2009

原来java中try - catch - finally的执行是这样的.

以前对java中try-catch-finally总是一知半解,今天看到憨厚生博客关于try catch finally一点疑惑的讨论,才大开眼界.
public int test1(){
   int i=4;
   try{
       return i;
   }finally{
       i=0;
      System.out.println("---test----");
   }
}// 返回4
public int test2(){
   int i=4;
   try{
      return i;
   }finally{
      i=0;
      System.out.println("---test----");
      return i;
   }
}//返回0
注意两个方法的返回值.
按jbahamut的说法
return 压栈,执行finally,方法返回
第一个test中return压栈后,栈中的值没有变,所以返回4 
finally总是被执行的,如此在finally中的某些操作是非常危险的.如Fingki.li所说.
finally块里尽量避免使用return,会吃掉exception.
今天真是上了一课,以前还自以为在finally中使用return很不错,原来犯了这么大的忌讳.

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Sunday, March 29, 2009

谷歌音乐全面更新

Google Reader中看到52ABC发表的百度Mp3和谷歌音乐才知道谷歌音乐更新了.赶紧去看了看,变化还是蛮大的.
新的首页布局更加合理,俨然一个音乐网站了.
新的首页用标签分割成不同的板块:首页 排行榜 挑歌 歌手库 专题
其中最有特色的就是这个挑歌了,用flash实现的,非常人性话,可以非常准确的找出你喜欢的歌曲.
在右侧设置了节奏,音调,音色,年代,歌手,流派,语言这些过滤规则后,就会在左侧主体部分用不同的颜色的泡泡列出符合规则的歌曲,试了下,准确率非常高.这真是一种新的选歌模式,Google的设计师们真是天才.


当然,播放器也做出了一些调整.
新版
旧版
感觉新版的播放器越看越没有以前的舒服,非常喜欢以前那个旋钮,现在没有那个有趣的东西了.
虽然Google的主张是简洁,不过人一旦喜欢上一个美丽的东西,就无法忘怀了.
我还是无法靠向谷歌音乐,因为它还不提供与Google帐号的绑定,我的播放列表还是不能保存到网络上.所以继续亦歌,保持观望. 汗,布局怎么成这样了~~ -_-!

转载声明: 出自: Ghoul To World!作者: GreatGhoul

不使用向导向工程中添加数据库支持

译者:GreatGhoul


我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子用向导新建一个工程,选中"使用数据库"并选择数据库类型....

不过,如果项目开始一个月后我才意识到"...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.


  • 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
  • stdafx.h中添加头文件
    #include "afxdb.h"
  • 在要使用数据库的类(比如View)中添加成员变量:
    CDatabase m_MyDatabase;
  • 初始化类时
    译者:GreatGhoul


    我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子用向导新建一个工程,选中"使用数据库"并选择数据库类型....

    不过,如果项目开始一个月后我才意识到"...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.

    • 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
    • stdafx.h中添加头文件
      #include "afxdb.h"
    • 在要使用数据库的类(比如View)中添加成员变量:
      CDatabase m_MyDatabase;
    • 初始化类时
      译者:GreatGhoul


      我读过的书中都会有这么一个章节"数据库编程",在这个短小的章节中总会有这么一个典型的例子用向导新建一个工程,选中"使用数据库"并选择数据库类型....

      不过,如果项目开始一个月后我才意识到"...,我需要在工程中使用数据库"或者"我需要使用另一个Recordset",有或者"我需要添加另一个数据库",难道我要重新开始这个工程吗?答案不用,这很容易解决.

      • 创建一个没有数据库支持的新工程(如果你已经有一个这样的工程,跳过此步)
      • stdafx.h中添加头文件
        #include "afxdb.h"
      • 在要使用数据库的类(比如View)中添加成员变量:
        CDatabase m_MyDatabase;
      • 初始化类时,对数据库进行初始化
        m_MyDatabase.Open(NULL, FALSE, FALSE, os);
        在这里os只是一个指定打开数据库参数的CString,形如:
        CString os = "ODBC;DSN=MyDb;UID=MyUser;PWD=MyPassword;";
        在这个字符串中有如下参数:
        • ODBC 使用ODBC数据库
        • DSN=... 数据源名称(就是在"控制面板>管理工具>数据源"中添加的名称)
        • UID=... 连接数据库的用户名
        • PWD=... 连接数据库的密码
      • 现在我们需要一个特定的recordset从数据库中获取数据.这很简单.新建一个继承自CRecordSet的类(AppWizrd(Ctrl+W),新建类),以及要用到的字段等.(如果你要在多个不同的View中使用数据库,你可以创建多个CRecordSet的子类(比如为每一个table创建一个recordset))
      • 把定义了recordset的头文件添加到要使用数据库的文件中,并设置所需的变量.
        CMyRecordSet *MyRecordSet;
      • 然后打开recordset:
        pMyRecordSet=new CMyRecordSet(&m_MyDatabase);
        pMyRecordSet->Open(); // You can open it in many ways, see the help
        .
        .
        .
        pMyRecordSet->Close() ;
      • 关闭程序是别忘了关闭数据库连接.
        m_MyDatabase.Close();
      想要更深一步了解数据库便编程,可以查看帮助文档,本文只是一个开始.

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Tuesday, March 24, 2009

Google Code终于可以添加收藏了

今天找一款软件上了Google Code,发现不知道何时起,已经可以添加收藏了,以前没有这个功能的时候,只能使用浏览器书签收藏。现在方便多了。而且感觉这个星标功能比sf的方便多了。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Monday, March 23, 2009

突然想到字符串与整数相乘的简单实现

用正则,效率还算不错。
public class StringUtility { 
   public static String buildString(String cell, int length) {
        StringBuilder ret = new StringBuilder(length);
        ret.setLength(length);
        ret.setCharAt(length - 1, ' ');
        return ret.toString().replaceAll(".", cell);
    }

    public static void main(String[] args) {
        System.out.println(StringUtility.buildString("[]", 10000));
    } 
} 

不知道还有没有更好的实现方法。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

LayoutManager删除Component的的误区

最近在写ui时,一时糊涂,用LayoutManager的removeLayoutComponent方法移除组件,结果组件是移除了,但重新在容器内添加新组件内,显示的竟然还是原来的(我的布局是BorderLayout),起初还以为是界面没更新了,折腾了半天,重新查API,结果找到了原因。
BorderLayout (Java 2 Platform SE 6)

removeLayoutComponent

public void removeLayoutComponent(Component comp)
此边框布局中移除指定组件。当容器调用其 removeremoveAll 方法时,可调用此方法。大多数应用程序并不直接调用此方法。
指定者:
接口 LayoutManager 中的 removeLayoutComponent

参数:
comp - 要移除的组件。
另请参见:
Container.remove(java.awt.Component), Container.removeAll()
从布局中移除指定组件,也就是说并没有从容器中移除。所以还是建议使用容器的remove方法移除组件,以保万无一失。
偶然遇到这样的情况,和大家分享下。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

Sunday, March 15, 2009

开始学习jQuery: 表格隔行换色和悬停高亮效果

正式开始学习jQuery(非常了不起的东西).
从最基础的东西开始学习.

在网页中,当遇到数据表格中,经常需要一些隔行换色和鼠标移过时行高亮的效果.
下面是一个简单实现.

<html>
<head>
<title>Demo</title>
<script type="text/JavaScript" src="jquery.js"></script>
<style type='text/css'>
tr.highlight {background-color: #EFEDDE;}
tr.odd  {background-color: #EEEEEE;}
tr.even {background-color: #DDDDDD;}
</style>
<script language='javascript' type='text/javascript'>
$("document").ready(function() {
    $("tr").each(function(i) {
        var className = ["odd", "even"][i % 2];
        $(this).addClass(className);
        $(this).hover(
            function() {
                $(this).removeClass(className);
                $(this).addClass("highlight");
            },
            function() {
                $(this).removeClass("hightlight");
                $(this).addClass(className);
            }
        )
    });
});
</script>
</head>
<body>
<table>
<tr><td>Nick Name</td><td>GreatGhoul</td></tr>
<tr><td>Phone</td><td>13028473721</td></tr>
<tr><td>Email</td><td>greatghoul@gmail.com</td></tr>
<tr><td>QQ</td><td>348189477</td></tr>
<tr><td>Blog</td><td>http://greatghoul.blogspot.com</td></tr>
</body>
</html>

如果只需要隔行换色效果,可使用以下代码.

$("tr:even").addClass("even");
$("tr:odd").addClass("odd");

已经喜欢上jQuery了.

转载声明: 出自: Ghoul To World!作者: GreatGhoul