QQ登录

只需一步,快速开始

186上位机VC MFC字符串对比加减转换整形相关控制

[ 复制链接 ]

186上位机VC MFC字符串对比加减转换整形相关控制

186上位机VC MFC字符串对比加减转换整形相关控制
186上位机VC MFC字符串对比加减转换整形相关控制
功能展示
在涉及参数保存打开操作时就会用到字符串相关的编程,我们当前例程罗列出常用字符串操作功能实现,如字符串的相加,比较,提取,字符串的总长度宽度获取,整数浮点数转为字符串等等的操作,效果如图;
要点提示
字符串的相关操作我们一般用Cstring内的成员函数,字符串对比操作可以用函数CompareNoCase()或Compare();
指定字符串的总长度和宽度可以用CDC的成员函数GetTextExtent()获得;
字符串的格式化可以用Cstring的成员函数Format(),此函数共有两参数,参数一为格式化控制,参数二为受格式化对象;
格式化控制有 
%c 单个字符
  %d 十进制整数(int)
  %ld 十进制整数(long)
  %f 十进制浮点数(float)
  %lf 十进制浮点数(double)
  %o 八进制数
  %s 字符串
  %u 无符号十进制数
  %x 十六进制数
实现功能
1.新建基于对话框的应用程序
2.拖拽两编辑框控件用于输入字符串转换用;
3.依次添加按钮控件,字符串相加保存,字符串比较保存,字符串提取保存,字符串长宽获取,字符串格式化,整数int转为字符串,浮点数float转为字符串,字符串赋值给字符指针,按钮控件函数为
  1. void CGkbc8Dlg::OnAdd()
  2. {
  3.         CString sText1,sText2;
  4.         GetDlgItemText(IDC_EDIT1,sText1);
  5.         GetDlgItemText(IDC_EDIT2,sText2);
  6.         sText1+=sText2;//字符串相加

  7.         SaveLog(sText1);//结果字符串保存到文件
  8.         MessageBox(sText1,"");
  9. }
  10. void CGkbc8Dlg::OnFormat()
  11. {
  12.         CString sText1,sText2;
  13.         GetDlgItemText(IDC_EDIT1,sText1);
  14.         GetDlgItemText(IDC_EDIT2,sText2);
  15.         //
  16.         CString sText;
  17.         sText.Format("%s--%s",sText1,sText2);
  18.         SaveLog(sText);//结果字符串保存到文件
  19.         MessageBox(sText,"信息提示",MB_OK);        

复制代码
  1. void CGkbc8Dlg::OnCompare()
  2. {
  3.         CString sText1,sText2;
  4.         GetDlgItemText(IDC_EDIT1,sText1);
  5.         GetDlgItemText(IDC_EDIT2,sText2);
  6.         if(sText1.CompareNoCase(sText2)==0)
  7.         {
  8.                 sText1+="相同于(使用CompareNoCase比较)";
  9.                 sText1+=sText2;
  10.                 SaveLog(sText1);//结果字符串保存到文件
  11.                 MessageBox(sText1,"信息提示",MB_OK);
  12.         }
  13.         if(sText1.Compare(sText2)!=0)
  14.         {
  15.                 sText1+="不同于(使用Compare比较)";
  16.                 sText1+=sText2;
  17.                 SaveLog(sText1);//结果字符串保存到文件
  18.                 MessageBox(sText1,"信息提示",MB_OK);
  19.         }
  20. }
  21. void CGkbc8Dlg::OnGet()
  22. {
  23.         CString sText1,sText2;
  24.         GetDlgItemText(IDC_EDIT1,sText1);
  25.         GetDlgItemText(IDC_EDIT2,sText2);
  26.         int nIndex=sText1.Find(sText2);
  27.         if(-1 != nIndex)//字符串sText1中找到sText2时
  28.         {
  29.                 CString sText;
  30.                 sText.Format("%d--%d",nIndex,nIndex+sText2.GetLength()-1);
  31.                 sText2+=" 在 ";
  32.                 sText2+=sText1;
  33.                 sText2+=" 的字节范围为:";
  34.                 sText2+=sText;
  35.                 SaveLog(sText2);//结果字符串保存到文件
  36.                 MessageBox(sText2,"信息提示",MB_OK);        
  37.         }
  38. }
  39. }
复制代码
  1. void CGkbc8Dlg::OnInt()
  2. {
  3.         CString sText1,sText2;
  4.         GetDlgItemText(IDC_EDIT1,sText1);
  5. //
  6.         int iDigital=atoi(sText1)+123456;
  7.         sText2.Format("%d",iDigital);

  8.         SetDlgItemText(IDC_EDIT2,sText2);
  9.         SaveLog(sText2);//结果字符串保存到文件
  10.         MessageBox(sText2,"信息提示",MB_OK);
  11. }

  12. void CGkbc8Dlg::OnFloat()
  13. {
  14.         CString sText1,sText2;
  15.         GetDlgItemText(IDC_EDIT1,sText1);
  16.         //
  17.         float iFloat=atof(sText1)+123.45;
  18.         sText2.Format("%f",iFloat);

  19.         SetDlgItemText(IDC_EDIT2,sText2);
  20.         SaveLog(sText2);//结果字符串保存到文件
  21.         MessageBox(sText2,"信息提示",MB_OK);        
  22. }

  23. void CGkbc8Dlg::OnValue()
  24. {
  25.         CString sText1;
  26.         //
  27.         LPTSTR lpszText = _T("LPTSTR >> CString");
  28.         sText1.Format( _T("%s"), lpszText );
  29.         
  30.         SetDlgItemText(IDC_EDIT2,sText1);
  31.         SaveLog(sText1);//结果字符串保存到文件
  32.         MessageBox(sText1,"信息提示",MB_OK);
  33. }
复制代码
  1. void CGkbc8Dlg::OnStrsize()
  2. {
  3.         CString sText1,sText2;
  4.         GetDlgItemText(IDC_EDIT1,sText1);
  5.         GetDlgItemText(IDC_EDIT2,sText2);
  6.         //
  7.         CDC *pDC=GetDC();
  8.         CSize Size=pDC->GetTextExtent(sText1,sText1.GetLength());
  9.         CSize Size1=pDC->GetTextExtent(sText2,sText2.GetLength());
  10.         CString StrSize;
  11.         StrSize.Format("字符串长宽分别为:%d:%d--%d:%d",Size.cx,Size.cy,Size1.cx,Size1.cy);
  12.         SaveLog(StrSize);//结果字符串保存到文件
  13.         MessageBox(StrSize,"信息提示",MB_OK);        
  14. }
复制代码
我们来演示整个功能实现过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:186.上位机VC MFC字符串对比加减转换整形相关控制.rar 
文件大小:139.06 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索