存档

  • 代码物语(八):A坛09萌战分组处理(2009)

    09年在A坛水区时候发起的萌战,最后沦落为马甲和金钱大战。鸭多(@yaduo)由于强烈的蹭得累属性,被累累晋级,一直杀到决赛。决赛阶段,鸭子企图利用王姨妈(@wym345700960)每蛋疼一次就注册一个马甲积累起来的马甲库将风筝(@yuri_ll)推上萌王宝座,无奈不敌众人+深山(@miyamayukimi)妹兄联盟的金钱攻势,众人一致认为蹭得累的鸭子该骑,以致又引发新一轮的骑动物大赛,最终强弩之末难穿缟素,在用尽姨妈的蛋疼力量后鸭子只好就范,加冕09年度萌王。详情战况可以爬A坛水区。 在对ID进行分组时遇到了点麻烦。最后为了公平性,采取了下面策略:计算ID的哈希值(MD5),对哈希值进行排序,然后按排序结果赋序号,最后对序号模4取余,按余数分成4组。如果手工进行比较累人,而且哈希值的排序不保证不会出错。最终余使用程序进行批处理。还是最熟悉的片刻之内就能写出的asp 代码

    477 次浏览 | 没有评论
    2010年4月13日 | 归档于 程序
    标签: ,
  • tinyXml输出utf-8文档

    TiXmlDocument虽然能读取utf-8的xml文件,但读入后在内存中是以多字节存储。如果新建一个TiXmlDocument,即使定义头为utf-8编码,直接调用SaveFile方法保存的文档仍然是Ansi(windows在CP936下为GBK)。TiXmlDocument不支持直接输出utf-8文档。 网上搜代码遍寻不着,自己摸索出来一个。 这里的编码转换过程是Ansi->Unicode->UTF-8。 Ansi:TiXmlDocument输出到TiXmlPrinter,调用TiXmlPrinter.CStr(),数据类型是char* Unicode:数据类型WCHAR或CStringW UTF-8:注意UTF-8的数据类型是char*,或者CStringA CFile写入文件的方法Write需要两个参数,待写入数据的在内存的起始地址和要写入的字节数 windows平台utf-8文本的前三个字节是EF BB BF,也即BOM(Byte order mark)标记 代码:

    1,451 次浏览 | 没有评论
    2010年4月8日 | 归档于 程序
  • 代码物语(七):船舶工程英汉汉英词汇检索(2008)

    这是一个很有趣的小应用,核心的代码不过70行。 烟酒僧时的课题差点就和船舶打交道了,在最后关头转向另外一个领域。在查阅一些船舶资料时,深深被那些专业词汇所困扰。后来在网上找到一个Excel文件,也就是下面提供的代码包里的“船舶工程英汉词典.xls”,打开后立即感到可以做成一个web检索版。 使用最熟悉的asp,不过两个文件即实现。其中find.asp是检索入口,实际上不承担检索任务,只负责将参数传递给查找页面,基本没有动态代码。核心的检索页面返回的结果是xml文本。下面两句代码很重要,它让asp返回一个utf-8编码的xml文本: 英文关键字采用的前缀匹配,MSSQL使用PATINDEX(在Acess中采用InStr来代替)返回的位置值来判断 中文采用关键字匹配。啥都没输入点击查询可以查到全部词条

    480 次浏览 | 没有评论
    2010年4月2日 | 归档于 程序
    标签: , ,
  • 代码物语(六):画图(2008)

    余学习编程的时间,也接近10年。高中时学习Pascal,了解如何使用顺序、条件判断、循环来构成一个基本的程序,参加过学校的兴趣小组,但最终没有去参加高中全国程序大赛,记得那年广东省内的比赛地在肇庆。在进入大学之后,C++是门必修课,但没怎么用得上场。大三自学Visual Basic,主要拿来做动态网站,成为余本科时代的最主要程序语言。读上烟酒僧之后,开始学习MFC,写windows程序,C++成为第一位语言。 这个画图是余的一个练习,主要实现了笔、直线、矩形、椭圆、多边形、贝塞尔曲线几种画笔。原点在画板中央,双DC作图,当年坐标之间的映射关系耗死余不少脑细胞 示例:Android机器人

    479 次浏览 | 没有评论
    2010年3月22日 | 归档于 程序
    标签: , ,
  • 代码物语(五):SYSU××研究中心网站(2006)

    06是asp代码写得最多的一年了,大概是大三课程相对轻松。在寒假回家之前,同学拜托余帮忙他的朋友写个动态网站,是学校内的一个研究所。原来的站点是个纯静态的html,他们想改成动态,方便后台管理添加新内容。版式、美工他们都已经设计好了,就缺会写代码的人,最后找到余,于是余又拿来练手了。 这个站点是余第一次不用自己做美工,由分工协作完成的项目。但asp不适合代码和页面分离,整个页面到处嵌套代码片段,导致页面的所有静态html代码仍然要余一个人完成。不过得益于不用管美工,效率非常高,在2月10号开工,月底基本完工,用时在余较大项目里应该是最短的。

    376 次浏览 | 没有评论
    2010年3月17日 | 归档于 程序
    标签: ,
  • 代码物语(四):web流媒体播放器htExobud(2006)

    05年弄海棠小筑仙剑专区时,使用Exobud在线播放仙剑音乐,得到不少好评。后来想将静态的Exobud动态化,于是有了这个htExobud。Exobud调用Windows Media Player来播放音乐,因此先天性只能支持IE内核的浏览器。htExobud只是将管理动态化,这个缺点不可避免也继承了下来(否则它就不叫htExobud了)。 在动态化过程中,余对播放清单的设计进行了较大改动,增加按专辑播放模式,增加专辑介绍。后台方面在文件管理下了一番功夫,v1.1版增加音乐播放管理模式。

    388 次浏览 | 没有评论
    2010年3月13日 | 归档于 程序
    标签: ,
  • 代码物语(三):IP查询(2006)

    完成这个IP查询是06年3月时候,记得挂机改造IP数据库那天去做的是计算机控制实验,回来时下着迷蒙小雨。 事实上ip查询的代码量是非常小的,后来的几个小应用都证明了,有时候完成一些有趣的事,只需几行代码。第一次写的算法是一个迂回查询,查询次数非常多。这说明了有时候数据的存储形式(还没到数据结构的地步)也是非常重要的。第二次写的查询方法就超级简单了,直接用大于小于进行判断,而且效率还非常不错。查询单个ip是瞬间完成。但当查询结果记录非常多的时候,翻页非常耗时了。翻页的耗时其实已经和查询方法没关,这只是一个打开大记录集(查询的返回结果)但仅仅需要显示其中一页的优化问题。任何大型的记录集都会遇到这个问题。

    490 次浏览 | 没有评论
    2010年3月11日 | 归档于 程序
    标签: ,
  • 代码物语(二):SYSU设备管理查询系统(2005)

    05年秋季开学后余去申请了设备处的编程助理,这是一个勤工俭学的职位。说是助理,但全部代码都归你写。老师给了一份可行性报告并提出需求后余就开工了,这个项目实际持续到06年5月。在这之前余仅有开发一个小留言板的经验,做这个项目能拿点小钱又长经验,其实挺好的。 写这个程序最大的挑战是统计图的自动生成。其实说难度也没难度,统计图生成控件别人都给你写好了,就是OWC(Microsoft Office Web Componet),顶多是拿过来用用。但对于那时候刚初出茅庐的余,由于没找到能成功运行的参考代码,还是非常有挑战性的。半夜忍受着蚊子叮咬,敲着代码,一行行进行调试,最终成功跑通一个无数据库连接的demo(余的月生活费构成比例),顿时内牛满面。 登录界面 图可由数据自动生成 主管老师的想法大概是还要做一个数据挖掘,也就是从数据库直接统计得出图表,而不是手动输入数据去生成。但那时候余要考研,后继大概无人,系统也就一直那样子了,到现在也没变化。

    417 次浏览 | 没有评论
    2010年3月7日 | 归档于 程序
    标签: ,
  • 代码物语(一):海棠小筑留言板(2005)

    从这篇起,开始总结余这几年所走过的路。 03年刚进大学,同舍就买了电脑,很快个人第一个RPG——仙剑3很快通关,自此,仙3在余心头中占据了不可替代的地位。04年时候余开始利用学校分配的静态空间制作个人主页,命名为海棠小筑。现在回过头来看,相当的丑。暑假,仙3外传问情篇发售,通关后开始制作海棠小筑仙剑专区,由此鸭多(@yaduo)还上门来找过乐谱(世界真是小啊)。 05暑假,学习asp取得重大进展,原计划将海棠小筑仙剑专区动态化,仅仅写了数行终未完成。 个人真正意义上的第一个asp程序是下面的这个留言板。风格和样式来源于苹果树下(appleshow.cc)。个人在美术方面对配色一直苦手,看到的苹果树下的风格,为之一亮,以致后来制网的样式仍然一直在沿用。 05年秋季回校后,余接到了第一个真正项目。而之前,余所拥有的全部开发经验,仅仅是这个留言板而已。

    476 次浏览 | 没有评论
    2010年3月6日 | 归档于 程序
    标签: ,
‘程序’ 分类的存档