十一月 30, 2006

有段代码,是要获得一段字符串显示的长度。别的办法不知道,只知道定义一个Label对象,然后设AutoSize=True,指定好字体,然后填上这段字符串,然后取这个Label的Width属性就为字符串显示的长度。这是在VS.NET 2003中的。

移植到VS 2005上之后,发现无论怎么取Width的值都是100,很奇怪,于是仔细研究了Label类,发现了一个属性Label.PreferredWidth,才是应该用的。

帮自己记下来。

喉咙就这么肿着,也不变好,也不变坏。耗着吧。

昨天下午4点半开始安Visual Studio 2005。盘算着一个小时该装完了吧,装完刚好下班。可惜实在令我没有想到,一直到晚上7点钟,才算全部搞定。装了VS 2005、对应的MSDN,以及VSS 2005。中间倒是没有出什么问题,只是等啊等啊的,就等到了7点。机器太烂。

没来得及试用一下,就赶快收拾东西回家,饿死了。

今天来了,就把先前的VS.NET 2003的工程迁到VS 2005里。基本上可以交给升级向导来自动完成。没什么问题。只不过似乎对代码的严密度要求比原来高了,所以还存在一些错误。修正之后,编译什么的都没问题。工程里多了一个“My Project”的文件夹,据说是可以用来提供一些便利功能。不过对于升级来的工程,比较麻烦,索性不用。查找vbproj文件里边的“My Project”,删掉了事。

用于生成QR二维码的库文件DotNetBarcode.dll,生成的QRCode,看起来十分奇怪,搞不明白其model是多少。用其他的QRCode软件对比,就是找不出相同的参数。郁闷。

十一月 29, 2006

最近气温变化很大,突然间就十二、三度,又突然间就十六、七度。即将进入12月,可依然如此。完全不像冬天的样子。不知道是感冒还是上火,喉咙疼。吃了两天药,没有效果,想是药不对症,索性不吃了。

终于又拾起书本来看了。说实话,实在是不喜欢看日文的技术类的书籍。实在是不习惯。可是没办法,考试都只能用日文的,不看日文的书怎么行。不看的话,很多东西到时候看到了都莫名其妙。

准备明年4月考SW(ソフトウェア開発技術者)。今天又看了一下官方的指南,发现这个考试说来简单,实际考起来怕就没那么容易了,历年来合格率都没超过20%。那些去考试的人不可能不做准备吧。亲眼见了指南里边的AE(アプリケーションエンジニア)的下午论述题的题目,发现自己距离那个水平还很遥远。论述题有三问,第一问要800字,第二问至少得1200字,第三问是400到800字。回想起来,自己应该从没有用日语写过那么长的文章。以前学习日语时候对课文进行まとめ,也不过是一边翻字典,一边咬笔头,冥思苦想才能写出一点儿。

AE的论述先不说了,这个是以后的目标。目前的SW的下午的简答题,我能不能用正常略带专业的日语回答出来还是问题呢。可惜的就是没有老师来指导。

每天晚上看三节,是目前的进度,不算快。看完这本,还有剩下的两本需要看。而这些书,讲的太简单。只看这些,怕是过不了SW的考试。因此决定在看完全部剩下的之后,实施题海战术。不管是FE的题目还是SW、AE、AN的,只要能搞到的,统统做。

对了,官方指南上说,考过了SW之后,两年之内考AE、PM(プロジェクトマネージャ)或者AN(システムアナリスト),上午的考试可以免试。这点倒是不错。

最后说明一点:以前的日志在歪酷那边,有兴趣的朋友,可以访问这里:http://booker.yculblog.com/

十一月 28, 2006

使用Ajax时候,等待的过程依旧是漫长的。由于整个页面并不刷新,所以,需要告诉你的访客,数据正在加载。以免访客会以为浏览器或者网络出了问题而刷新页面。因此,你需要一个提示消息。你可以简单的写上“Loading…”。哦,当然,如果你不习惯用英语,可以用中文“加载中…”,“载入中…”等等都可以。礼貌一点,可以再加上“请稍侯。”如果能够动就好了。因为如果仅仅是几个字,等的时间如果超出了访客们的耐心,仍然可能让他们按F5,因为没人知道是慢,还是程序死掉了。

动的文字当然好,这里推荐的是动画。一个小的2KB的gif就可以给你的提示信息增色。你肯定要问去哪儿找合适的gif。当然去google了。不过相信你google了之后,会发现这样一家网站www.ajaxload.info。没错,它就是专门用于生成Ajax等待动画的。选择好样式,填好颜色,最好把背景透明勾上。然后点击生成过几秒钟就可以在下边看到你要的动画了。可以点击下载,或者直接另存,然后传到你的网站上试试吧。

我的数据库是EUC-JP的编码,因为安装的是PostgreSQL8.15的日文版。

在VB.NET的客户端程序中,需要使用COPY语句实现数据表的导入导出功能。

导出好办,先前还担心用户权限不够,无法写文件,后来发现担心是多余的,只是在postgresql的控制台下调用COPY语句时会出现权限不够的问题。大概,在控制台的时候,写文件的用户是postgres吧?

而导入让我花了会儿时间。一样的是COPY。导出的CSV文件,编码是UTF-8 without signature。而导入的时候,源文件的编码一般是Shift JIS或者是EUC-JP,而Postgresql要求的是UTF-8 without signature。于是需要一个转换,简单的就是按照GetEncoding(932)的编码把内容读出来,再用Encoding.UTF8来写到临时文件,再用COPY导入临时文件。

这么想是没错,可是存在一个问题。就是Encoding.UTF8得到的文件是UTF-8 with signature。有什么区别呢?signature就是BOM,UTF-8 with signature文件的开头前三个字节为EF BB FF,用于表示这个文件使用UTF8编码,使应用程序能够更简单的识别文件的编码类型。而一COPY,就会提示0xefbbbf在EUC-JP中没有对应的字符。

查了下资料,发现,只要把Encoding.UTF8换成New UTF8Encoding(False)即可。UTF8Encoding类的构造函数的参数表示是否使用signature。

下一页 »