- 在线时间
- 1957 小时
- 最后登录
- 2024-6-29
- 注册时间
- 2004-4-26
- 听众数
- 49
- 收听数
- 0
- 能力
- 60 分
- 体力
- 40957 点
- 威望
- 6 点
- 阅读权限
- 255
- 积分
- 23862
- 相册
- 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)
6 |2 a& m( O8 c _. O{ ; F& A! ?5 |' n
char *string; ; Q# \0 N5 L5 a' |2 K8 f' T) B1 b
int i,j,k;
" a* ?, V" m0 \& tchar ch; & w* k, L; M2 Q% o7 i
bool flag=false;
& x+ x% a! p. y5 Q+ i
' ~' q0 l/ L0 ek=Edit1->Text.Length(); 5 Z4 g! K) b! o3 h. e
string=new char[k+1];
% ^ |, D5 L1 y0 L# Kstrcpy(string,Edit1->Text.c_str());
3 c* \! l. T/ R8 W9 @0 Vfor(i=0;i<k;i++)
* p8 i3 y$ M; G( Y. i{
" V. v- e: }9 kch=string; 4 v2 ~# J! j z7 f! U2 {/ W' X" k% j8 z
if(!(ch>='0' && ch<='9' || ch=='.')) - K1 w; |( M* x7 J5 z
{
G0 n3 [1 c( n4 m% Ufor(j=i;j<k;j++)
# w9 B7 L+ U9 V5 @string[j]=string[j+1];
1 U" Q5 _2 d6 Y, X4 lk--; ! U6 E/ i4 C+ q
flag=true; m+ s- J' J/ l6 M
}
1 F' S U& X# d3 ^- B4 J/ w$ m9 D} 4 w; {2 D. t; [) \% D
if(flag) / l3 ~9 \3 C1 h% Y/ W9 e: {
Edit1->Text=AnsiString(string);
' e6 ]0 U" M% S+ ^9 k" F6 gdelete[] string;
3 O4 y: `% J, e6 s+ h+ w//GlobalText=Edit1->Text;
7 P, p& d) t- U, h# O* M( R, X3 b- @}
+ z6 f4 z0 E5 W! C//---------------------------------------------------------------------------& y4 q' h4 Y3 e5 |1 f" _
*************************************************************************************************</P>
0 @6 _/ A J5 |% v< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) $ w% P+ H0 S+ W( r c" a
{ ; Q8 n$ j; M9 i7 D9 u6 |7 z
if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b'))
3 |- s6 L, ~" U9 G4 U" ?- f. d Key=0;
9 Y. Z( {( n# W7 l, `( r- O8 K} & F) k7 x0 c) r' \' Z
//--------------------------------------------------------------------------- </P>
* ^( y$ ~+ I3 ]6 W< >*************************************************************************************************</P>1 s6 k) R% g* A& _% J) \" Q
< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
4 F3 S) s" s+ t: V, e- O{ , A+ [7 l6 X: C
switch(Key)
9 t2 Y# e# t+ O- N/ W. C{
$ |! ?' L1 w& E4 d n* Tcase '0': //接受数字键0~9的输入
; a( H, y0 N" gcase '1':
5 r' b- }8 F5 B1 pcase '2':
7 C) |7 q o; _9 lcase '3':
/ X5 G7 p# _9 o- ]case '4':
) Q7 w5 [) j: R' b) g' h( L" }case '5':
3 U5 H3 o2 R; F+ C# Rcase '6': & N: s: z7 P, J2 g+ I4 I4 `/ i0 D3 H$ [
case '7':
. R2 h! r; S' G# @( @' u$ Hcase '8': ! o* a! c& D: S5 V2 h8 F/ O
case '9': 8 R! @/ F$ k7 Y6 Y% J: A+ t2 x( y$ U+ y
case 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了 , y. B5 w" B, V
break; 0 l j9 o r# [
case '.': //检查是否已存在小数点 ! k" i: m! P# Q6 v
if(DotInStr(Edit1->Text)) 9 X6 ^2 X" v$ ?% `- q: s/ ^
Key=0;
7 n. f" } ?: r* Wbreak;
' R" o- P4 b, tcase '+': //检查是否已存在符号 1 l) S" @' m3 }( n% A, ]/ m7 N
case '-': $ d0 W' H; Z. i
if(SignInStr(Edit1->Text))
: W i% C4 b5 E( d- P o+ W) F r# PKey=0; 0 J: D: [5 e- V- A
break; 7 w/ H6 G; B4 x# z( {' P
default: //对于其他输入键,置Key=0
0 ^/ m" F4 m. t5 g5 v4 M5 sKey=0; 4 a; N, R) E6 z) Q! u
break; ; |1 J5 _* O, d& [0 M- f* {
}
q( }& [: B* ^ J4 z! i' B! N} ; b. B- O. _5 b x/ g
//--------------------------------------------------------------------------- " b) ]% p0 ~- j+ \1 b5 b) K
bool __fastcall TForm1: otInStr(AnsiString ass) 0 n9 m( E! @! [5 N7 \
{ 1 r) i! N6 c! C9 \4 C+ b. o
int ii,ll;
! q# e# k! T/ yll=ass.Length(); ! s4 f0 _6 ]4 i5 L7 @# ]% [+ x9 t# k' v
for(ii=0;ii<ll;ii++)
# F1 V8 |2 ^" g" M. T& f5 a2 l{ # V. z" E9 ^! U6 q3 a- G# w5 F
if(ass.c_str()[ii]=='.') 2 j) K; i; x* \
{
& d9 v* ^' v, z0 y5 `return True;
& F9 O4 M7 e$ t z$ I; X3 r} " f$ p/ Y1 s8 M0 j' Y$ Y
}
, ^( }1 u# A2 U$ G Z4 c* \: vreturn False;
_8 }1 Z9 {# j}
0 U6 {+ |7 S" y- W# u+ X//该函数检查字符串前面是否已存在"+、-"符号
- P; F ~6 n" g' i$ Mbool __fastcall TForm1::SignInStr(AnsiString ass)
( Y/ G1 R) n( s0 I/ ^# }# E/ q{ ( ^" d1 D8 S E/ C) M
int ii,ll;
6 P: u2 k7 f/ m6 G6 g. F( L3 qll=ass.Length(); + z$ g# ]7 i; Z! B
for(ii=0;ii<ll;ii++)
% H2 W) B. b9 q6 |; |. u{
* v; z7 B# m1 j8 l% Cif((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-'))
" H4 t+ e! P% `, R* c9 m{ ) b1 |: t$ _+ d: i! y7 j* P0 a8 D
return True;
' {) z( l# ]* ]1 i4 d) a} & q* [8 t2 J( Z1 A- ~
}
4 m( O+ @: e9 m3 x$ rreturn False;
1 [- F8 ~9 W0 Y, B* u} 5 W. [2 n& K/ s6 l
</P> |
zan
|