- 在线时间
- 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)
. g' p0 A# I# G# d: }' p{
$ ]/ w9 W0 L; ^2 y: Cchar *string; : K' V# g! F- X% V- F5 U
int i,j,k; 2 f) k* A" p0 R) c: V# H3 u
char ch;
# c' O$ K1 }+ O: L5 Z j1 i, Rbool flag=false; 2 r% j" S( w' |
* Q8 u5 M0 F* W# ^! Ak=Edit1->Text.Length(); / }3 c' |' [1 |* O+ f6 A) e
string=new char[k+1];
2 Y% k2 @$ P+ \/ j/ mstrcpy(string,Edit1->Text.c_str()); 8 j" x0 X' j: c" a" z
for(i=0;i<k;i++)
; m7 I& m% D9 \, \& P{ ! J) m. H, x8 e( C0 {( ^) g
ch=string;
3 l2 L. _0 h7 J8 t- ]if(!(ch>='0' && ch<='9' || ch=='.'))
7 Q( }/ U- R5 Y+ }6 ?+ i{
; A8 |& R% m5 w% G: [for(j=i;j<k;j++) - C6 n( ]8 T1 ^+ i9 F
string[j]=string[j+1];
& E0 d2 v& q8 R' {/ Z7 ?$ T0 pk--; 7 k+ |) S9 |5 i% D+ d
flag=true; " Z1 o0 r. K5 N6 P5 x9 Z3 i: ~( O7 i
} # t# B# k" ^% D/ i: B+ {) D
} " }5 d% a, h; {6 I2 {3 O
if(flag)
h" z/ l6 a4 M5 v( d9 EEdit1->Text=AnsiString(string);
6 `' O: ?/ o7 j0 Idelete[] string;
) ~9 _! `0 n3 x. m- t* N1 F//GlobalText=Edit1->Text;
- H& D8 V0 ? U7 y7 O- E}
( H7 R' S) w; X+ W. `# O* k4 g: F//---------------------------------------------------------------------------
( W8 Z; w/ s3 w( \7 \*************************************************************************************************</P>
( i8 \2 Z9 U0 P. L+ K9 @( ~8 v< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) ) C7 J D% e* V- [
{ ! N$ C" {: v v& o) U; ^" p
if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b')) ) C# U4 z3 \9 m9 o! Q
Key=0; 6 o8 e5 K9 B5 n! ]+ B
} . [ H. \) N3 S9 w$ L' u/ a) `! @
//--------------------------------------------------------------------------- </P>
" U. f: Y* h7 }- j! w< >*************************************************************************************************</P>
$ s2 n8 p) |( U* `< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) 3 k* _+ r3 Z* E5 _ t ~
{
" A) Y" G% }. k( Rswitch(Key)
T0 M- a/ ^/ }{
0 E& I t, M5 Gcase '0': //接受数字键0~9的输入
^! F) M- m" |* B. @case '1':
! E: `( @6 d6 g# s/ `case '2':
7 m/ C* _( G" f; R& Q5 \2 |9 ^case '3': 0 ~! K$ y7 Q5 N' j5 r
case '4': 8 a5 H: R) ~- H/ ?& ^9 l$ ~9 V
case '5':
5 u+ ]% X9 V- K( f- v5 ^, W! r/ X3 A" m# o8 Wcase '6':
$ n. ]% K$ i" J) ucase '7': 3 X/ T. Q: V3 _# p- J- [
case '8': 8 f+ T+ S% b! k
case '9': ' V" o+ c6 {9 H2 r d2 k
case 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了 $ [3 K; S# G$ V% a
break;
& c% M r9 X8 L6 z% R& M+ a0 f: H/ P, jcase '.': //检查是否已存在小数点
1 X4 b* k- t4 F) [" r* H# D" cif(DotInStr(Edit1->Text))
7 F2 p0 d' u1 K4 z0 fKey=0; - j8 I) s/ h. l- t/ `8 R
break; / B G# Y% k, ^- g0 S# X
case '+': //检查是否已存在符号 # ~6 z! I# _, W% u; K! B" K, K0 I
case '-': 7 R) h `0 u* ~ N- J! x1 E
if(SignInStr(Edit1->Text))
% n. X5 U9 r/ a; U- k+ h7 l% DKey=0;
) ^5 s& Z- \6 g4 F5 I) {. w) rbreak; 1 @3 y9 [" e+ ?5 p! L0 C @- Y
default: //对于其他输入键,置Key=0
9 k0 G& |1 ?1 c# Q0 X: N4 k- ~Key=0;
' W) J/ `3 J5 lbreak;
3 m: [) q4 N8 h8 u} . e$ v9 n; l$ Y2 d
}
: w) o4 }* \6 U6 O5 n. U//--------------------------------------------------------------------------- # B5 Q: W* l* s% ?, Z
bool __fastcall TForm1: otInStr(AnsiString ass)
( @ Y, ]9 v3 r( c8 G. `{ ! i; V" X) o. b& k3 Z i9 F
int ii,ll; 5 f9 T, K9 H7 E
ll=ass.Length(); * D9 w4 f( D) N6 c4 K4 g7 N- l
for(ii=0;ii<ll;ii++) 7 G& _6 Q) _6 D9 c
{ . g( q3 }$ i! [- r& [& A
if(ass.c_str()[ii]=='.') ! F, p, _% e% p7 C9 L1 {, e. {9 d% z
{
5 h) ]+ F6 u$ `( N P' F! {$ f2 D8 dreturn True;
2 _2 g1 [( q }! |0 p8 d}
) I& c1 |0 \4 e- c& l3 C} 2 c% Z( J/ C$ w, s# u% |
return False;
: A5 d: a) \* {; ]6 s}
' g0 M4 \( @4 f$ g; @//该函数检查字符串前面是否已存在"+、-"符号 . @) i4 o! e- H7 }$ k3 I) H
bool __fastcall TForm1::SignInStr(AnsiString ass) ' S& }1 A$ [7 j/ j9 X* [* q0 U% e
{
0 z+ a: t: k6 X7 Y+ cint ii,ll;
6 s5 K1 [3 t# ]+ q/ J4 \ll=ass.Length(); 0 W5 }2 Z- I1 S! z5 e
for(ii=0;ii<ll;ii++)
. M8 w9 Z9 N2 o0 R% A" @{ , g% p0 b) g* l; c$ u
if((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-')) : Y& L& x. }/ j, g$ Q0 `4 f
{
# O: P5 b. Z- v% t' m) v$ rreturn True; # O: Y! q4 }" k( z- s \
} - i; N8 ?0 K( N' h
}
O# C4 X" K- jreturn False; - C$ q ]- M s; z( i9 I' e
} # [7 j9 G. L3 W! r6 Q+ C; d# ?0 ?* e
</P> |
zan
|