- 在线时间
- 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)
% |# ?7 j$ P: ]5 c- W# V{ # j' r# o! v( K- A$ D+ S f2 ~
char *string; 7 ?2 x7 w" x4 x# x
int i,j,k; * z3 _! w0 o1 n: `, W8 J
char ch;
2 S3 R3 X: d; R. }bool flag=false;
4 s- z! @- R( P4 v9 b: G6 q1 k( |" x
k=Edit1->Text.Length();
/ T3 E; }. _# |' O" [) [5 ^; rstring=new char[k+1];
- R- \. b2 F+ u, [0 C; ~* istrcpy(string,Edit1->Text.c_str()); , \) s! e% t# ~
for(i=0;i<k;i++) " j3 H F1 q, ]3 P! E/ _! Y
{ 7 e: y1 U( k) B+ h A4 u" x2 [
ch=string;
: a N% z# A# ` |' Hif(!(ch>='0' && ch<='9' || ch=='.'))
( N. A6 t$ S' n6 ?) n{ 7 |/ r- S8 [& \2 l, A+ G7 v
for(j=i;j<k;j++) ) P) y8 `- n% t' ~+ c' P" a
string[j]=string[j+1];
) ~5 b( \2 x: R" O- g8 A/ Xk--; & Q B, }, a3 n# _+ q- O
flag=true;
' l- J, u c: N& O+ V8 Y7 _} 5 ^: F9 ^" Z5 U0 J: w7 H* x$ Q
}
# n+ ]7 F# f9 cif(flag)
1 m' \+ R( d3 o# p1 J7 t: @Edit1->Text=AnsiString(string); / V. J: C0 P% f1 j) I% }! W
delete[] string; : M+ R4 v4 n# z3 D- I
//GlobalText=Edit1->Text; # F' f. b/ f# Q7 p! v' L( N
}
# p& b( l: F' \# `+ T6 ?//---------------------------------------------------------------------------5 O ]/ x1 o0 K8 b- U
*************************************************************************************************</P>
3 Z0 a4 \) q$ h+ k7 o9 U1 |$ s1 [< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) 3 Z5 l8 [7 O% R# m+ I
{ # B) z1 I, G& o$ k* S0 G0 |
if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b'))
. B& b, ^* l! k/ Y8 x Key=0;
1 S; y+ {9 L; W, F} / B# w1 R4 X" H+ j& G/ i: `
//--------------------------------------------------------------------------- </P>
8 @- z7 B: G' A/ @" u3 O4 Q# Z< >*************************************************************************************************</P>
/ S( A% K1 T3 f& m* M< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) 1 A1 d; S5 g$ S# Y% {
{ . L) e3 y; d, z2 p, j9 Y6 w* N0 m
switch(Key) 6 L, x/ J! E9 Z4 \! h
{ 8 m8 B' J8 y8 A) r: C
case '0': //接受数字键0~9的输入 + ^5 K: h) F0 E) b
case '1': ( z4 V1 I: x# V. ?% z; _
case '2': 6 [8 q$ b" A& S( k
case '3':
( g7 a/ z6 o0 z8 \" Qcase '4':
( d9 g8 y3 K4 x! ccase '5': , t0 U" R) }+ F0 L
case '6':
4 X" k( e q9 N9 t& dcase '7': 6 D \4 }" N1 w3 I- E, D$ v
case '8': 1 Y5 _3 q# Z! u' j' k9 v
case '9':
+ A) c6 S* a! ~case 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了 5 |5 }1 E9 J$ p' n: F! W
break;
: R. U- `# I' [3 G) ~case '.': //检查是否已存在小数点 * h6 o2 ]% ?3 R: N9 Q9 l
if(DotInStr(Edit1->Text)) 9 ~; \* F6 G6 @6 v" q; v
Key=0; - v4 I4 \" [' ]1 z7 b
break; 3 D) M7 f1 W. B6 N P1 ]
case '+': //检查是否已存在符号
, K6 [; g& a" p2 Kcase '-':
+ ~- n& i# D [% f$ s! Qif(SignInStr(Edit1->Text))
/ o. D3 m) g1 W) rKey=0;
8 B& [& c' \3 T$ h+ I$ fbreak;
% I8 ]3 {7 c) G/ {: I( Cdefault: //对于其他输入键,置Key=0 6 E. ^: y2 M. l3 |( I V
Key=0;
5 ]' E3 u! U( C: T1 _# xbreak; . I, N8 Y7 F9 _- y" u
} % k5 F: H& h0 ]6 E6 a
}
9 i5 s" b6 H. s3 @. w. a; N//--------------------------------------------------------------------------- : j, [! D, k7 j I# b- w
bool __fastcall TForm1: otInStr(AnsiString ass)
! v; a6 U9 l' I4 _9 d% V+ N) n- G{ 0 T* q4 e) Q+ F
int ii,ll;
; A& e% t7 u4 yll=ass.Length(); * i; `! X: T% o& Z) O, ^( V
for(ii=0;ii<ll;ii++) % z' n% F$ d5 S7 P( z# n z
{ & g& i! j* H! T" b
if(ass.c_str()[ii]=='.')
6 a9 g/ }0 O5 K e' \, [{ . i- J( p x3 s
return True; 7 K0 M+ w2 Y+ a' u# Y. ?2 h
}
* y1 N. A3 t, a) |, _0 n5 `}
2 j: J3 U7 H/ e3 `+ L6 ]2 t7 k( Dreturn False; : E: W6 K% n5 F4 u$ O H2 q
}
/ L Z1 Q2 } d+ c+ L//该函数检查字符串前面是否已存在"+、-"符号 1 d6 l; m) H4 {
bool __fastcall TForm1::SignInStr(AnsiString ass)
1 P. _8 z' H/ X9 {# `) D$ q, B{
0 [( P& }5 U: C4 e0 r6 ]! Xint ii,ll; 0 u% I+ B. P6 f1 b9 n
ll=ass.Length(); ( C- m. i' v0 C9 t* O7 ~5 Z
for(ii=0;ii<ll;ii++)
0 D3 `7 ?7 V7 y9 E5 g1 H! G- U; s{
3 Q0 V4 F+ d- z8 u+ \7 W& N) A0 L9 sif((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-')) 1 ]) d8 R" j/ G$ A
{
$ n4 s* B( h; K& \- A, p6 N% Ireturn True; : ^2 q- N+ X( K( ?& w
}
2 X2 x- M2 T& g; j4 n( a}
) j: {. B) q' H9 P2 greturn False;
8 O7 `; J+ ?, m}
# j3 [ y3 z9 O: P' N" k</P> |
zan
|