1. 如何判断输入Edit1->Text中有“/ / : * ? “ 《 》 |”
AnsiString as = Edit1->Text;
if(strpbrk(as.c_str(), "//:*?/"<>|")) //有出现
else 未出现
不过只能用于英文标点,楼主好象敲的是中文标点???
2. 字符串操作函数: 它的原理就是从后面往前取第一个点号(.) 然后把点号以及后续的字符当做扩展名
ChangFileExt("tmp.doc.exe.txt",".mem")得到的结果是tmp.doc.exe.mem
3. 获得系统前两个月的日期
FormatDateTime("yyyymm", IncMonth(Date(), -1)); // 200412
FormatDateTime("yyyymm", IncMonth(Date(), -2)); // 200411
4. 循环语句
for (Table2->First(); !Table2->Eof; Table2->Next());
for(; !ADOQuery1->Eof; ADOQuery1->Next());
5. 视频捕获创建捕获窗口(Creating a Capture Window)
hWndC = capCreateCaptureWindow (
(LPSTR) "My Capture Window", // window name if pop-up
WS_CHILD | WS_VISIBLE, // window style
0, 0, 160, 120, // window position and dimensions
(HWND) hwndParent,
(int) nID /* child ID */);
6.只运行一次住程序
HANDLE hMutex;
if((hMutex=CreateMutex(NULL,true,"['{EFEB2FF6-F8E0-4AEB-4BBEF2C7FD56}']"))==0)
return 1;
if(GetLastError()==ERROR_ALREADY_EXISTS)
{
CloseHandle(hMutex);
Application->MessageBox("应用程序已运行!","错误",MB_OK);
return 0;
}
7.句柄:
它是WINDOWS编程的基础。一个句柄是指WINDOWS在内存中使用的一个唯一的整数质,是一个4个字节长的数值,用于标识应用程序中不同对象和相同对象的不同实例。
这里我列出几种WINDOWS常用的句柄:
HWND: 标示窗口句柄
HINSTANCE:标示当前实例句柄
HCOURSOR:标示光标句柄
HFONT: 标示字体句柄
HPEN:标示画笔句柄
HBRUSH:标示画刷句柄
HDC:标示设备环境句柄
HBITMP:标示位图句柄
HICON:标示图标句柄
HMENU:标示菜单句柄
HFILE:标示文件句柄
由于WINDOWS应用程序利用WINDOWS消息来与其它的WINDOWS应用程序及WINDOWS系统进行消息交换。所以消息是一个十分重要的对象它的结构如下。
8.不让应用程序显示在任务栏上的方法
Windows规定,如果一个窗口是浮动的工具类型窗口时,它就不在任务栏上显示了。
要为窗口设置这个属性,可以利用API函数SetWindowLong。该函数用来改变窗口的一些特征它的定义如下:
LONG SetWindowLong(
HWND,hWnd 窗口句柄
int nIndex, 值的偏移设置量
LONG dwNewLong 新值
);
/
参数nIndex的取值见下表:
#define GWL_WNDPROC (-4) 为窗口过程设置新地址
#define GWL_HINSTANCE (-6) 设置一个新的应用程序实例句柄
#define GWL_HWNDPARENT (-8)
#define GWL_STYLE (-16) 设置新窗口类型
#define GWL_EXSTYLE (-20) 设置新窗口扩展类型
#define GWL_USERDATA (-21) 为窗口设置一个相联系的32位值,每一个窗口都有一个32位值,应用程序产生这个窗口时要利用这个值
#define GWL_ID (-12)为窗口设置一个新的识别号
如果hWnd参数为对话框,nIndex还可以取如下三个值:
DWL_DLGPROC 为对话框过程设置新地址
DWL_MSGRESULT 为对话框设置返回值
DWL_USER 为应用程序设置新的额外信息
/
这样,要使应用程序不显示在任务栏上,则在窗口的构造函数中写下面一句就可以了:
1.__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
}
2.private:
void __fastcall CreateParams(TCreateParams &Params);
void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params); // call base class first
Params.Style &= ~WS_CAPTION; // then clear caption bit
}
3. DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
dwExStyle |= WS_EX_TOOLWINDOW;
SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
7.句柄:
它是WINDOWS编程的基础。一个句柄是指WINDOWS在内存中使用的一个唯一的整数质,是一个4个字节长的数值,用于标识应用程序中不同对象和相同对象的不同实例。
这里我列出几种WINDOWS常用的句柄:
HWND: 标示窗口句柄
HINSTANCE:标示当前实例句柄
HCOURSOR:标示光标句柄
HFONT: 标示字体句柄
HPEN:标示画笔句柄
HBRUSH:标示画刷句柄
HDC:标示设备环境句柄
HBITMP:标示位图句柄
HICON:标示图标句柄
HMENU:标示菜单句柄
HFILE:标示文件句柄
由于WINDOWS应用程序利用WINDOWS消息来与其它的WINDOWS应用程序及WINDOWS系统进行消息交换。所以消息是一个十分重要的对象它的结构如下。
8.不让应用程序显示在任务栏上的方法
Windows规定,如果一个窗口是浮动的工具类型窗口时,它就不在任务栏上显示了。
要为窗口设置这个属性,可以利用API函数SetWindowLong。该函数用来改变窗口的一些特征它的定义如下:
LONG SetWindowLong(
HWND,hWnd 窗口句柄
int nIndex, 值的偏移设置量
LONG dwNewLong 新值
);
/
参数nIndex的取值见下表:
#define GWL_WNDPROC (-4) 为窗口过程设置新地址
#define GWL_HINSTANCE (-6) 设置一个新的应用程序实例句柄
#define GWL_HWNDPARENT (-8)
#define GWL_STYLE (-16) 设置新窗口类型
#define GWL_EXSTYLE (-20) 设置新窗口扩展类型
#define GWL_USERDATA (-21) 为窗口设置一个相联系的32位值,每一个窗口都有一个32位值,应用程序产生这个窗口时要利用这个值
#define GWL_ID (-12)为窗口设置一个新的识别号
如果hWnd参数为对话框,nIndex还可以取如下三个值:
DWL_DLGPROC 为对话框过程设置新地址
DWL_MSGRESULT 为对话框设置返回值
DWL_USER 为应用程序设置新的额外信息
/
这样,要使应用程序不显示在任务栏上,则在窗口的构造函数中写下面一句就可以了:
1.__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
}
2.private:
void __fastcall CreateParams(TCreateParams &Params);
void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params); // call base class first
Params.Style &= ~WS_CAPTION; // then clear caption bit
}
3. DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
dwExStyle |= WS_EX_TOOLWINDOW;
SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);