 |
[投票]网站用户类型调查
|
|
| |
| 为了更好地为大家服务,请各位告知你的用户类型,我们需要统计一下。我们将根据统计结果决定主服务器的设放位置,谢谢合作!
|
|
| 作者:不祥 bluejoe张贴于2004-03-29 22:45:50.0,共阅读1687次,回复0次 |
|
|
 |
Hibernate的为什么成功??
|
|
| |
| 这篇文章是Gavin King写的,非常有趣,充分体现了Hibernate的设计理念,我粗略的意译如下:
下面是对Hibernate开发工作的个人想法,正是这些工作使得Hibernate如此迅速的得到广泛的欢迎。
1、飞快的版本发布
保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一个版本。这样是保证软件远离Bug的最好的办法,也可以让用户感到很放心,确信Hibernate的开发十分活跃,另外这样做也有一大好处,就是可以发现哪些功能是用户真正需要的。
2、回归测试
我想现在整个Java社区一定都很重视自动回归测试。如果软件的功能和设计有比较大的修改,那么一个综合性的test suite对于软件可维护性和稳定性来说实在是太重要了。我们应该有这样的意识:如果对软件的一个新功能没有进行回归测试,我们根本就不该去做它。
3、把一个功能做到最好
要么不做,要做,就一定做到最好。那些我们做不到最好的功能,我们根本不去做,扔给其他软件去做吧。
4、避免过度设计
浪费大量的时间和精力进行软件功能的抽象和扩充软件的灵活性,还不如多花点时间来解决你的用户面临的实际问题呢!简单一点! 软件能跑起来就OK,不要尝试去解决你的用户根本不关心的问题。就算你的软件设计的不够优雅也没有关系,反正还是initial阶段嘛!以后再 refactor,你应该关 ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-23 09:50:33.0,共阅读1332次,回复0次 |
|
|
 |
CppDoc
|
|
| |
![工具快照[42,079字节]](/upload/2004/03/1016779865633.jpg)
|
| |
| CppDoc generates HTML documentation for your C++ classes, based on your source code and special comments embedded within it. It can produce output that is very similar to the output of Javadoc, and it supports Javadoc tags such as @see, @return , etc. The documentation comments are optional; if you leave them out, CppDoc will still generate a full set of documentation based on class relationships and hierarchy.
主页参见: http://www.cppdoc.com/
以下为我自己试用之后生成的文档视图:
|
|
| 作者:不祥 iter张贴于2004-03-22 14:52:43.0,共阅读2199次,回复0次 |
|
|
 |
GSM 07.05
|
|
| |
| Contents
Foreword ..7
Introduction...7
0 Scope ..9
0.1 Normative references ..10
0.2 Abbreviations ..10
1 Reference configuration ..11
1.1 V.24 Interface Circuits ..11
1.1.1 Circuit definitions for the SMS Block mode ..11
1.1.2 Circuit definitions for the SMS Text and PDU modes ..12
2 SMS Block Mod12
2.1 Beginning and ending of SMS/CBS Block Mode ..12
2.1.1 Beginning SMS/CBS Block Mode ..12
2.1.2 Returning from SMS/CBS Block Mode To Default Mode...12
2.2 Protocol description ..13
2.3 Requesting messages already held in the Mobile Term ...
|
|
| 作者:不祥 iter张贴于2004-03-22 14:24:19.0,共阅读2401次,回复0次 |
|
|
 |
白乔原创:网络记事本
|
|
| |
![工程快照[16,338字节]](/upload/2004/03/1016457437655.gif)
|
| |
| 数据库应用,学生时代作品。
数据库应用程序。
|
|
| 作者:不祥 bluejoe张贴于2004-03-18 21:18:44.0,共阅读2605次,回复0次 |
|
|
 |
偶也test一下子
|
|
| |
|
我来试一试看行不行hoho~~
|
|
| 作者:不祥 jerry张贴于2004-03-16 18:56:24.0,共阅读1218次,回复0次 |
|
|
 |
键盘VK值列表
|
|
| |
| /*
* Virtual Keys, Standard Set
*/
#define VK_LBUTTON 0x01
#define VK_RBUTTON 0x02
#define VK_CANCEL 0x03
#define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */
#define VK_BACK 0x08
#define VK_TAB 0x09
#define VK_CLEAR 0x0C
#define VK_RETURN 0x0D
#define VK_SHIFT 0x10
#define VK_CONTROL 0x11
#define VK_MENU 0x12
#define VK_PAUSE 0x13
#define VK_CAPITAL 0x14
#define VK_KANA 0x15
#define VK_HANGEUL 0x15 /* old name - should be here fo ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-11 09:09:55.0,共阅读1743次,回复0次 |
|
|
 |
ASCII码图
|
|
| |
| ASCII码图
表1. 0-127
表2. 128-255
|
|
| 作者:不祥 bluejoe张贴于2004-03-11 08:39:38.0,共阅读3048次,回复0次 |
|
|
 |
关机代码
|
|
| |
| //判断操作系统版本
OSVERSIONINFO osVer;
osVer.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
::GetVersionEx(&osVer);
//操作系统为win2000
if(osVer.dwPlatformId==VER_PLATFORM_WIN32_NT)
{
// Get a token for this process.
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
MessageBox("OpenProcessToken Error");
// Get the LUID for the shutdown privilege.
LookupP ...
|
|
| 作者:不祥 jerry张贴于2004-03-10 21:15:52.0,共阅读1881次,回复0次 |
|
|
 |
自定义消息
|
|
| |
| #define MY_MSG WM_USER+1
再在message map中
ON_MESSAGE(MY_MSG,OnGoodbye)
加在CPP文件的头上
BEGIN_MESSAGE_MAP(CTest, CView)
ON_MESSAGE(MY_MSG , OnGoodbye)
//{{AFX_MSG_MAP(CTest)
ON_WM_LBUTTONDOWN()
ON_WM_RBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
在类申明中加
afx_msg void myFunction();
加在头文件这个位置:
eg:// Generated message map functions
protected:
//{{AFX_MSG(CEx07aView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG
afx_msg LRESULT OnGoodbye(WPARAM wParam ...
|
|
| 作者:不祥 jerry张贴于2004-03-10 21:10:41.0,共阅读1773次,回复0次 |
|
|
 |
发送一个关于某个按钮单击的消息
|
|
| |
| GetDlgItem(IDOK)->PostMessage(BM_CLICK,0,0);
或
PostMessage(WM_COMMAND,IDOK|BN_CLICKED<<16,GetDlgItem(IDOK)->m_hWnd);
|
|
| 作者:不祥 jerry张贴于2004-03-10 21:08:28.0,共阅读1879次,回复0次 |
|
|
 |
DAO选数据源为ACCESS2000的MDB文件,防止格式错误
|
|
| |
| AfxGetModuleState()->m_dwVersion = 0x0601;
AfxDaoInit();
|
|
| 作者:不祥 jerry张贴于2004-03-10 21:06:56.0,共阅读1587次,回复0次 |
|
|
 |
保存桌面到位图
|
|
| |
| Copy_Screen_To_Bitmap(CRect rcArea, int nBits)
{
HDC hScrDC, hMemDC; // 屏幕和内存设备描述表
HBITMAP hBitmap, hOldBitmap; // 位图句柄
int xScrn, yScrn; // 屏幕分辨率
HDC hDC; //设备描述表
int iBits; //当前显示分辨率下每个像
WORD wBitCount; //位图中每个像素所占字节
//定义调色板大小, 位图中像素字节大小 ,位图文件大小 , 写入文件字节数
DWORD dwPaletteSize=0, dwBmBitsSize;
BITMAP Bit ...
|
|
| 作者:不祥 jerry张贴于2004-03-10 21:03:48.0,共阅读2233次,回复0次 |
|
|
 |
域名到IP的转换
|
|
| |
| #define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>
const VERSION_MAJOR = 1;
const VERSION_MINOR = 1;
void ShowUsage(void)
{
printf("usage: FINDADDR some.address.com\n");
exit(0);
}
int main(int argc,char *argv[])
{
WSADATA WSData;
LPHOSTENT lpHostEntry;
DWORD dwIPAddress;
LPSTR szIPAddress;
if(WSAStartup(MAKEWORD(VERSION_MAJOR,VERSION_MINOR),&WSData))
{
printf("Cannot find Winsock(v%d.%d or late)!\n",
...
|
|
| 作者:不祥 jerry张贴于2004-03-10 18:07:13.0,共阅读3156次,回复0次 |
|
|
 |
创建文件的快捷方式
|
|
| |
| BOOL CShell::CreateLink(CString sPathSource, CString sPathLink, CString sDescription)
{
return CreateLink((LPCITEMIDLIST)(LPSTR)(LPCTSTR)sPathSource, sPathLink, sDescription, TRUE);
}
BOOL CShell::CreateLink(LPCITEMIDLIST lpi, CString sPathLink, CString sDescription, BOOL bByName)
{
HRESULT hres;
IShellLink * psl;
//Get a pointer to the IShellLink interface.
hres =
CoCreateInstance(
CLSID_ShellLink,
NULL,
CLSCTX_INPROC_SERVER,
IID_IShellLink,
(void * *) & psl);
if (SUCCEEDED(hres))
{
IPersistFile * ppf;
// Set the path to the shortcut targ ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 15:02:26.0,共阅读1964次,回复0次 |
|
|
 |
获取系统可用串口列表
|
|
| |
| int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)
{
CRegKey RegKey;
int nCount = 0;
if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm") == ERROR_SUCCESS)
{
while(true)
{
char ValueName[_MAX_PATH];
unsigned char ValueData[_MAX_PATH];
DWORD nValueSize = _MAX_PATH;
DWORD nDataSize = _MAX_PATH;
DWORD nType;
if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, ValueData, &nDataSize) == ERROR_NO_MORE_ITEMS)
{
break;
}
if(pNameList)
pNameList[nCount] = ValueName;
...
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 14:59:41.0,共阅读2681次,回复0次 |
|
|
 |
多行文本输出
|
|
| |
| int CUtil::MultiLineTextOut(
CDC * pDC,
int x,
int y,
CString Text,
int LineSpace)
{
TEXTMETRIC Metric;
if (pDC->GetOutputTextMetrics(& Metric))
{
LineSpace += Metric.tmHeight;
}
int Lines = 0;
int Length = Text.GetLength();
int Start = 0;
for (int i = 0; i < Length; i++)
{
if (Text.GetAt(i) == '\n')
{
Lines++;
pDC->TextOut(x, y, Text.Mid(Start, i - Start));
y += LineSpace;
Start = i + 1;
}
}
pDC->TextOut(x, y, Text.Mid(Start, i - Start));
return Lines;
}
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 14:51:56.0,共阅读2050次,回复0次 |
|
|
 |
显示目录选择对话框
|
|
| |
| //显示选择文件夹窗口
//参数 sFolderPath:用于返回用户选择的文件夹的路径
//参数 sTitle:用于指定选择文件夹窗口的标题
//返回值 :操作结果,用户取消选择或操作失败返回FALSE,否则TRUE
BOOL CShell::BrowseForFolder(CString & sFolderPath, CString sTitle)
{
BROWSEINFO bi;
char Buffer[_MAX_PATH];
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer;
bi.lpszTitle = sTitle;
bi.ulFlags = 0;
bi.lpfn = NULL;
LPITEMIDLIST pIDList = SHBrowseForFolder(& bi);
if (!pIDList)
return FALSE;
SHGetPathFromIDList(pIDList, Buffer);
sFolderPath = Buffer;
LPMALLOC lpMalloc;
if (FAILED(SHGetMalloc(& lpMalloc)))
return FALSE;
//释放内 ...
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 14:50:18.0,共阅读2210次,回复0次 |
|
|
 |
ITer的命运
|
|
| |
|
呵呵:)
|
|
| 作者:不祥 bluejoe张贴于2004-03-10 14:31:39.0,共阅读1193次,回复0次 |
|
|
 |
对于HOOK函数的一点认识
|
|
| |
| 对于HOOK函数的一点认识
这种函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可
以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。当然,这
么做也是需要付出一定的代价的。由于多了这么一道处理过程,系统性能会受到一定的
影响,所以大家在必要的时候才使用“钩子”,并在使用完毕及时将其删除。
首先让我们看看HOOK函数是怎么安装、调用和删除的。应用程序通常是调用SetWin
dowsHookEx()函数来进行安装的,其函数的原型如下:
SetWindowsHookEx(
Int idHook;
HOOKPROC lpfn;
HINSTANCE hMod;
DWORD dwThreadId;
); 参数说明:
idHook 是”钩子”的类型,”钩子”的类型一共有13种,具体如下表:
“钩子”类型
解释
WH_CALLWNDPROC
系统将消息发送到指定窗口之前的“钩子”
WH_CALLWNDPROCRET
消息已经在窗口中处理的“钩子”
WH_CBT
基于计算机培训的“钩子”
WH_DEBUG
差错“钩子”
WH_FOREGROUNDIDLE
前台空闲窗口“钩子”
WH_GETMESSAGE
接收消息投递的“钩子”
WH_JOURNALP ...
|
|
| 作者:不祥 jerry张贴于2004-03-09 22:14:40.0,共阅读2599次,回复1次 |
|
|