- 在线时间
- 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)
e! b% Y& a4 \% _{ & c+ m. s+ |4 s" t: K
char *string;
8 i4 j# v- Z, C$ ~int i,j,k;
. i% ~9 H$ H% q/ j* Y+ [char ch; $ M/ x3 d M" y8 z$ F! v" d. N; B% r
bool flag=false;
P" H) p7 B' s- O1 F. W
2 }& N: f7 ?' L! uk=Edit1->Text.Length();
9 r8 i: _+ M, ~% O( q* ustring=new char[k+1];
2 @% b- R/ N4 {( P1 c Zstrcpy(string,Edit1->Text.c_str()); 0 u- h v8 ]8 N* v c, n+ E1 f+ x: e+ K
for(i=0;i<k;i++)
" B; H2 |4 V5 P8 U. H; w' p- `{
2 \' V4 \4 [& R @" @ch=string;
! |& B& w0 m) r% M. z/ J, Fif(!(ch>='0' && ch<='9' || ch=='.')) ! I& _1 y" q V7 ~% O" `# v8 |
{
4 I+ _: A6 L9 \/ i4 _, Hfor(j=i;j<k;j++) # q) c' F; k* l# F9 x4 w- {
string[j]=string[j+1]; 3 X3 n. y$ D% w( F- Z8 ~
k--; ' r, ?$ B4 ?' \2 ]2 {9 U
flag=true; / r6 M7 @9 d3 k
} # J) D+ e. ~6 T4 m3 x% ]
}
; |. {9 t9 V2 b4 d$ |: H# s7 D% n7 gif(flag) 5 C4 s* k: i9 V4 h8 h- V- J$ v
Edit1->Text=AnsiString(string); . t# o$ W7 V2 Z, j1 _3 E
delete[] string;
- x# m; E8 ^' z' q9 Y. A//GlobalText=Edit1->Text; 3 r% C U& u5 u4 k6 L
}
8 `7 l) ?" d8 O/ w) z7 Y- y//---------------------------------------------------------------------------7 \3 \# {' z6 \" p- ]+ T
*************************************************************************************************</P>
- g) a# c% y: s6 I: G- Y< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
2 k2 |, ]. u1 O- |8 ^{
0 M" Q% W; U9 ~4 c+ ? if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b'))
) ~8 v+ T R1 I) P5 S Key=0;
8 L! ~: G% h, o+ m9 Q5 m} ) {( ~7 f/ B% k2 a4 e
//--------------------------------------------------------------------------- </P>3 ~! I& c1 l' Q
< >*************************************************************************************************</P>
0 e" J7 w2 ]+ k< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
% Y9 p/ v/ i% d/ u9 L/ ?; T{ ' L: `8 ?1 D2 r. U% t
switch(Key) : v6 b0 n% R3 P2 m$ L
{
8 o9 e! t: N! \" K% j0 g0 e* |* Ocase '0': //接受数字键0~9的输入
' W" ]; y S5 F* L3 Fcase '1': - Q$ l& y! I3 K# R" ^
case '2': f: ?8 t: l0 A
case '3': / Z" D; ?' D# u0 I0 K1 J
case '4': 7 [# i% x0 Y2 }) t E ~: R
case '5':
# T9 v$ n% N/ k6 W: Qcase '6': 7 K6 L/ q* e8 t2 e5 O) k6 ]
case '7':
. \+ F8 W4 c3 Z, Dcase '8': 8 Q! \# `3 _; Z1 a5 O# h$ D6 ^2 G
case '9': 9 ]$ f2 p: T; {
case 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了
1 E6 Q- R6 f. s5 U' _break;
0 a4 E& F) E; _ x+ z3 Wcase '.': //检查是否已存在小数点 9 E: n& b8 f5 o H9 \
if(DotInStr(Edit1->Text)) % g! C# B* Z. y- c# @, \
Key=0;
$ B. L. N( `5 [- S nbreak; . t; f% a* U% ~3 T! |
case '+': //检查是否已存在符号
, c, z3 R8 Z7 s- Zcase '-':
* n% @& C! K8 S8 I: Gif(SignInStr(Edit1->Text)) 7 d$ S, Q6 w6 Y: x# C8 D, V
Key=0; , g0 v* N" m. Z- A) P
break; ( ]$ K2 { h2 A; K
default: //对于其他输入键,置Key=0 4 y* s1 y) N4 B3 z. s( I
Key=0; , v2 b: I+ S3 s5 g& x5 t
break;
" P. Q5 Q( |7 `9 O$ y}
' ?( x- G, d' c8 l* x9 Q8 N}
% O9 J1 {4 A) q4 L+ ]% ]6 R1 Z//---------------------------------------------------------------------------
# U* P6 p# k7 ]5 Q8 g& m, c) m4 [bool __fastcall TForm1: otInStr(AnsiString ass) 3 ~9 I7 Y% b5 p7 e: j# [# V
{
& r2 W% O0 x4 z. u9 Iint ii,ll; ( b0 Q! P' t4 a, y' q
ll=ass.Length();
1 ?8 K0 E3 i9 ~, g3 }for(ii=0;ii<ll;ii++)
# x% I! l3 w# n5 A) v{ 9 u9 ]* E( q5 ]7 u
if(ass.c_str()[ii]=='.')
; e9 |& h$ ?+ f# a" ~{
* f, x# f# L0 R0 q% X* a9 Rreturn True;
4 C6 U2 \0 q, f4 x1 L/ O} $ c! |/ d% l% O& {6 v6 ~* h
}
5 R! [8 g5 g0 d% W& Treturn False;
& u# l2 Q0 i h ^ r} ' |2 z! X: h# F2 g+ r& j6 A* ]2 _, R
//该函数检查字符串前面是否已存在"+、-"符号 * X* |7 @5 f$ T" o) N# K
bool __fastcall TForm1::SignInStr(AnsiString ass)
" o, o* ]7 A' W0 j{
. a2 h% A1 n8 V0 C* v nint ii,ll; . n" L5 Y4 }% j
ll=ass.Length();
8 q' F2 m- r. o& a5 @. rfor(ii=0;ii<ll;ii++)
' l0 A% c7 ~" {{ 1 ]2 x$ E6 }0 D% h( I) p% i
if((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-')) ) d; H1 i4 A% @, D
{ * b" A& O6 V3 M& ^0 g7 v" L
return True; , \/ h/ W: k8 G# @% s8 U7 X0 P, r
}
: }4 I5 U* W- P9 @} 3 s) b3 R4 W6 u @
return False; ' }5 f: i; M1 b' C
} / V) s) L/ b6 H( {9 a$ Q; L: J
</P> |
zan
|