All Stories
“换肤论者”,呵呵,这个名词是在公司内部一个论坛上看到的,说的是一位同事说sogou输入法可以换成好多不同的外观,然后下面就有另外一位同事说,原来是个换肤论者。现在我发现,我也是个换肤论者,上sogou的网站看看,有好多比较漂漂的皮肤,然后又看到像极点中文之类的五笔输入法也是可以直接支持换肤的,想我用的五笔加加就不行,虽然当年它刚出来时用的组合框和候选框合一的界面新颖大气,可是这么多年过去了,也看腻了。无聊了,于是打算把我自己在整的那个输入法弄成可以换肤的,呵呵,大概的样子就像sogou那样,可以让候选框使用不规则形状,其实是用一张图片加掩码来合成一个region,再设成窗口的形状。用google在codoguru上搜到一段代码,可以把一个bmp转换成region,太好了,直接套上,真的可以直接显示不规则窗口呀,好开心!不过昨天发现问题,先是大红色(RGB(255,0,0))的掩码不起作用,但粉红色(RGB(255,0,255))的可以,单步跟踪到那段代码里面,发现是GetRValue等操作的时候在对一个色彩值取值时好像顺序错了,于是自己改了一下,改成大红色的也可以了,但其实没改对。后来又发现,对于超过一定高度的图片,窗口只能显示出上面一部分,又找了好久,把一些有用没用的代码都删掉,还是没找到原因,一直搞到后半夜2点,弄得心力交瘁啊。今天回来一下,原来在每次重画窗口时有一个MoveWindow操作,里面把高和宽都写死了,高只写了个90,所以只要超过90个像素高度的图片来操作,都会有问题。然后又发现,有一张淡蓝色掩码的,也没有正确的合成region,再跟踪了一会,又是那边取色彩值的地方的问题,又改了一下,现在也可以了,不知道是原本代码中的问题,还是其它什么问题,因为代码中提供的示例程序,是用黑色(RGB(0,0,0))这样特殊的值来演示的,可能并不能很好地测试到。 关于在Firefox中不能显示的原因,所说是因为自由拼音输入法并没有完全按照IME框架来写的,所以有问题,难道我要去找DDK中的那个例子来看看,然后重新写了一个。 不过说实话,自由拼音中的结构真的有点乱,而且效率也不行,特别是词库组织方面,比较土。尤其是后来被另一位作者加了五笔功能,代码更乱,连用UNICODE编译都会有问题。真要好的话,真的不如好好学一下IME框架,能支持UNICODE从头开始写一个。 目前已知问题:1、有些程序下弹不出候选窗口;2、有时候词库会乱,要重新打开一遍输入法才行;3、有时候会引起程序死掉,今天在公司里用Word就碰到过,所以不能用于重要场合;4、拼音的词组词库有问题;5、有时候状态窗口也显示不出来;6、还有很多其它小问题。
真是赶啊,下班就忙不迭地跑去生产中心坐班车,跟估计的差不多,开了45分钟到了莲塘,然后又走了五六分钟路,才赶到吃饭的地方,xcc和他gf已经在了,4个人喝了一顿粥。
这两天在整那个输入法,很多是模仿五笔加加Plus来的,因为我的使用习惯已经深深地被五笔加加Plus影响了。把分号开头转英文,大写字母开头转英文弄了,把状态窗口也换了,不过真难看啊,呵呵。 只是有些程序中显示不了候选窗,一点头绪也没有。这个问题不解决,几乎可以说,这是个没用的输入法。
下午打开了久违的BDS2006来写了几行代码,觉得非常不习惯!可能我已经更习惯于用VC了,VC加上VAX,还有VC的宏定义功能,简直是无敌的。因为不习惯了,所以没写几行,就不想继续下去了(这个借口比较好,呵呵),于是又开始无所事事。 真郁闷,我已经用不回VCL了,因为从心里开始抵触了。以后只能用用WTL(或者MFC)了,不然直接用SDK画界面实在是浪费时间,不明智之举。Delphi 2007装好后,从来没用过。现在C++ Builder2007也已经有试用版可以下载了,不过我最多是装上看看,估计不会怎么去用了吧,因为现在在我看来,无论是Framework还是IDE,亦或是Compiler,都已经比不上VC系统了。 我真没用!
今天我们谈起怎么调错跟踪,说到用日志,老大说不行,不能在程序里做这样的事,要调错就在这里把所有的bug都清掉。我觉得很不可理喻啊!另外两个同事也觉得有点郁闷。想想大型的软件系统哪个没有日志记录啊,而且说起影响性能,其实这个开销是微乎其微的,看看我们公司产品,里面不也加了黑匣子吗!再说了,怎么可能把所有的bug都清掉,这是违反自然规律的。倒是把日志系统做强大了才是应该真的好好考虑的一件事。后来那两个同事偷偷说,不管他了,我们就那么用,反正他也不知道,晕!老大的有些想法比较怪啊,他还不让用Boost,如果能允许用Boost的话,有些事情可以变得简单一些呢! 功能基本上是都实现了,至少代码是写了,很多整理工作要做。
中午还在睡觉,她就发短信来,说要我晚上请她吃饭,我想到她大概来出差了。和另外两个同学,去蜀味轩吃了一顿。打折好少哦! 见到小玉玉了,我们果然一句话也没有说,唉。 今天突然公司的那个VC2003不停地崩溃,都不能用了,一下午就浪费在重装上了。
今天好像把那个东西做完了,只剩下一些细节优化和问题修改了,大事化小,小事化了真是一种行之有效的方法,想当时一头雾水,毫无思路,现在几乎是做完了,想起来觉得有点不敢相信啊!不过VSS操作的那些标志位,看得我想吐啊,有些就是不知道它在讲什么,呵呵。但是估计那些零碎的活也是很花时间的,想想那个GT3000的部分,到现在也没做到尽善尽美啊。版本最终发布时间是6月底,我的进度很宽裕啊,哈哈,想起来就觉得开心。如果时间多,可以做些自己感兴趣的事啊,真期待啊!
不知道是不是心理作用,总觉得这几天我的霉运来了。今天早上在楼上还看是没下雨的,艳阳天来着,走到楼下突然下起雨来,我也懒得再回楼上拿伞了,就直接走了。晚上下班的时候,吃饭前还是阴沉的天,吃完饭就是倾盆大雨了,还没带伞,刚好看到jr和他lp一人一把伞在那里晃悠,就向他借了把。坐车出了公司区域,猛然发现这边地都是干的,我想把车砸了! 坐在车上,想着其他的事情,联想起小丫头的生日也快到了,然后又联想起其他的事情。回到家,翻出久久未动过的输入法,一边看一边改,想用UNICODE来编译,一直是编译后不能正常运行。但是依稀记得曾经似乎好像是正常过的呀,现在这样纠缠也没用了,仔细看看代码,很多地方确实没有处理好编码问题,都是照着多字节字符集编码方式来写的代码,要改的地方还有点多,有些地方都不知道怎么改得好。现在至少得解决以下几个问题,才能算得上一个可以拿出来用:1、五笔状态能分号转英文,首字母大写转英文;2、拼音可以连打;3、状态窗应该能稳定地显示出来;4、候选窗在FF/Opera等环境下能显示出来;5、一个直观方便的途径可以进行设置。
晚上坐公车回家,又遇上堵车,气死人了! 今天把昨天弄的SPS页面给老大看了一下,老大是高兴得眉开眼笑啊,真是让人觉得很不是滋味。似乎现在我只要做这个东西就行了,不过另一边的东西我还是没放下过啊,说是15号前要做出来。我想15号肯定功能是可以做出来的,大不了bug多点罢了。而且今天又把其中一些特性思路整理了一下,豁然开朗啊,原来我要做的事情真的很少很少啊。估计老大很是担心我的能力,所以尽量分少点,或者分些他认为不是很难的任务给我做,哈哈,并且他给的期限不是15号哦,而是6月底,哈哈。不过再回头一想,我总算是没在5月底前完成自己定下的目标。