文档库 最新最全的文档下载
当前位置:文档库 › 常用API函数参数

常用API函数参数

常用API函数参数
常用API函数参数

常用API函数参数5

ImmIsIME

函数功能:

判断指定的句柄是否为IME;

函数原型:

BOOL ImmIsIME( HKL hKL );

参数hKL:

待检查的键盘布局句柄;

返回值:

函数调用成功返回1,失败返回0.

速查信息:

Windows NT: 要求4.0或更高版本

Windows: 要求Windows 95 或更高.

Windows CE:不支持.

Header: 声明在imm.h.

Import Library: imm32.lib.

Windows XP没有自带五笔型输入法,这对五笔型用户而言无疑是个大大的遗憾。网上的五笔型输入法虽然种类很多,也不乏优秀的版本,但一方面有些版本是共享软件需要注册,另一方面也许很多五笔型输入法的老用户最习惯用的还是老牌的“王码五笔型输入法86/98版”。

微软的Office XP软件中包含了这个老牌的五笔型输入法,但如果用户并不使用Office XP中的任何组件,仅仅是为了使用“王码五笔型输入法”而运行Office XP安装程序,就显的有些小题大做了,更不用说是某些零时在外面用公用电脑而又想用五笔型输入法的情况。于是网上出现了很多简化的安装方法,大体上可以分为三个步骤:

拷贝输入法文件(从Of还是9x/ME。示例代码fice XP光盘中或已经安装了“王码五笔型输入法”的电脑中提取)

增加注册表项

重启后通过控制面板添加输入法

整个过程中拷贝输入法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启计算机才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。那么作为一个编程爱好者能不能通过写个小程序来实现在不重新启动计算机的情况下全自动的安装“王码五笔型输入法”呢(也就是即装即用)?答案是肯定的!因为微软的Office XP 安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。

经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。Ok,现在我们就开始利用这个API来实现自己的“王码五笔型输入法”全自动安装程序。

一、准备素材

我们先试着从Office XP光盘中提取“王码五笔型输入法”的输入法文件。通过Windows 的查找功能在Office XP的第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB 中找到了一下14个文件:WINWB86.CHM.*、https://www.wendangku.net/doc/2b2030022.html,T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、https://www.wendangku.net/doc/2b2030022.html,T.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为了校验文件内容的正确性而加上的内容为该文件效验码的后缀吧)。去掉这个长长的后缀,可以看到5

种类型的文件。很明显,*.CHM、*.CNT和*.HLP是五笔型输入法的帮助文件,*.MB是码表文件,而*.IME是主要的输入法文件。其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过笔者试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。文件名部分以A结尾的文件适用于Windows 9x,以W结尾的文件适用于NT系列Windows系统。

提取了输入法文件后必须让安装程序针对不同版本的操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了Office XP中自带的“王码五笔型输入法”的Windows 98SE和Windows XP操作系统中查找以上文件,发现帮助文件都存放在WINDOWSHELP目录中(这里假设Windows系统都安装在WINDOWS目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于WINDOWSSYSTEM目录中,在NT系列Windows系统中存放于WINDOWSSYSTEM32目录中。

二、相关API函数

素材的准备工作已经完成,现在我们来看一下代码编写过程中需要用到的4个主要的API函数。

2.1 GetVersion

函数原型:

DWORD GetVersion(VOID);

该函数返回与当前使用的Windows系统版本有关的信息。可以通过判断返回值最高位是否为1来判断当前是用的系统是NT/2000/XP还是9x/ME。示例代码:

if (GetVersion() < 0x80000000)

//NT/2000/XP

else

//9x/ME

2.2 CopyFile

函数原型:

BOOL CopyFile(LPCTSTR lpExistFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);

该函数将以lpExistFileName指向的字符串为文件名的文件复制为以lpNewFileName 指向的字符串为文件名的新文件。这里的文件名可以包含文件路径。最后的参数bFailIfExists决定当新文件已存在时是否覆盖现有文件,如果为FALSE,则覆盖。示例代码:

CopyFile("c:a.txt", "d: .txt", FALSE);

以上代码将c盘下的a.txt文件复制到D盘下并命名为b.txt。如果已经存在b.txt,则覆盖原来的文件。

2.3 ImmInstallIME

函数原型:

HKL ImmInstallIME(LPCTSTR lpszIMEFileName, LPCTSTR lpszLayoutText);

这是制作“王码五笔型输入法”全自动安装程序的关键函数。函数的两个参数分别为输入法IME文件的文件名和在控制面板的是输入法选项中显示的输入法名称。函数调用后将返回一个被安装输入法的输入法标识符(或称做输入法句柄)。示例代码:

HKL hKL = ImmInstallIME("c:winwb86.ime", "王码五笔型输入法86版");

以上代码将输入法文件c:winwb86.ime安装到系统中,并命名为“王码五笔型输入法86版”。函数调用后返回安装的输入法的标识符,存放在hKL变量中。

2.4 ImmIsIME

函数原型:

BOOL ImmIsIME(HKL hKL);

该函数判断hKL指向的输入法是否有效。我们可以用ImmInstallIME函数的返回值作为该函数参数,通过函数返回值来判断输入法是否安装成功。示例代码:

if (ImmIsIME(hKL))

//安装输入法成功

else

//安装失败

hKL为调用ImmInstallIME()后得到的输入法标识符。

三、创建工程并添加代码

1. 打开Visual C++ 6.0,通过菜单File - New新建一个名为“WINWB”的“Win32 Application”工程(如图1),单击“OK”。

2. 在应用程序类型选择中选择“An empty project”(图2),单击“Finsish”。这样我们就新建好了一个空的Win32应用程序工程。

3. 通过菜单Project - Add to Project - New添加一个“Resource Script”资源文件,命名为“WINWB”(如图3)。

4. 通过菜单Insert - Resource添加一个新的Dialog资源(如图4)。

5. 调整Dialog资源的若干属性。在Dialog的任意空白区域双击鼠标左键打开属性对话框,在属性对话框的Gerneral选项卡中更改ID为“IDD_MAIN”、 Caption属性为“王码五笔型输入法安装程序”(如图5)。

单击Font按钮,更改字体为宋体9号(这是简体中文版XP的标准字体型号)。单击More Styles选项卡,选中Center属性,使对话框能在屏幕中居中显示(如图6)。

6. 关闭属性对话框,回到资源编辑界面。删掉系统自动添加的“Cancel”按钮并更改“OK”按钮的Caption属性为“安装”(如图7)。

7. 添加一个新的Static Text控件,打开属性对话框更改Caption属性为“请选择输入法版本:”(如图8)。

8.添加一个新的List Box控件,打开属性对话框更改ID为“IDC_LIST”(如图9):

并更改它的Selection属性为“Multiple”(如图10)。

9. 适当调整控件的大小和位置,完成资源创建(如图11):

10. 通过菜单Project - Add to Project - New添加一个“C++ Source File”代码文件,命名为“WINWB”(如图12):

11. 在新添加“WINWB.CPP”文件中输入程序代码,代码如下:

#include

#include "resource.h"

#pragma comment(lib, "imm32.lib")

#define IME_WINWB86 0

#define IME_WINWB98 1

BOOL CALLBACK Main_DlgProc(HWND, UINT, WPARAM, LPARAM); LPCTSTR TranslateFileName(LPCTSTR);

void InstallIME(int);

int WINAPI WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nShowCmd)

{

DialogBox(hInstance, (LPCTSTR)IDD_MAIN, NULL, Main_DlgProc); return 0;

}

//

// 函数名:Main_DlgProc

//

// 参数:hDlg - 对话框句柄

// uMsg - 消息值

// wParam、lParam - 消息参数

//

// 返回值:TRUE - 消息已处理

// FALSE - 消息未处理,返回给默认对话框处理程序处理

//

// 备注:对话框IDD_MAIN的回调函数

//

BOOL CALLBACK Main_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

TCHAR strWINWB86[] = "王码五笔型输入法86版";

TCHAR strWINWB98[] = "王码五笔型输入法98版";

TCHAR cBuf[30]; // 存放LISTBOX中ITEM文本的缓冲区

int nBuf[2]; // 存放LISTBOX中被选中的ITEM索引号的缓冲区

int nSel; // LISTBOX中被选种的ITEM的数目

switch (uMsg)

{

case WM_INITDIALOG:

// 初始化LISTBOX

SendDlgItemMessage(hDlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)strWINWB86);

SendDlgItemMessage(hDlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)strWINWB98);

return TRUE;

case WM_COMMAND:

switch (LOWORD(wParam))

{

// 响应“退出”按钮

case IDCANCEL:

EndDialog(hDlg, 0);

return TRUE;

// 响应“添加”按钮

case IDOK:

// 获取LISTBOX中被选中的ITEM的数目及索引号

nSel = SendDlgItemMessage(hDlg, IDC_LIST, LB_GETSELITEMS, 2, (LPARAM)nBuf);

if (nSel == 0)

{

MessageBox(hDlg, "请选择输入法版本!", "提示信息", MB_OK);

return TRUE;

}

for (-- nSel; nSel >= 0; nSel --)

{

// 获取LISTBOX中该索引号对应的ITEM的文本

SendDlgItemMessage(hDlg, IDC_LIST, LB_GETTEXT, nBuf[nSel], (LPARAM)cBuf);

if (lstrcmp(cBuf, strWINWB86) == 0)

{

InstallIME(IME_WINWB86); // 安装王码五笔型输入法86版 }

else if (lstrcmp(cBuf, strWINWB98) == 0)

{

InstallIME(IME_WINWB98); // 安装王码五笔型输入法98版 }

}

return TRUE;

}

default:

return FALSE;

}

}

TCHAR g_strFileName[MAX_PATH]; // 函数TranslateFileName用到的字符串缓冲区

//

// 函数名:TranslateFileName

//

// 参数:lpszFileName - 指向用相对路径表示的文件名的字符串指针

//

// 返回值:指向用绝对路径表示的文件名的字符串指针

//

// 备注:将以WINDOWS目录为基准的用相对路径表示的文件名转换成用绝对路径表示的文件名

//

LPCTSTR TranslateFileName(LPCTSTR lpszFileName)

{

// 获取WINDOWS目录的路径

GetWindowsDirectory(g_strFileName, MAX_PATH);

// 如果WINDOWS目录的路径是根目录

if (g_strFileName[lstrlen(g_strFileName)-1] == '')

{

// 去掉路径最后的“”

g_strFileName[lstrlen(g_strFileName)-1] = '';

}

// 连接WINDOWS目录路径和用相对路径表示的文件名

lstrcat(g_strFileName, lpszFileName);

return g_strFileName;

}

//

// 函数名:InstallIME

//

// 参数:nIMEType - 输入法类型

//

// 返回值:无

//

// 备注:安装指定的输入法

//

void InstallIME(int nIMEType)

{

TCHAR strWINWB86A[] = "王码五笔型86版";

TCHAR strWINWB86W[] = "中文 (简体) - 王码五笔型86版";

TCHAR strWINWB98A[] = "王码五笔型98版";

TCHAR strWINWB98W[] = "中文 (简体) - 王码五笔型98版";

HKL hKL;

if (nIMEType == IME_WINWB86)

{

// 复制输入法帮助文件

CopyFile("WINWB86.HLP", TranslateFileName("HELPWINWB86.HLP"), FALSE);

CopyFile("WINWB86.CHM", TranslateFileName("HELPWINWB86.CHM"), FALSE);

CopyFile("https://www.wendangku.net/doc/2b2030022.html,T", TranslateFileName("https://www.wendangku.net/doc/2b2030022.html,T"), FALSE);

if (GetVersion() < 0x80000000) // NT/2000/XP系统

{

// 复制UNICODE版输入法文件

CopyFile("WINWB86W.IME",

TranslateFileName("SYSTEM32WINWB86.IME"), FALSE);

CopyFile("WINWB86W.MB",

TranslateFileName("SYSTEM32WINWB86.MB"), FALSE);

// 安装UNICODE版输入法

hKL = ImmInstallIME(TranslateFileName("SYSTEM32WINWB86.IME"), strWINWB86W);

}

else // 9X/ME系统

{

// 复制ANSI版输入法文件

CopyFile("WINWB86A.IME",

TranslateFileName("SYSTEMWINWB86.IME"), FALSE);

CopyFile("WINWB86A.MB", TranslateFileName("SYSTEMWINWB86.MB"), FALSE);

// 安装ANSI版输入法

hKL = ImmInstallIME(TranslateFileName("SYSTEMWINWB86.IME"), strWINWB86A);

}

// 验证输入法句柄是否有效

if (ImmIsIME(hKL))

{

MessageBox(NULL, "安装王码五笔型输入法86版成功!", "提示信息", MB_OK);

}

else

{

MessageBox(NULL, "安装王码五笔型输入法86版失败!", "提示信息", MB_OK);

}

}

else if (nIMEType == IME_WINWB98)

{

CopyFile("WINWB98.HLP", TranslateFileName("HELPWINWB98.HLP"), FALSE);

CopyFile("WINWB98.CHM", TranslateFileName("HELPWINWB98.CHM"), FALSE);

CopyFile("https://www.wendangku.net/doc/2b2030022.html,T", TranslateFileName("https://www.wendangku.net/doc/2b2030022.html,T"), FALSE);

if (GetVersion() < 0x80000000)

{

CopyFile("WINWB98W.IME",

TranslateFileName("SYSTEM32WINWB98.IME"), FALSE);

CopyFile("WINWB98W.MB",

TranslateFileName("SYSTEM32WINWB98.MB"), FALSE);

hKL = ImmInstallIME(TranslateFileName("SYSTEM32WINWB98.IME"), strWINWB98W);

}

else

{

CopyFile("WINWB98A.IME",

TranslateFileName("SYSTEMWINWB98.IME"), FALSE);

CopyFile("WINWB98A.MB", TranslateFileName("SYSTEMWINWB98.MB"), FALSE);

hKL = ImmInstallIME(TranslateFileName("SYSTEMWINWB98.IME"), strWINWB98A);

}

if (ImmIsIME(hKL))

{

MessageBox(NULL, "安装王码五笔型输入法98版成功!", "提示信息", MB_OK);

}

else

{

MessageBox(NULL, "安装王码五笔型输入法98版失败!", "提示信息", MB_OK);

}

}

}

四、制作安装包

在菜单Build - Set Active Configuration设置工程配置为“Win32 – Release”,然后进行编译、连接。将编译、连接后生成的可执行文件Releasewinwb.exe与前面提取出来的14个王码五笔型输入法文件放在同一目录中,我们的王码五笔型输入法全自动安装程序就完成了。但作为一个小功能程序,需要携带15个文件,未免有些不太方便。同时也为了使

我们的程序看上去更专业点,我们可以使用一些压缩软件或者安装包制作工具来将它制作成一个单一文件的软件安装包,这样也可以方便携带和使用。

这里笔者推荐使用Windows 2000/XP自带的一个安装包制作工具——IExpress,它采用微软的CAB压缩文件格式,能生成自解压缩文件,是一款小巧、免费的安装包制作工具。

具体制作步骤如下:

1. 在开始菜单的运行中键入“iexpress”,单击确定打开IExpress程序(如图13)。

2. 保持默认选项“Create new Self Extraction Directive file”,单击下一步继续。

3. 保持默认选项“Extract files and run an installation command”,单击下一步继续。

4. 进入“Package title”界面,在编辑框中输入“解压缩文件”(如图14),这是将生成的安装包解压缩时出现的对话框的标题栏,可以随意设定。输入完成后单击下一步继续。

5. 保持默认选项“No prompt”,单击下一步继续。

6. 保持默认选项“Do not display a license”,单击下一步继续。

7. 进入“Packaged files”界面,单击“Add”按钮,在打开文件对话框中选中王码五笔型输入法安装程序的所有15个文件(如图15和图16),单击下一步继续。

8. 进入“Install Program to”,在“Install Program”下拉式组合框中选中“WINWB.exe”(如图17),单击下一步继续。

9. 保持默认选项“Default(recommended)”,单击下一步继续。

10. 保持默认选项“No message”,单击下一步继续。

11. 进入“Package Name and Options”界面,单击“Browse”按钮选择安装包存放位置和文件名。这里笔者仍然使用“WINWB.EXE”(如图18和图19)。注意使用这个文件名时不要将安装包放在安装程序所在目录,以免和我们制作的安装程序WINWB.exe重名。单击下一步继续。

12. 进入“Configure restart”界面,选中“No restart”,单击下一步继续。

13. 进入“Save Self Extraction Directive”界面,选中“Don't save”,单击下一步继续。

14. 进入“Create package”界面,单击下一步完成设置工作并开始制作安装包。

15. 单击完成结束安装包制作。

OK,我们的王码五笔型输入法安装包才算真正制作完成了! :)

本程序在Windows XP Profession(SP1)简体中文版、Visual Studio 6.0(SP6)英文企业版下调试通过。在Windows 98SE简体中文版下运行通过。

源程序可以在这里下载附件(zip压缩文件, 17K)。

可以直接安装的王码五笔可以在这里下载附件(EXE安装文件, 1.07M)。

04 FunCode C 开发常用API

FunCode C开发常用API C语言标准库函数 在实验中,我们需要用到一些C语言标准库函数,主要用于字符串处理,获得随机值,处理数学函数等。 Math.h 函数原型功能与返回值参数说明与应用举例 public static double atan2( double y, double x );返回两点之间的正 切值 x:点的x坐标 y:点的y坐标 float ftan = atan2((fMouseY-fY),(fMouseX-fX)); float sqrt( float x ); 功能:计算平方根 返回值:x的平方根 sqrt(9) = 3 Stdio.h 函数原型功能与返回值参数说明与应用举例 int sprintf( char *buffer, const char *format, [ argument] … ); 把格式化的数据写 入某个字符串缓冲 区。 返回值:字符串长 度(strlen) buffer:char型指针,指向将要写入的 字符串的缓冲区。 format:char型指针,指向的内存里面 存放的将要格式字符串。 [argument]...:可选参数,可以是任何类 型的数据。 sprintf(szUfoName,"ufo_%d_%d", iLoop, iTotalUfoCount ); String.h 函数原型功能与返回值参数说明与应用举例 extern char *strstr( char *str1, char *str2 );找出str2字符串 在str1字符串中 第一次出现的位置 (不包括str2的 串结束符)。 返回值:返回该位 置的指针,如找不 到,返回空指针。 strstr(szName, “feichong”) != NULL 说明szName中包含feichong 可以用来判断前一个字符串包含后面 一个字符串 extern int strcmp( const char *s1, const char * s2 );比较字符串s1和 s2。 当s1

最常用函数公式大全

Excel函数公式大全工作中最常用Excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 ? 2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数.

? 三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 ? 2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

? 四、求和公式 1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式 ? 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法

? 3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 ? 4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符*

Excel常用函数及使用方法

excel常用函数及使用方法 一、数字处理 (一)取绝对值:=ABS(数字) (二)数字取整:=INT(数字) (三)数字四舍五入:=ROUND(数字,小数位数) 二、判断公式 (一)把公式返回的错误值显示为空: 1、公式:C2=IFERROR(A2/B2,"") 2、说明:如果是错误值则显示为空,否则正常显示。 (二)IF的多条件判断 1、公式:C2=IF(AND(A2<500,B2="未到期"),"补款","") 2、说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 (一)统计两表重复 1、公式:B2=COUNTIF(Sheet15!A:A,A2) 2、说明:如果返回值大于0说明在另一个表中存在,0则不存在。 (二)统计年龄在30~40之间的员工个数 公式=FREQUENCY(D2:D8,{40,29} (三)统计不重复的总人数 1、公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 2、说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

(四)按多条件统计平均值 =AVERAGEIFS(D:D,B:B,"财务",C:C,"大专") (五)中国式排名公式 =SUMPRODUCT(($D$4:$D$9>=D4)*(1/COUNTIF(D$4:D$9,D$4:D$9))) 四、求和公式 (一)隔列求和 1、公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 2、说明:如果标题行没有规则用第2个公式 (二)单条件求和 1、公式:F2=SUMIF(A:A,E2,C:C) 2、说明:SUMIF函数的基本用法 (三)单条件模糊求和 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 (四)多条求模糊求和 1、公式:=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 2、说明:在sumifs中可以使用通配符* (五)多表相同位置求和 1、公式:=SUM(Sheet1:Sheet19!B2) 2、说明:在表中间删除或添加表后,公式结果会自动更新。

常用MFC和API函数

常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::store时,将数据存入文档(要求CFile写许可);nBufSize 指定内部文件缓冲区的大小(按字节计); lpBuf 指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,

excel常用函数公式介绍

excel常用函数公式介绍 excel常用函数公式介绍1:MODE函数应用 1MODE函数是比较简单也是使用最为普遍的函数,它是众数值,可以求出在异地区域或者范围内出现频率最多的某个数值。 2例如求整个班级的普遍身高,这时候我们就可以运用到了MODE 函数了 3先打开插入函数的选项,之后可以直接搜索MODE函数,找到求众数的函数公式 4之后打开MODE函数后就会出现一个函数的窗口了,我们将所要求的范围输入进Number1选项里面,或者是直接圈选区域 5之后只要按确定就可以得出普遍身高这一个众数值了 excel常用函数公式介绍2:IF函数应用 1IF函数常用于对一些数据的进行划分比较,例如对一个班级身高进行评测 2这里假设我们要对身高的标准要求是在170,对于170以及170之上的在备注标明为合格,其他的一律为不合格。这时候我们就要用到IF函数这样可以快捷标注好备注内容。先将光标点击在第一个备注栏下方 3之后还是一样打开函数参数,在里面直接搜索IF函数后打开 4打开IF函数后,我们先将条件填写在第一个填写栏中, D3>=170,之后在下面的当条件满足时为合格,不满足是则为不合格 5接着点击确定就可以得到备注了,这里因为身高不到170,所以备注里就是不合格的选项 6接着我们只要将第一栏的函数直接复制到以下所以的选项栏中就可以了

excel常用函数公式介绍3:RANK函数应用 2这里我们就用RANK函数来排列以下一个班级的身高状况 3老规矩先是要将光标放于排名栏下面第一个选项中,之后我们打开函数参数 4找到RANK函数后,我们因为选项的数字在D3单元格所以我们就填写D3就可了,之后在范围栏中选定好,这里要注意的是必须加上$不然之后复制函数后结果会出错 5之后直接点击确定就可以了,这时候就会生成排名了。之后我们还是一样直接复制函数黏贴到下方选项栏就可以了。

常用API函数参数

常用API函数参数5 ImmIsIME 函数功能: 判断指定的句柄是否为IME; 函数原型: BOOL ImmIsIME( HKL hKL ); 参数hKL: 待检查的键盘布局句柄; 返回值: 函数调用成功返回1,失败返回0. 速查信息: Windows NT: 要求4.0或更高版本 Windows: 要求Windows 95 或更高. Windows CE:不支持. Header: 声明在imm.h. Import Library: imm32.lib. Windows XP没有自带五笔型输入法,这对五笔型用户而言无疑是个大大的遗憾。网上的五笔型输入法虽然种类很多,也不乏优秀的版本,但一方面有些版本是共享软件需要注册,另一方面也许很多五笔型输入法的老用户最习惯用的还是老牌的“王码五笔型输入法86/98版”。 微软的Office XP软件中包含了这个老牌的五笔型输入法,但如果用户并不使用Office XP中的任何组件,仅仅是为了使用“王码五笔型输入法”而运行Office XP安装程序,就显的有些小题大做了,更不用说是某些零时在外面用公用电脑而又想用五笔型输入法的情况。于是网上出现了很多简化的安装方法,大体上可以分为三个步骤: 拷贝输入法文件(从Of还是9x/ME。示例代码fice XP光盘中或已经安装了“王码五笔型输入法”的电脑中提取) 增加注册表项 重启后通过控制面板添加输入法

整个过程中拷贝输入法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启计算机才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。那么作为一个编程爱好者能不能通过写个小程序来实现在不重新启动计算机的情况下全自动的安装“王码五笔型输入法”呢(也就是即装即用)?答案是肯定的!因为微软的Office XP 安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。 经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。Ok,现在我们就开始利用这个API来实现自己的“王码五笔型输入法”全自动安装程序。 一、准备素材 我们先试着从Office XP光盘中提取“王码五笔型输入法”的输入法文件。通过Windows 的查找功能在Office XP的第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB 中找到了一下14个文件:WINWB86.CHM.*、https://www.wendangku.net/doc/2b2030022.html,T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、https://www.wendangku.net/doc/2b2030022.html,T.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为了校验文件内容的正确性而加上的内容为该文件效验码的后缀吧)。去掉这个长长的后缀,可以看到5 种类型的文件。很明显,*.CHM、*.CNT和*.HLP是五笔型输入法的帮助文件,*.MB是码表文件,而*.IME是主要的输入法文件。其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过笔者试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。文件名部分以A结尾的文件适用于Windows 9x,以W结尾的文件适用于NT系列Windows系统。 提取了输入法文件后必须让安装程序针对不同版本的操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了Office XP中自带的“王码五笔型输入法”的Windows 98SE和Windows XP操作系统中查找以上文件,发现帮助文件都存放在WINDOWSHELP目录中(这里假设Windows系统都安装在WINDOWS目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于WINDOWSSYSTEM目录中,在NT系列Windows系统中存放于WINDOWSSYSTEM32目录中。 二、相关API函数 素材的准备工作已经完成,现在我们来看一下代码编写过程中需要用到的4个主要的API函数。 2.1 GetVersion 函数原型:

API函数手册

POSTEK PPLⅠAPI函数手册 G Series 条码标签打印机 Version 2.00 深圳市博思得通信发展有限公司 二○○四年

API函数库文件说明 名称:CDFPSK.dll 中文版本编号:1.X.X.X 英文版本编号:2.X.X.X 版权所有:?2004深圳市博思得通信发展有限公司。保留所有权利。 用途 本API函数库为深圳市博思得通信发展有限公司条码标签打印机的用户提供一组命令,为他们编写基于Windows9X,NT,2000,XP等操作系统的应用程序提供便利。 本API函数库仅支持本公司产品。 缩略语对照 PPLⅠ:深圳市博思得通信发展有限公司的第一套打印机编程语言(Printer Porgram Language Ⅰ)。 API:应用程序编程接口(Application Program Interface)。 Dots:像素(pixel)是一种计算机科学技术尺寸单位,原指电视图像成像的最小单位,在打印机领域表示打印机的最小打印成像单位:1dot等于一英寸除以打印机的最大分辨率。 - 对于203DPI的打印机来说, 1dot = 25.4mm/203 = 0.125mm(1dot = 1000 / 203 = 5mil); - 对于300DPI的打印机来说, 1dot = 25.4mm/300 = 0.085mm(1dot = 1000 / 300 = 3mil)。 TrueType Font:是基于Windows操作系统使用,可装卸的字体。 - 已经安装的TrueType Font,都可以被本函数使用。 使用前须知 字符串 * 字符串以双引号(“)作为起始和结束标记; *

Excel常用函数介绍及常用功能

Excel常用函数介绍及常用功能 Excel函数一共有11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。 工程 工程工作表函数用于工程分析。这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。 财务 财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。财务函数中常见的参数: 未来值 (fv)--在所有付款发生后的投资或贷款的价值。 期间数 (nper)--投资的总支付期间数。 付款 (pmt)--对于一项投资或贷款的定期支付数额。 现值 (pv)--在投资期初的投资或贷款的价值。例如,贷款的现值为所借入的本金数额。 利率 (rate)--投资或贷款的利率或贴现率。 类型 (type)--付款期间内进行支付的间隔,如在月初或月末。 信息 可以使用信息工作表函数确定存储在单元格中的数据的类型。信息函数包含一组称为 IS 的工作表函数,在单元格满足条件时返回 TRUE。例如,如果单元格包含一个偶数值,ISEVEN 工作表函数返回 TRUE。如果需要确定某个单元格区域中是否存在空白单元格,可以使用 COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用 ISBLANK 工作表函数确定区域中的某个单元格是否为空。 数据库

当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于1,000 且小于 2,500 的行或记录的总数。Microsoft Excel 共有 12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为 D 函数,每个函数均有三个相同的参数:database、field 和 criteria。这些参数指向数据库函数所使用的工作表区域。其中参数database 为工作表上包含数据清单的区域,参数 field 为需要汇总的列的标志,参数 criteria 为工作表上包含指定条件的区域。 逻辑函数 使用逻辑函数可以进行真假值判断,或者进行复合检验。例如,可以使用 IF 函数确定条件为真还是假,并由此返回不同的数值。 统计函数 统计工作表函数用于对数据区域进行统计分析。例如,统计工作表函数可以提供由一组给定值绘制出的直线的相关信息,如直线的斜率和 y 轴截距,或构成直线的实际点数值。 文本函数 通过文本函数,可以在公式中处理文字串。例如,可以改变大小写或确定文字串的长度。可以将日期插入文字串或连接在文字串上。下面的公式为一个示例,借以说明如何使用函数 TODAY 和函数 TEXT 来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yy"的格式表示。 =TEXT(TODAY(),"dd-mm-yy") 查询和引用 当需要在数据清单或表格中查找特定数值,或者需要查找某一单元格的引用时,可以使用查询和引用工作表函数。例如,如果需要在表格中查找与第一列中的值相匹配的数值,可以使用 VLOOKUP 工作表函数。如果需要确定数据清单中数值的位置,可以使用 MATCH 工作表函数。 数学和三角 通过数学和三角函数,可以处理简单的计算,例如对数字取整、计算单元格区域中的数值总和或复杂计算。 日期与时间

Excel常用函数功能列表

Excel常用函数功能、用法及实例剖析 我们在使用Excel制作表格整理数据的时候,常常要用到它的函数功能来自动统计处理表格中的数据。本专题 整理了Excel中使用频率最高的函数的功能、使用方法,以及这些函数在实际应用中的实例剖析,并配有详细的介 绍和图示,同时提供.xls文件供大家下载参考。 Excel常用函数实例剖析 实例功能原文件下载 .xls文件下载 ·奖金计算表只要将员工的出勤情况记录在表中,该员工的奖金将自动 计算出来,兼有考勤和计算奖金两种功能。自动统计表做 好以后还可以保存成模板,以便以后使用。 ·制作万年历这个万年历可以显示当月的月历,还可以随意查阅任何日 .xls文件下载 期所属的月历,非常方便。如果你愿意,还可以让它在特 殊的日子里显示不同的提醒文字。 .xls文件下载 ·自动评分计算表参加比赛的选手为20人,评委9人,去掉1个最高分和 1个最低分后,求出平均分,然后根据平均分的高低排定 选手的名次。 .xls文件下载 ·自动统计学生成绩自动统计最高分、最低分、总分、平均分、名次等数据信 息,还可以根据自定条件以不同的颜色显示分数。自动统 计表做好以后还可以保存成模板,以便以后使用。 ·各分数段学生数统计统计各学科相应分数段或各等级的学生人数。.xls文件下载 .xls文件下载 ·自动生成员工简历表自动提取“员工基本情况登记表”中的信息,生成并打印员 工简历表。 >>> 更多内容<<< ⊙Excel常用函数功能及用法介绍 .xls 文件下载 函数名功能用途示例 ABS求出参数的绝对值。数据计算 条件判断 AND“与”运算,返回逻辑值,仅当有参数的结果均为逻辑“真(TRUE)” 时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。

API函数大全

? 1. API之网络函数 ? ?WNetAddConnection 创建同一个网络资源的永久性连接 ? ?WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 ? ? 2. API之消息函数 ?BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTime 取得消息队列中上一条消息处理完毕时的时间 PostMessage 将一条消息投递到指定窗口的消息队列 PostThreadMessage 将一条消息投递给应用程序 RegisterWindowMessage 获取分配给一个字串标识符的消息编号 ReplyMessage 答复一个消息 SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口 SendMessageCallback 将一条消息发给窗口 SendMessageTimeout 向窗口发送一条消息 SendNotifyMessage 向窗口发送一条消息 ? 3. API之文件处理函数 ?CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件 DeviceIoControl 对设备执行指定的操作

Excel常用函数公式大全(实用)

Excel常用函数公式大全 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和:=SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数:=AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名:=RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 5、学期总评:=K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分:=MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分; 7、最低分:=MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1)=COUNTIF(K2:K56,"100") ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格;

EXCEL中常用函数的用法

EXCEL常用函数介绍 公式是单个或多个函数的结合运用。 AND “与”运算,返回逻辑值,仅当有参数的结果均为逻辑“真(TRUE)”时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。条件判断 AVERAGE 求出所有参数的算术平均值。数据计算 COLUMN 显示所引用单元格的列标号值。显示位置 CONCATENATE 将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。字符合并 COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。条件统计 DATE 给出指定数值的日期。显示日期 DATEDIF 计算返回两个日期参数的差值。计算天数 DAY 计算参数中指定日期或引用单元格中的日期天数。计算天数 DCOUNT 返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。条件统计FREQUENCY 以一列垂直数组返回某个区域中数据的频率分布。概率计算 IF 根据对指定条件的逻辑判断的真假结果,返回相对应条件触发的计算结果。条件计算INDEX 返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。数据定位 INT 将数值向下取整为最接近的整数。数据计算 ISERROR 用于测试函数式返回的数值是否有错。如果有错,该函数返回TRUE,反之返回FALSE。逻辑判断 LEFT 从一个文本字符串的第一个字符开始,截取指定数目的字符。截取数据 LEN 统计文本字符串中字符数目。字符统计 MATCH 返回在指定方式下与指定数值匹配的数组中元素的相应位置。匹配位置 MAX 求出一组数中的最大值。数据计算 MID 从一个文本字符串的指定位置开始,截取指定数目的字符。字符截取 MIN 求出一组数中的最小值。数据计算 MOD 求出两数相除的余数。数据计算 MONTH 求出指定日期或引用单元格中的日期的月份。日期计算 NOW 给出当前系统日期和时间。显示日期时间 OR 仅当所有参数值均为逻辑“假(FALSE)”时返回结果逻辑“假(FALSE)”,否则都返回逻辑“真(TRUE)”。逻辑判断 RANK 返回某一数值在一列数值中的相对于其他数值的排位。数据排序 RIGHT 从一个文本字符串的最后一个字符开始,截取指定数目的字符。字符截取SUBTOTAL 返回列表或数据库中的分类汇总。分类汇总 SUM 求出一组数值的和。数据计算 SUMIF 计算符合指定条件的单元格区域内的数值和。条件数据计算 TEXT 根据指定的数值格式将相应的数字转换为文本形式数值文本转换 TODAY 给出系统日期显示日期 VALUE 将一个代表数值的文本型字符串转换为数值型。文本数值转换 VLOOKUP 在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值条件定位 WEEKDAY 给出指定日期的对应的星期数。星期计算

api接口文档

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 API:应用程序接口(API:Application Program Interface) 应用程序接口(是一组定义、程序及协议的集合,通过API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用API 函数对应用程序进行开发,可以减轻编程任务。API 同时也是一种中间件,为各种不同平台提供数据共享。 根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将API 分为四种类型: 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。 有时公司会将API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

数据库常用函数

数据库常用函数

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份和还原 备份:exp dsscount/sa@dsscount owner=dsscount file=C:\dsscount_data_backup\dsscount.dmp log=C:\dsscount_data_backup\outputa.log 还原:imp dsscount/sa@dsscount file=C:\dsscount_data_backup\dsscount.dmp full=y ignore=y log=C:\dsscount_data_backup\dsscount.log statistics=none 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) CREATE TABLE ceshi(id INT not null identity(1,1) PRIMARY KEY,NAME VARCHAR(50),age INT) id为主键,不为空,自增长 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

常用API

转:OpenGL API 简介 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有 OpenGL函数采用了以下格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenGL那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的类型。I代表int型,f代表float型,d代表double型,u代表无符号整型。例如glVertex3fv()表示了该函数属于gl 库,参数是三个float型参数指针。我们用glVertex*() 来表示这一类函数。 OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从图可以看出,gl是核心,glu是对gl的部分封装。 glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。下面逐一对这些库进行详细介绍。 1.OpenGL核心库 核心库包含有115个函数,函数名的前缀为gl。这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。核心库中的函数主要可以分为以下几类函数: ?绘制基本几何图元的函数:glBegain()、glEnd()、glNormal*()、glVertex*(); ?矩阵操作、几何变换和投影变换的函数:如矩阵入栈函数glPushMatrix(),矩阵出栈函数glPopMatrix(),装载矩阵函数glLoadMatrix(),矩阵相乘函数glMultMatrix(),当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport();?颜色、光照和材质的函数:如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial(); ?显示列表函数:主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、glEndList()、glGenLists()、glCallList()和glDeleteLists(); ?纹理映射函数:主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、 glTexEnv*()和glTetCoord*(); ?特殊效果函数:融合函数glBlendFunc()、反走样函数glHint()和雾化效果glFog*();?光栅化、象素操作函数:如象素位置glRasterPos*()、线型宽度glLineWidth()、多边形绘制模式glPolygonMode(),读取象素glReadPixel()、复制象素glCopyPixel(); ?选择与反馈函数:主要有渲染模式glRenderMode()、选择缓冲区glSelectBuffer()和反馈缓冲区glFeedbackBuffer(); ?曲线与曲面的绘制函数:生成曲线或曲面的函数glMap*()、glMapGrid*(),求值器的函数glEvalCoord*() glEvalMesh*(); ?状态设置与查询函数:glGet*()、glEnable()、glGetError()。 2.OpenGL实用库The OpenGL Utility Library (GLU) 包含有43个函数,函数名的前缀为glu。OpenGL提供了强大的但是为数不多的绘图命令,所有较复杂的绘图都必须从点、线、面开始。Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现

Excel中常用函数介绍

Excel中常用函數介紹 函數名稱:COUNTIF函數. 主要功能:統計某個單元格區域中符合指定條件的單元格數目. 使用格式:COUNTIF(Range,Criteria) 參數說明:Range代表要統計的單元格區域,Criteria表示指定的條件表達式. 應用舉例:在A7單元格中輸入公式: =COUNTIF(A1:A6,">=25"),確認后,即可統計出A1至A6單元格區域中,數值大于等于25的單元格數目. 函數名稱:ABS函數 主要功能:相應數字的絕對值. 使用格式:ABS(number) 參數說明:number代表需要求絕對值的數值或引用的單元格. 應用舉例:如果在B2單元格中輸入公式:=ABS(A2),則在A2單元格中無論輸入正數(如100)還是負數(如-100),B2中均顯示出正數(100). 函數名稱:AND 主要功能:返回邏輯值:如果所有參數值均為邏輯"真(TRUE)",則返回羅輯"真(TRUE)",反之返回羅輯"假(FALSE)". 使用格式:AND(logical1,logical2, ...) 參數說明:Logical1,Logical2,Logical3……:表示待測試值的條件值或表達式最多達30個. 應用舉例:在C5單元格輸入公式:=AND(A5>=60,B5>=60),確認.如果C5中返回TRUE,說明A5和B5中的數值均大於等于60,如果返回FALSE,說明A5和B5中的數值至少有一個小于60.

函數名稱:AVERAGE 主要功能:求出所有參數的算術平均值, 使用格式:AVERAGE:(number1,number2,……) 參數說明:number1,number2,……:需要求平均值的數值或引用單元格(區域),參數不超過30個. 應用舉例:在B8單元格中輸入公式:=AVERAGE(B7:D7,F7:H7,7,8),確認后,即可求出B7至D7區域,F7至H7區域中的數值和7,8的平均值. 函數名稱:COLUMN 主要功能:顯示所引用單元格的列標號值. 使用格式:COLUMN(reference) 參數說明:reference為引用的單元格. 應用舉例:在C11單元格中輸入公式:=COLUMN(B11),確認后顯示為2(即B列). 函數名稱:CONCATENATE 主要功能:將多個字符文本及或單元格中的數據連接在一起,顯示在一個單元格內. 使用格式:CONCATENATE(Text1,Text2……) 參數說明:Text1,Text2……為需要連接的字符文本或單元格. 應用舉例:在C14單元格中輸入公式:=CONCATENATE(A14,"@",B14,".com"),確認后,即可將A14單元格中的字符+”@”+B14單元格中的字符+”com”連接成一體,顯示在C14單元格內. 函數名稱:DATE 主要功能:給出指定數值的日期. 使用格式:DATE(year,month,day) 參數說明:year為指定的年份數值(小于9999),month為指定的月份數值(可以大于12);day 為指定的天數. 應用舉例:在D5單元格中輸入公式:=DATE(2003,13,35),確認后,顯示出2004-2-4.

相关文档