📄 demo.c
字号:
//=================================================
// DEMO.C
// 调用CHNSORT.DLL,测试两汉字串的笔划顺序
//=================================================
//本程序用 MSVC++1.52 和 MSVC++5.0 编译通过
// 包含DEMO.DEF ,DEMO.H, DEMO.RC
// 在 MSVC++1.52 下创建工程文件选 Windows Application(.EXE) 类型
// 在 MSVC++5.0 下创建工程文件选 Win32 Application(.EXE) 类型
//
#include <WINDOWS.H>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "demo.h"
char lpText1[72];
char lpText2[72];
HANDLE hInst;
// 取得两个汉字串的对话框说明
BOOL GetText(HWND hWnd);
BOOL FAR PASCAL GetTextDlgProc(HWND hDlg,UINT message,WORD wParam,LONG lParam);
// 按笔划顺序比较字符串
// 动态库中的函数说明
int _export FAR PASCAL ChnStrComp(LPSTR lpStr1,LPSTR lpStr2);
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
int nRet;
char lpInfor[256];
char lpComp[16];
hInst=hInstance;
if ( !GetText(NULL) )
return 0;
// 比较两个汉字串
nRet=ChnStrComp(lpText1,lpText2);
// 根据比较结果,将结论写入一个字符串中
if ( nRet<0 )
strcpy(lpComp," 先于 ");
else if ( nRet==0 )
strcpy(lpComp," 等于 ");
else
strcpy(lpComp," 后于 ");
// 形成结论并显示出来
lstrcpy(lpInfor,lpText1);
lstrcat(lpInfor,lpComp);
lstrcat(lpInfor,lpText2);
MessageBox(NULL,lpInfor,"汉字笔划顺序比较结果",MB_OK);
return 1;
}
BOOL GetText(HWND hWnd)
{
FARPROC lpProc;
BOOL bReturn;
lpProc = MakeProcInstance(GetTextDlgProc, hInst);
bReturn=DialogBox(hInst,
MAKEINTRESOURCE(SEARCHBOX),
hWnd,
lpProc);
FreeProcInstance(lpProc);
return bReturn;
}
BOOL FAR PASCAL GetTextDlgProc(HWND hDlg,UINT message,WORD wParam,LONG lParam)
{
switch(message)
{
case WM_INITDIALOG:
SetDlgItemText(hDlg,IDE_TEXT1,lpText1);
SetDlgItemText(hDlg,IDE_TEXT2,lpText2);
return TRUE;
case WM_COMMAND:
switch (wParam)
{
case IDOK:
GetDlgItemText(hDlg,IDE_TEXT1,lpText1,72);
GetDlgItemText(hDlg,IDE_TEXT2,lpText2,72);
EndDialog(hDlg,TRUE);
return (TRUE);
case IDCANCEL:
EndDialog(hDlg,FALSE);
return TRUE;
}
break;
default:
return NULL;
}
return NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -