Unit1.cpp
上传用户:lhxd_sz
上传日期:2014-10-02
资源大小:38814k
文件大小:2k
源码类别:

VC书籍

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Unit1.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TForm1 *Form1;
  9. //---------------------------------------------------------------------------
  10. __fastcall TForm1::TForm1(TComponent* Owner)
  11.         : TForm(Owner)
  12. {
  13. }
  14. //---------------------------------------------------------------------------
  15. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
  16. {
  17.   switch(Key)
  18.   {
  19.     case '0': //接受数字键0~9的输入
  20.     case '1':
  21.     case '2':
  22.     case '3':
  23.     case '4':
  24.     case '5':
  25.     case '6':
  26.     case '7':
  27.     case '8':
  28.     case '9':
  29.     case 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了
  30.       break;
  31.     case '.': //检查是否已存在小数点
  32.       if(DotInStr(Edit1->Text))
  33.         Key=0;
  34.       break;
  35.     case '+': //检查是否已存在符号
  36.     case '-':
  37.       if(SignInStr(Edit1->Text))
  38.         Key=0;
  39.       break;
  40.     default: //对于其他输入键,置Key=0
  41.       Key=0;
  42.       break;
  43.   }
  44. }
  45. //---------------------------------------------------------------------------
  46. bool __fastcall TForm1::DotInStr(AnsiString ass)
  47. {
  48.   int ii,ll;
  49.   ll=ass.Length();
  50.   for(ii=0;ii<ll;ii++)
  51.   {
  52.     if(ass.c_str()[ii]=='.')
  53.     {
  54.       return True;
  55.     }
  56.   }
  57.   return False;
  58. }
  59. //该函数检查字符串前面是否已存在"+、-"符号
  60. bool __fastcall TForm1::SignInStr(AnsiString ass)
  61. {
  62.   int ii,ll;
  63.   ll=ass.Length();
  64.   for(ii=0;ii<ll;ii++)
  65.   {
  66.     if((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-'))
  67.     {
  68.       return True;
  69.     }
  70.   }
  71.   return False;
  72. }