隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  209 Posts :: 84 Stories :: 392 Comments :: 0 Trackbacks

07 2007 档案

     摘要: 看了Win32窗口程序的初始化及至结束过程,还是画一个思给导图清淅表述一下  阅读全文
posted @ 2007-07-28 13:14 隔叶黄莺 阅读(123) | 评论 (1)  编辑

     摘要: openldap 比起其他商业目录服务器(比如 IBM Directory Server),特别的轻巧,十分适合于本地开发测试用,在产品环境中的表现也很优秀。

openldap 软件在它的官方网站 http://www.openldap.org, 不过下载过来是源代码,并没有包含 win32 下的 Makefile 文件,只提供了在 Unix/Linux 下编译用的 Makefile。所以相应的在网上介绍在 windows 下安装使用 openldap 的资料比较少,而在 Unix/Linux 下应用文档却很丰富。

本文实践了在 Windows 下安装配 openldap,并添加一个条目,LdapBrowser 浏览,及 Java 程序连接 openldap 的全过程。

1. 下载安装 openldap for windows,当前版本2.2.29
下载地址:http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-o  阅读全文
posted @ 2007-07-27 02:49 隔叶黄莺 阅读(1617) | 评论 (4)  编辑

     摘要: 写这个的初衷也就是因为,有些技术我总是在一次次重复的去经历从入门到半精通的过程,颇感苦恼--白费了许多时间与精力。

工作或项目中学来的需反复使用的技术,掌握的会比较牢固,即使隔上一两年脱手再使用,也能迅速回过神来。因为它们常常是有明确目的性去研究掌握的,并且工作中也不时的会用到,许多还是让你非常有成就感的东西。

然而对于某个项目偶尔用过又抛弃,或者是自己一时兴起学来的一些技术,即便当时真正是理解了它,如果隔好一阵子对它不闻不问了,再次捡起,也会像未曾谋面一般,不得不又从头开始一点一滴的去熟悉,实是浪费时间。

我就是那样的感受,比如说 Struts 1.x 对来说是用的最频繁的,对它的构造和原理也比较清楚,相信离开它一段日子还能轻松的驾驭它。还有 Java 本身,自我感觉也还不错。

PHP第一份正式工作中应用的比较深刻,需要的时候可以很快上手。ASP 因为相对比较简单,不会构成问题。对 TCP/IP 以及 SNMP 协议的学习、项目经历总还是记忆犹新,想忘记也不容易。

但是其他许多的技术就没那么幸运  阅读全文
posted @ 2007-07-26 01:00 隔叶黄莺 阅读(1269) | 评论 (9)  编辑

     摘要: 做了一个 Java 程序放在 Solaris 下运行,用到许多的第三方包,有 *.zip 的和 *.ja r的,放在 lib 目录下,然后写了一个 shell 脚本来运行那个 java 程序,那就要在 classpath 中包含所有在 lib 中的第三方包。

原来的做法是在 classpath中把lib目录中一个个的包文件名用冒号连缀起来,比如
classpath=.:lib/a.jar:lib/b.jar:lib/c.jar:lib/d.zip
java -classpath $classpath com.unmi.Main

碰到程序升级,在lib中增加或减少了包文件,又要再重新修改那个启动 java 程序的 shell 脚本,甚是麻烦。由此想写个 shell,功能是能列举lib目录下所有第三方包,用冒号连缀成一个 classpath 变量,这样的话,无论在 lib 目录中增减包,都不需要再次修改那个启动 java 程序的 shell 脚本,就像 tomcat,无论是 common/lib 还是 app/WEB-INF/lib 中的  阅读全文
posted @ 2007-07-25 21:14 隔叶黄莺 阅读(1457) | 评论 (6)  编辑

     摘要: 一切尽在代码中,代码中也太多了if/else,可以对它进行更好的函数及至类的封装,规范的处理好异常。

#include
//需要在VC的Options设置一个include路径指向'%mysql_home%/inlude'目录
#include
//设置一个lib路径指向'%mysql_home%/lib/opt'目录 (mysql5.0是个目录)
#pragma comment(lib,"libmysql.lib")
#define host_name "localhost" //数据库服务器
#define db_name "test" //数据库名
#define user_name "root" //用户名
#define password "" //密码
int main( int argc, char * argv[]) {  阅读全文
posted @ 2007-07-24 01:59 隔叶黄莺 阅读(263) | 评论 (1)  编辑

     摘要: 看资料介绍说 Windows 2000 以上的 SDK 提供了格式化逻辑驱动器的函数 SHFormatDrive, 这是一个外壳函数(Windows界面操作环境称之为外壳),从 shell32.dll 库导出,调用后会弹出一个格式化对话框,只有用户单击"开始"按钮后格式化才开始,使用时应包含头文件 shlobj.h

我都照做了,下载安装了 Windows XP SP2 的 SDK, 并配置在了 VC 的 include和lib目录中了,也把新SDK的目录调到了最上面,程序中也包含了 shlobj.h, 而且看到新的 SDK 的 shlobj.h 中确实有 SHFormatDrive 函数原型,可是当我使用 SHFormatDrive 函数编译时总提示我找不到这个符号。不知道发生什么问题了,留待以后有需求时再解决吧,反正就是预编译宏展开时,不是去 include 新的 SDK 的 shlobj.h 文件,include 的是 VC98 中的 shlobj.h 文件。

无奈之时,只能手工的加载 shell32.dll, 找到 SHFormatDrive   阅读全文
posted @ 2007-07-15 15:47 隔叶黄莺 阅读(136) | 评论 (0)  编辑

     摘要: 三八、获取屏幕RGB值:OnTimer中添加
CPoint pos;
GetCursorPos(&pos);//获取鼠标坐标
HDC hDC = ::GetDC(NULL);
COLORREF clr = ::GetPixel(hDC, pos.x, pos.y);

CString ClrText;
ClrText.Format("R:%d G:%d B:%d",GetRvalue(clr),GetGvalue(clr),GetBvalue(clr));
三九、打开一个网址:
打开http://www.sina.com.cn这个站点如下:
ShellExecute(NULL, "open", "http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE );
此命令将以默认浏览器打开http://www.sina.com.cn,并将加开后的窗口最大化。
又例:
ShellExecute(NULL, "open", "IEXPLORE.exe ht  阅读全文
posted @ 2007-07-14 19:56 隔叶黄莺 阅读(312) | 评论 (0)  编辑

posted @ 2007-07-05 00:35 隔叶黄莺 阅读(1492) | 评论 (7)  编辑

     摘要: 通常在网页里都有一种这样的需求,为了界面整洁,在显示标题时需要把长标题以部分加省略号连缀显示,就比如中国博客网显示日志标题--下面那样

·在VC6中使用正则表达式解析...(2007-06-24)
·VC中使用CInternet...(2007-06-23)
·开源嵌入式数据库 SQLit...(2007-06-23)

问题一是前面那部分字符串怎么来确定,上面很明显示的看得出来,因为标题中混杂着中英文,仍然没有达到初衷。

大部分的实现方式是原字符串超过一定的长度一切取前面指定个数的字符然后加上省略号,显示中文和英文是不能同等对待,10个汉字的宽度一般来说要大于10字母的宽度,再聪明一点就是近似把一个汉字折算成两个字母宽度来估算,可是还要注意一点即使全是英文,10个W也要比10i宽得多,还是未能得尝所愿。

对于单纯的切取前面若干字符的支持有一些现成的东西:
1. Jakarta Commons Lang 中的 StringUrl.abbreviate() 工具方法
2. p  阅读全文
posted @ 2007-07-04 20:08 隔叶黄莺 阅读(1039) | 评论 (1)  编辑

     摘要: 摘 要: 与常见的数据库相比,嵌入式数据库具有体积小、功能齐备、可移植性、健壮性等特点,本文分析和比较了典型的嵌入式数据库SQLite和Berkeley DB。首先从体系结构、子系统间调用关系、任务执行过程等角度对SQLite和Berkeley DB进行了详细分析,然后重点从数据类型、存储方式、模式、数据库引擎和错误处理及加密功能等方面讨论了SQLite和Berkeley DB的异同点,最后列举了一个基于ARM—Linux的SQLite应用实例。

关键词: SQLite、Berkeley DB、SQL、虚拟数据库引擎(VDBE)

引言

随着计算机技术与其它学科间的不断交融、渗透,数据库应用的范围更加深入和具体。那些仅适用于PC机,体积庞大、延时较长的数据库技术已不能满足针对性较强的嵌入式系统开发的需求。SOLite和Berkeley DB是目前应用较广泛、技术较稳定的两种嵌入式数据库。然而,国内对嵌入式数据库的研究起步较晚,还没能引起更多人的关注。更多人熟悉那些基于C/S或B/S结构的关系型数据库来实现数据的存储、检索等功能。然而,  阅读全文
posted @ 2007-07-02 17:57 隔叶黄莺 阅读(221) | 评论 (0)  编辑