- 在线时间
- 1957 小时
- 最后登录
- 2024-6-29
- 注册时间
- 2004-4-26
- 听众数
- 49
- 收听数
- 0
- 能力
- 60 分
- 体力
- 40960 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 23863
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 20501
- 主题
- 18182
- 精华
- 5
- 分享
- 0
- 好友
- 140
TA的每日心情 | 奋斗 2024-6-23 05:14 |
|---|
签到天数: 1043 天 [LV.10]以坛为家III
 群组: 万里江山 群组: sas讨论小组 群组: 长盛证券理财有限公司 群组: C 语言讨论组 群组: Matlab讨论组 |
< >void __fastcall TForm1::Edit1Change(TObject *Sender)
: \& {: @* Q! f5 v2 l{ 7 v2 x) Y' w; x! y
char *string;
( A# I* L5 ~+ B* x4 U2 Z# q" Zint i,j,k;
8 d8 A% T1 F, B" S+ M( { Qchar ch;
4 \. s- H1 H4 n# Y/ x* V" ^bool flag=false;
7 V5 N) I* G) |( m5 H4 T
9 r6 W$ N! \7 J$ U5 S4 p; w( sk=Edit1->Text.Length(); # ?& g9 B) A' c7 B$ d' c
string=new char[k+1]; e$ ^: q& U- E# X' Q5 g
strcpy(string,Edit1->Text.c_str());
" u% M7 G2 j4 B, q v& p+ ffor(i=0;i<k;i++) 2 Z" R% o7 G' ?5 `2 v( j
{
' t$ X: e! ~9 ?ch=string; 4 y( ]" J# ]* ^5 ^) d
if(!(ch>='0' && ch<='9' || ch=='.')) . }% `2 ?$ y- N6 X2 k* A9 @
{ & z# {, ]8 F$ {7 Q2 ?
for(j=i;j<k;j++) $ \6 l2 x' p- y) `+ v' o! I
string[j]=string[j+1];
/ Q) c: y* O% Rk--; , j+ c; H- T! Z" I: z" u" k
flag=true;
7 b/ q1 a* L l' u1 ?' M}
0 q9 H+ m2 Z8 _4 I}
3 [8 P6 Y- D, ~ {if(flag)
; u" D* ^& B; h, f8 i' }2 A2 x# P! h8 JEdit1->Text=AnsiString(string);
: b6 m0 B) C% Q1 v9 d- ddelete[] string; 9 B1 T- U6 F/ F1 P
//GlobalText=Edit1->Text; & t3 D" p" [" ]6 b
}
! H4 z N! d: D7 E, W//---------------------------------------------------------------------------/ O0 x1 n! E0 t1 u
*************************************************************************************************</P>
' i2 A# W+ e2 f* y( E' D< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
. o( i; I* q8 v- Z4 t2 h{
" a% w B. ?1 A8 c7 { if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b'))
% ?6 L& C+ A' s" r8 | Key=0; 3 X3 d5 }2 w3 B& f
}
4 o9 H4 I. b3 w$ i4 }3 s//--------------------------------------------------------------------------- </P>' f" N; g2 T0 A5 R
< >*************************************************************************************************</P>
- p0 _0 C; E I% t+ X< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) ! E* _" k9 J8 W! u* Z) T
{ ! ?$ [! T* G6 h" q* q, N/ |
switch(Key)
$ Y |) x& `1 x. S9 T. C8 X{ 0 }2 |3 T1 f/ n6 M, T
case '0': //接受数字键0~9的输入
) f$ |" _4 A8 W7 r; Q \2 E& B5 lcase '1': ( t1 o/ d! O: {/ S V+ p
case '2':
- ?) x& o" M( q/ a. B5 d4 I0 R! C! ccase '3':
- Q+ i6 W8 u, s/ E) mcase '4':
. L) d( @# s3 u# E. `case '5':
7 |7 m0 ^$ ?, Q/ E3 ncase '6':
& e. s! Y7 ~- K$ U( `case '7': % @: O: V! `5 z
case '8':
; z' y' p2 y3 `$ O* y4 bcase '9':
* k+ w E8 y5 u# c, Vcase 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了
" c- c" J8 W, \7 q, G9 D( dbreak; 4 G p# ]: m8 E
case '.': //检查是否已存在小数点 0 u/ `7 @0 ^; g; z# W! G
if(DotInStr(Edit1->Text)) 0 Z$ p4 `$ j# q" B2 D6 z7 ]
Key=0;
5 @" Z9 X x6 I, K* U, Zbreak;
0 U& R# x& S3 Bcase '+': //检查是否已存在符号 : [# O+ r N1 A
case '-': ; R9 V+ ^4 r! k1 p. d
if(SignInStr(Edit1->Text)) 4 ?+ G7 I2 s: s! l
Key=0; ! i, K) P+ m6 N# u
break;
+ L( O9 T7 T& Sdefault: //对于其他输入键,置Key=0
8 h% Z/ \0 t* u: i$ x0 gKey=0;
1 s0 ~# Y4 a4 j; Ibreak;
1 U& D- U$ E5 l/ D d} ; o( }. K; _% e- q
}
9 p+ i' p- a2 r//--------------------------------------------------------------------------- 5 l$ d% S+ z. W
bool __fastcall TForm1: otInStr(AnsiString ass)
0 }& m6 x) v* k4 k{ # u. R7 J: Z* F8 Z, n6 x3 f& \9 j" A
int ii,ll; - \# H+ E) [4 W
ll=ass.Length();
0 z4 O$ r% |& Y" nfor(ii=0;ii<ll;ii++) # a5 ?5 C" v& a
{
* S' \3 A; b, W: C; T kif(ass.c_str()[ii]=='.') X& ^/ c3 P9 p. ~
{ % M" M) ?/ K/ b' Z$ t% p3 D) \
return True;
/ r8 {( y" M A& E5 ]/ G} ' [+ l$ e' I6 W
} % X: P. ]6 P2 n
return False;
. W0 w0 I$ e Y$ v}
# c$ ]; @( M, }: o/ O% G) I//该函数检查字符串前面是否已存在"+、-"符号
. m, I. u- K4 h5 ibool __fastcall TForm1::SignInStr(AnsiString ass) # v- h' V5 U5 q6 p, \# c/ A
{
: |" K2 f+ M4 L0 _6 X4 s/ J) b. e6 Sint ii,ll;
; s+ R4 k R* w kll=ass.Length(); $ {% X0 q- x' e3 Z
for(ii=0;ii<ll;ii++)
6 ` l e# p/ _# o{
1 y: E7 R0 _+ b2 w1 r. V% Kif((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-')) 4 d, U t- A9 K T- G
{
. s6 |) J8 J/ {- Sreturn True; 4 ?. O* z7 `9 ^5 t( \
}
+ P; q3 x6 x+ S; k. z- j}
9 J2 n* E% L" nreturn False;
9 S8 E: H3 w+ o. J2 ^. H/ ?} 9 m/ C0 a; P: A/ U. v v' x# O4 r! p
</P> |
zan
|