关于作者

姓名:Jonny

性别:其他

出生日期:1980-05-12

地区:四川-成都

联系电话:

QQ:57922003婚否:未婚
用户名:kanglv
笔名:神康侠吕
地区: 四川-成都
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



erictb.blog.edu.cn

访问统计:
文章个数:40
评论个数:5
留言条数:2




Powered by BlogDriver 2.1

神康侠吕

 

我是一个二战迷,有幸踏入信息行业,深知落后就要挨打的道理,正赶上信息化战争的高潮,很想为国家出点力气。也许报国无门,暂且把这里做为一个不算阵地的阵地吧。

文章

qt3.3.3和sqlite3开发

因为工作需要,我在一个装了两个版本QT和sqlite3的计算机上开发程序。程序编辑好后,调用qmake,正确,再调用make的时候报错:不能在bin目录下找到uib。调用whereis qmake找到q安装目录,果然不存在该程序。修改Makefile,增加QTDIR=/usr/local/qt。

再编译错误很多。因为我使用的是qt例子中的方法,后来总是提示sqlite引擎不存在。后查看qt提供的帮助知道例子是按照插件的方式,也就是说要使用例子中的连接数据库的方法,必须首先安装sqlite3的插件,这才发现qt3.3.3和sqlite3不兼容,不能安装sqlite3的插件。在sqlite的主站上发现已经没有sqlite3之前版本的下载,随作罢。

但也不是就宣告不能使用sqlite3,仍然可以用头文件,库的土方法。在网上搜索到很多讲sqlite3使用的范例,都是抄自于sqlite3的范例,使用回调函数,后应用过程中,一来qt里边都是类成员函数,加上回调函数行不通,二来范例中始终没有讲到如何在回调函数中取多条记录。后查看sqlite3.h,在头文件中还提供有很多原生接口。

int sqlite3_close(sqlite3 *);

int sqlite3_open(
  const char *filename,   /* Database filename (UTF-8) */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);
int sqlite3_prepare(
  sqlite3 *db,            /* Database handle */
  const char *zSql,       /* SQL statement, UTF-8 encoded */
  int nBytes,             /* Length of zSql in bytes. */
  sqlite3_stmt **ppStmt,  /* OUT: Statement handle */
  const char **pzTail     /* OUT: Pointer to unused portion of zSql */
);

int sqlite3_step(sqlite3_stmt*);

int sqlite3_finalize(sqlite3_stmt *pStmt);
就是利用这些函数实现了读取多行记录的结果。

- 作者: 神康侠吕 2008年04月13日, 星期日 11:15  回复(0) |  引用(0) 加入博采

用vc开发excel程序

近日要做一个小程序,从一个excel文件里读取单词,并统计出现频率。在网上搜索了很多资料,发现有三种方法,分别是用COM,ODBC和直接读取文件的方式。直接读取文件,需要了解文件格式,不太方便。后来在http://www.vckbase.com/document/viewdoc/?id=693找了一个用ODBC方式封装好的类,用起来很舒服。一般读excel表格,是没什么问题,可就是统计好的数据要写回到excel表格里却经常出错。后来一琢磨,可能是不规则词的问题,不如词中会出现单引号等等。于是就起用第三种方法,使用COM。这个方法网上有例子,但不知道怎么的,都是互相引用,一模一样。都说要在app.initinstance方法里加上AfxInitOle(),可每次一加编译器就提示找不到该函数。后来把该函数改为CoInitialize(NULL);就没问题了。其他部分还是参看http://blog.csdn.net/biblereader/archive/2006/06/26/834663.aspx

- 作者: 神康侠吕 2007年01月6日, 星期六 22:43  回复(1) |  引用(1) 加入博采

分区恢复

周日计算机因为感染病毒,导致不能启动,下了一个ghost镜像重新安装系统,却把我原来的MBR也给刷了,最后我的硬盘上就只有一个分区了。开始很着急,就用了DiskGen工具,以前叫DiskMan,这个工具真好,竟然可以搜索所有的柱面去寻找DBR,从而获取以前的分区信息。呵呵,一下子找了很多,不过如果找到一个就保留为主分区的话,那可不是好办法。一来每个硬盘只能有四个主分区,二来有些搜索出来的分区信息并非你刚刚丢失的。这就需要失主能大致记得刚刚丢失的分区信息,比如几个分区,是扩展分区中的逻辑分区还是主分区,大小大约多少等。

从光盘引导,然后在dos里运行diskgen,选择工具菜单中的重建分区表,接着选择人工交互。因为分区信息已经被更新,而不是被损坏,使用自动交互没有意义了。首先搜索出来第一个分区就是目前的分区,也就是那整个硬盘一个分区的信息,显然这不是我以前的分区信息,跳过,扫描到第922柱面的时候又发现一个分区,大约1个G,也不是我刚刚丢失的,再跳过,马上又检查到一个扩展分区,这个似乎是我所要的,选保留。保留之后,整个扩展分区中的信息一下字都蹦出来了,果然几个逻辑分区正是我以前的分区信息。这个时候因为这个扩展分区已经囊括了其他硬盘空间,搜索也自动结束了。这样我就再由扩展分区以前的空间创建一个分区,作为主分区并激活,最后保存整个分区表信息。重新启动,Windows不能启动,毕竟重新建立分区,原有的信息丢失了。没办法重新安装windows,就成功的找到了以前的分区。

- 作者: 神康侠吕 2006年12月19日, 星期二 08:29  回复(0) |  引用(1) 加入博采

长虹实习感悟(一)
什么也没干,什么也没得...

- 作者: 神康侠吕 2006年09月26日, 星期二 13:20  回复(0) |  引用(1) 加入博采

长虹工作快一月

终于投入长虹的怀抱,现在已经快一个月了...

- 作者: 神康侠吕 2006年09月21日, 星期四 14:05  回复(0) |  引用(1) 加入博采