Monthly Archives: March 2005

改变STL中的默认输出流

我们写程序的时候,为了方便,经常需要修改流的方向,或者将默认的输出流重定向到我们的文件或者是内存中,而不是系统默认的终端。参考代码如下: #include <iostream>#include <fstream> int main(int argc, char* argv[]){    std::ofstream StreamOut( “out.txt”);    std::streambuf * OldBuf = std::cout.rdbuf( streamOut.rdbuf());     //写入out.txt文件中    streamOut << “streamOut\n”;    std::cout << “std::cout\n”;     //注意恢复    std::cout.rdbuf( OldBuf);    return 0;} 下面是如何使得上面的代码自动运行: #include <iostream> template< class char_type, class char_traits … Continue reading

Posted in BCB||C++ | Leave a comment

在BCB中嵌入Python

一直以为,在CB中嵌入Python是困难的一件事情,但是今天有点时间,看了Python自己带的文档后,照猫画虎的画了一个Python嵌入到BCB的小例子,居然可以轻易的通过了,呵呵,看来以前的认为还是心里作用在作怪。 文档带的代码为:———————-#include <Python.h>int main(int argc, char *argv[]){  Py_Initialize();  PyRun_SimpleString(“from time import time,ctime\n”                     “print ‘Today is’,ctime(time())\n”);  Py_Finalize();  return 0;} 这里的Python.h是你的实际的Python目录下面的include子目录下的文件,如果你的BCB无法搜索到,需要自己指定路径。在BCB的工程中,我们需要加入python23.lib,不过安装时候提供的lib文件是coff格式的,需要使用BCB的coff2omf进行转换一下再加入到工程中。程序在运行的时候,还需要一个动态库python23.dll,你可以放在windows的system32目录下面,也可以放在当前目录下。 不过这里只是测试了一下最简单的例子,如果你在一台没有安装python的机器上运行时,还会提示你一个信息,是和site相关的。

Posted in Python | 1 Comment

Google的Code站点开张了

站点:http://code.google.com/ 不过这个站点的RSS种子是atom的,用我现在的FeedDemon不认这种格式的种子。好像也没有提供邮件汇总功能,想得到信息估计只能到站点去看了。 这个站点提供了Google自己的一些API,像AdWords – Blogger – Deskbar – Desktop Search – Froogle – Gmail – Groups – Keyhole – Web search,目前也已经存在几个开源的项目了 CoreDumper, Sparse Hashtable,Goopy/Functional,Perftools。 就个人感觉而且,我是非常看好这个站点的,现在开源的是越来越流行了,软件开发已经从原先意义上的技术型开发转为了应用型的开发(业务开发),很多底层的东西,需要的是稳定是根据自己的需求进行修改,因此开源的底层会是越来越欢迎的。

Posted in Web应用, 我的原创 | Leave a comment

第15届Jolt奖

参考地址:http://www.csdn.net/news/newstopic/20/20114.shtml 里面居然有几项是我非常喜欢的东西获奖了Languages and Development EnvironmentsProductivity Winners:– 2.4 (python.org)Change and Configuration Management ToolsJolt Winner:– Subversion 2004 (CollabNet) 同时也从limodou的网站上获悉,google的一系列动作,发觉我的选择还是比较明智的,选择Python,比别人先早走了一步。不过也难说啊,想当年,PHP3刚发布的时候我就已经在项目中使用PHP了,现在呢,都忘记的差不多了。 不过感觉还是很重要的一点:玩自己感兴趣的东西!

Posted in 我的原创 | 1 Comment

BCB中使用URLDownloadToFile

HRESULT URLDownloadToFile( LPUNKNOWN pCaller, LPCSTR szURL, LPCSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB); pCaller  仅当调用者是一个ActiveX对象才使用,对于一个非ActiveX对象的应用程序这个参数应该为NULL  szURL  为要下载的绝对URL 文件名,这个参数不能为空。 szFileName  包含创建的目标文件名  dwReserved  必须为零 lpfnCB  一个指向 IBindStatusCallback 接口的指针, IE通过它向你通知下载的进度。 利用URLDownloadToFile()下载文件可以分下面几个步骤: 1. 提供一个要下载的URL文件名。 2. 构造一个目标创建文件的完整路径含文件名。 3. 创建一个IbindStatusCallback派生类,编写OnProgress()重载函数。 4. 派生一个类对象的事例 5. 调用URLDownLoad 函数,由于这个函数调用是同步的,因此你最好在一个工作者线程中调用这个函数, 6. 在OnProgress函数中,提供任何你需要的进度指示信息和其它界面,函数返回值告诉IE是继续下载或者是放弃下载。.  … Continue reading

Posted in BCB||C++ | 1 Comment

细节问题做起来还是烦死人的

不知道别的行业是不是这样,反正我接触到的材料和计算机,在一些细节上面的处理真是烦死人的。当年在学校,做材料试验,为了一个试样,居然要耗费一天的时间进行磨。现在搞软件,天天接触到的东西也都是一些琐碎的事情。这些东西搞好了,对软件的影响可能只是偶尔的,但是不搞呢,出了问题就是你开发者的问题了。 不过想想,其实社会就是这么一回事,大家都是在做小事的,只有小事做好了,在考虑大事的时候才可能会注意到对这件大事有至关重要影响的小事吧。目前我还是没有能力做大事的,就连一个像样一点的软件系统,都得修修补补才可以把一些东西给用户考虑到。所以,目前还是先好好的做我的小事,做好每一件小事。

Posted in 我的原创 | 1 Comment

BCB与Python

这几天,因为某些原因,我使用了BCB来作个小程序,因为对方要求是GUI的,虽然wxpython可以实现,但是某些业务的源代码对方不喜欢客户看到,所以我干脆整个代码都用CB来实现。不过我感觉CB在界面方面确实没有话说,但是在处理字符串方面,显然是差强人意的。幸亏我以前使用的CB还有字符串处理的相关函数存在,要不然重新写还是很麻烦的。 为了比较一下CB和python在处理字符串方面的开发效率,我后来又用python重新写了一份,一比较,代码量简直一个在天上,一个在地下啊。没的比的。我现在接触到的很多东西,字符串处理很多的,但是客户要求又要GUI界面,感觉应该使用CB作个GUI的框架,在框架里面支持python脚本应该是一个不错的选择。看看有没有时间吧。 不过wxpython也是可以实现GUI的,不过对于用户来说,wxpython目前不是很接受,而且我对wxpython的熟悉程序也不够,开发效率估计也没有CB快。不过记得以前有一个python的组件,应该拣起来看看。

Posted in 我的原创 | 1 Comment

软件的易用性

软件的易用性其实一直都存在的,只是在微软推出了Windows之后才开始升华。这几天帮同学在选型CRM软件,由于他说要买正版的,而且简单,操作要简便。然后他描述了他试用的几款CRM软件,基本都是要求自己手动安装数据库的,他虽然是本科出来,而且计算机应用也是不赖的,但是对于sql server的安装,还是比较费力,安装了几次都没有成功,最后放弃所有带数据库的CRM软件,暂时还是他老婆帮他整理客户资料。 其实用户易用性这是一个很复杂的东西,因为每个人都有自己的习惯,而且自己的习惯轻易不会改的,就像熟悉了windows的用户,使用别的系统肯定会吃力的。目前我使用过很多软件了,但是感觉很多软件是要用户去学习他,让用户熟练使用需要一段时间,特别是软件的高版本,功能越多了,使用也是越难了。其实软件作为一种工具,是给那些非软件人员用的(软件人员用的毕竟是少数的)。特别是对共享软件来说,购买者大部分是非计算机方面的人,所以软件关键的问题就是怎么样被用户接受的问题了。不过这个东西只有用户说了才算的,我们开发人员唯一可以做的就是怎么在下一个版本中权衡用户使用习惯的问题。

Posted in 我的原创 | 1 Comment