2005年05月18日

升级到V0.1.1,在网友的帮助下,解决了数据库链接conn没有创建就调用的bug。

如果默认的板块boardid不是“1”,请修改s_frame.asp中第五行:
if boardid=""  Or Not IsNumeric(boardid) then boardid = 1
把最后的数字修改成你自己的动网论坛有帖子的一个论坛id

下载地址:http://bbs.dvbbs.net/viewFile.asp?Boardid=13&ID=80669(需要登录)

2005年05月16日

   Simple is beauty

  一个怀旧的、简洁的、只有文字的动网论坛简版基本完成了,它完全基于最新的动网7.1主板程序,完全兼容。一个人穿了两套衣服而已。这里只可以进行最基本、简单的帖子列表,看帖,发贴,回帖。

  开发这个简版主要是为了一个论坛的朋友们,他们是较早的互联网用户,那时互联网上提供的论坛服务都非常单纯,就是发帖,看帖。对他们来说,交流是最重要的,很多人都已经习惯了最早的论坛分帧的形势——上面是帖子列表,下面是看帖,回帖——就像乐趣,西陆论坛。两年前,在动网论坛5.0320的基础上,写了一个简版,后来因为老版本的漏洞,最近将论坛升级到7.1,而简版也需要重新写过了。这里只可以进行最基本、简单的帖子列表,看帖,发贴,回帖。

  这个版本不解决,也不打算解决的问题是:1,没有显示置顶的帖子。2,不处理诸如金钱贴。3,不处理看帖权限。4,不显示签名等。5,没有做发帖验证码。因为朋友们的要求只要简单的看帖就可以了。

  这个版本就是给希望有纯粹的论坛功能的站点设计的,欢迎试用。如果还发现了什么问题请通告我。

这是截图:        

下面是readme.txt

======================================

动网论坛简版 v0.1(基于DV 7.1)

=》序言:

开发这个基于DV7.1的简版论坛,完全是我们自己的需求,现在发布上来,看看是
否有人有兴趣。
安装的时候,很简单,直接放置在DV7.1的主目录下,按照自己的论坛,稍微修改
一下s_const.asp文件就可以了。修改方法,已经详细的写在文件中了。

可以通过(1):http://你的动网论坛URL/s_frame.asp,默认会访问boardid=1的板块。
也可以通过http://你的动网论坛URL/s_frame.asp?boardid=板块id来访问。

=》文件列表说明:

s_message.htm:说明页面
s_const.asp:全局变量和函数定义,需要根据自己论坛的情况修改。
s_frame.asp:简版的主框架页面,分成上下帧。上面是帖子列表,下帧是显示
s_input.asp:输入新帖子页面
s_list.asp:帖子列表程序,自己从DB中读取数据,所以没有做帖子附加控制
s_savereply.asp:加新帖、回帖功能,调用了全部使用稍微修改过的类Dvbbs_Post(savep
ost.asp)处理。
s_disp.asp:显示帖子程序,自己从DB中读取数据,所以没有做帖子附加控制

=》说明:

主要利用到了动网7.1里的两个类:
1,Cls_forum类(inc/Dv_ClsMain.asp),定义的全局对象是Dvbbs,主要实现了
用户的session,板块,等等问题,是一个非常重要的对象。
2,Dvbbs_Post类(savepost.asp),根据情况稍微修改了一下。实现了发新贴、
回帖,这样就不用自己去判断里面的规则和处理流程了,减少出问题的可能性。
登录,注销,全部是通过系统的login.asp和logout.asp实现了,减少了漏洞。
只有帖子列表和显示帖子,是自己写的sql,另外,显示帖子的时候,使用了Dv_ubb
做UBB解码。

=》需要修改的地方:

s_const.asp里需要修改的两个变量:
DIM UseTable ‘目前使用的帖子表,一定要根据自己的情况修改的
UseTable = "Dv_bbs1"

‘所有的论坛板块,本来打算是从系统中得到的,后来发现比较麻烦
‘所以还是自己来配置吧。配置的格式是:论坛id,论坛名字。成对出现
DIM BoardString
BoardString = "1,xx天下,3,xx生活,4,广告版,6,xx板块"

======================================

这里不让上传附件,请到动网论坛链接下载V0.1.1:http://bbs.dvbbs.net/viewFile.asp?Boardid=13&ID=80669(需要登录)。

2005年05月15日

昨天晚上在MSN上就收到朋友发来的消息,浙江工大女生被刺。这个并不是很重要,后面跟的链接才是非常冲击,是旁观者抓拍的现场照片。非常血腥,打开请慎重。http://bbs.su-zhou.gov.cn/Announce/Announce.asp?BoardID=9&ID=49343http://club.cat898.com/newbbs/dispbbs.asp?boardID=1&ID=619110。当时也就看过,感叹了一番而已。据后来的消息,受害者已经获得了抢救。而今天晚上,又在sina的新闻中看到了关于这个事情的简短报道,http://news.sina.com.cn/c/2005-05-15/11185892437s.shtml,介绍的更清楚一些,但没有现场的照片。这才让我回想起昨天看到的消息。

sina上的消息没有照片,可能一是社会责任感,不能放太血腥的照片,二是,记者根本就没有拍下照片来,事情发生,结束的太突然了。

以往,在一些大的事件后,总有普通的当事者进行叙述和回顾,在互联网普及之前,这些普通人的叙述和回顾只能通过大家的口头进行传播。因为无论在哪个社会,媒体都不是对普通人开放的。而互联网兴起后,普通人有了自己的发言渠道,只需要很少的成本,就可以让全世界的人看到自己眼中的大事件。而现在数码相机的越来越流行,越来越普及,对草根阶层传播信息又提供了更便利的途径,提供了更加丰富多彩的资料。也许,这也就是图片BLOG站点,例如flickr,fotolog等越来越多的基础吧,图片信息的分享。

看了看抓拍照片的EXIF信息,用的是奥林巴斯 C-350Zoom,体积小巧,非常便于携带。我想在此事以后,拍摄者会更加习惯于随身携带数码相机,准备随时拍摄碰到的突发事件。

这就是奥林巴斯 C-350Zoom:

互联网,很伟大,也很平民。

update:被刺女生15日凌晨身亡

2005年05月13日

自从发现了SVN后,我在自己的项目中总是使用SVN来做源代码管理,在windows上使用TortoiseSVN做客户端。TortiseSVN作为windows客户端有个非常好的用途,就是不需要SVN的服务器,就可以管理本机硬盘上的代码和文档。我也一直这样使用。可以参见猛禽的Blog,SVN的Local方式:个人源码管理的好办法(CSDN的blog到底出了什么问题,都不能访问了)

一直用了TortiseSVN1.1.3没有升级,今天早上,手工检查了一下,发现升级到1.1.7.3332,就去下载了看看。尽管我不用翻译后的TSVN,但基于习惯,总是要去下载一个中文包。嗯,却没有发现有相应的中文语言包下载。再看了一下转移到http://tortoisesvn.berlios.de的TSVN的帮助站点,才发现现在帮助方式已经修改了,采用了PO文件作为翻译方式。PO文件其实是UTF-8的文本文件,非常容易编辑,这样也方便了翻译。但最后需要注入近语言DLL,才能被TSVN使用。目前TortiseSVN的版本比较新,所以还没有相应的中文DLL出来。一时有兴趣了,就自己来编译个中文DLL吧。

首先,要看看TortiseSVN的帮助了,现在转到http://tortoisesvn.berlios.de,帮助内容丰富了许多,首页右侧的常见问题,一定要看看。

关于TSVN的language的问题,有个页面谈到了:http://tortoisesvn.berlios.de/faq/index.php?action=artikel&cat=4&id=162&artlang=en&highlight=language。里面的这个链接就是关于TSVN的翻译的完整说明:http://svn.collab.net/repos/tortoisesvn/trunk/Languages/translations.txt

1,首先下载翻译好的语言文件:Tortoise_zh_CN.po
http://svn.collab.net/repos/tortoisesvn/tags/version_1.1.7/Languages/下载最新的Tortoise_zh_CN.po,因为简体翻译还在进行中,所以在http://tortoisesvn.berlios.de/l10n有更新的,可以看到翻译了96.5%。在文件中可以了解两位中文简体翻译者
NetCobra <netcobra@gmail.com>
Cecil Sheng <
zcecil@csie.org>
在此表示感谢。

2,然后下载注入软件:ResText
http://tortoisesvn.tigris.org/files/documents/406/14560/ResText.zip下载。它是一个将PO里的数据注入到你自己的资源DLL的软件。

3,最后是下载两个空的语言资源DLL:TortoiseProcLang.dll(主程序使用),TortoiseMergeLang.dll(合并比较程序使用)
http://tortoisesvn.tigris.org/servlets/ProjectDocumentList?folderID=1847下载,一定要下载版本对应的空DLL。当当当当,在这个页面没有1.1.7。我试了一下1.1.5的DLL,确实是不行的。后来就想,自己来编译一下TSVN,这就是OpenSource的好处啊。

编译语言资源DLL:
利用老版本的TSVN,CheckOut出:
http://svn.collab.net/repos/tortoisesvn/tags/version_1.1.7/src/。看看build.txt,编译整个的TSVN,需要的资源(很多配套软件,磁盘空间1.5G等等)。但我们只是编译两个资源文件,是不需要这些的。用VS2003打开整个解决方案,可以看到有两个专门的语言项目:TortoiseMergeLang;TortoiseProcLang。

先将项目根目录下的version.in另存为version.h,将头文件里面的$WCREV$全部替换成3332。然后在VS里面编译且只编译:TortoiseProcLang,TortoiseMergeLang项目。这样在..\..\languages目录下就有了TortoiseMergeLang.dll,TortoiseProcLang.dll。

4,PO注入到DLL:
将四个文件:TortoiseMergeLang.dll,TortoiseProcLang.dll,ResText.exe,Tortoise_zh_CN.po放到一个目录下。从http://www.microsoft.com/globaldev/reference/lcid-all.mspx查询到简体中文的localID是2052。然后再控制台里输入:
restext apply TortoiseMergeLang.dll TortoiseMerge2052.dll Tortoise_zh_CN.po
restext apply TortoiseProcLang.dll TortoiseProc2052.dll Tortoise_zh_CN.po

将生成的两个xxx2052.dll copy到TSVN的目录下的languages目录(必定是C:\Program Files\TortoiseSVN\Languages\,TSVN安装的时候没有让选择目录。)

然后在右键关联菜单TortoiseSVN条目中选择“Settings”,就可以设置中文语言包了。

使用了1.1.7版本的TSVN后,发现了我一直想要的功能,就是自动关于提示窗口,比如checkout,commit后,没什么问题的话,提示窗口会自动关闭了,如果你使用多TSVN后,就能感觉,这个功能是多么的实用。

看截图,可以看到还有一些地方没有翻译,我按照Tortois.pot里面的条目,在中文PO中添加了两处翻译。

#: Control-ID:1066,
msgid "&Close windows automatically"
msgstr "自动关闭提示窗口(&C)"

#: Control-ID:1123,
msgid "D&on’t close on conflicts"
msgstr "提示冲突时不要关闭(&o)"

重新注入,程序提示中:没有翻译的地方少了4个(不知道为什么)。将新的TortoiseProc2052.dll覆盖过去,然后再看看,呵呵,这两处地方已经是中文的了。

如果谁需要TortoiseSVN 1.1.7.332版本的中文DLL,可以发Email给我。