- 在线时间
- 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)
0 a! t, i: l" I1 D x4 Z8 a- u{
* {# ^$ n1 c2 {" ichar *string;
" _7 T8 A( \0 G% p3 \/ xint i,j,k;
9 c5 `4 s9 s" m. G4 v/ d4 @char ch;
* v: y, S8 t5 |& |2 cbool flag=false;
! E/ v! p$ r& c+ e. k2 ~" _* Z' m. i5 Z8 p" M5 `, t5 f
k=Edit1->Text.Length();
4 }+ O/ q" L$ F$ \2 B) Jstring=new char[k+1];
& o& A- A; i) V: Hstrcpy(string,Edit1->Text.c_str()); 7 q' y' `$ \* P7 b
for(i=0;i<k;i++) : s4 W5 W2 b9 S! y- L j- p
{ 1 k) U( z- d: h$ u: a* t1 `. O
ch=string; 5 Z( _7 R* H' s5 H
if(!(ch>='0' && ch<='9' || ch=='.'))
: o4 D7 M) _9 o) }2 I& t& b{ : L2 B2 C, P. F2 o7 A
for(j=i;j<k;j++) 6 t2 r" A3 Y) w# B
string[j]=string[j+1];
2 s2 W0 F& a3 A+ A4 ik--; 4 F7 Y8 |. I \$ a/ J4 _/ U
flag=true; - D" L7 l( Q6 \0 }3 k t% q; ?
} ' f- \0 H: c' S, `
}
8 N" ^6 [5 V+ E# g1 E% }% _if(flag) 4 p+ E% D& R. _! H
Edit1->Text=AnsiString(string);
( o0 j+ H i7 b$ C) }delete[] string;
/ q4 S- a: \5 k8 o8 h+ {//GlobalText=Edit1->Text;
6 G# U5 g: Y( f [6 t5 @7 ?; R}
4 Z; T2 C0 L& _1 M* q; V//---------------------------------------------------------------------------
; K+ p) \6 b y* b6 Q- g/ }*************************************************************************************************</P>
D* d) m# w) y* L< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) % }0 t) a* G# o- r+ |, F
{
" Z2 K9 i. _4 G) k. ?9 ]( g if(!(Key>='0' && Key<='9' || Key=='.' || Key=='\b')) + N; E* I3 S0 t, e/ F$ w% e, T
Key=0;
3 i% H0 G) T& r* t, ]4 Z}
1 o! D8 V/ `) n1 e. o2 m: \6 R- h3 U//--------------------------------------------------------------------------- </P>+ \, b6 k* ~) x
< >*************************************************************************************************</P>
6 R) k0 l6 t7 e< >void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) - I3 D' L# M8 e; e$ x
{
; G6 e. T* W1 A, gswitch(Key) / |% r y' Y' n5 L# s
{ / M" H3 X6 h& F4 ]6 z4 j) d" p3 t
case '0': //接受数字键0~9的输入 7 q4 L& `+ P3 J( F# B K
case '1': 1 z3 T+ \7 V* b' l
case '2':
# k8 _* ] n6 h& F- i& Y9 Icase '3':
3 \2 u4 d- O# P& \6 H+ y1 ?case '4':
7 w' W4 [; e% |( P$ `$ y) N* _2 p! Ncase '5':
8 i* |2 e2 N U3 [, ucase '6':
: e! ]( G! f0 ncase '7':
) a, e3 g9 o H! m/ u- rcase '8': , s5 H7 c& U: Y& q# t
case '9':
- J b7 }1 V6 C- A& ~0 O- Pcase 8: //这是一个BackSpace键,不能禁止,否则不能实现删除功能了 * a& \8 I* |3 m
break;
0 y( p$ |+ t g6 l: O6 z8 Ocase '.': //检查是否已存在小数点
4 F7 g. z4 E" S' T9 ^1 _if(DotInStr(Edit1->Text))
4 a; l& m- L d% ^/ E! xKey=0;
) c) M W; T& n+ ~1 ~- l0 hbreak; 8 V1 d# P' ?1 A- {) P& D
case '+': //检查是否已存在符号 7 l0 C d7 j$ j! `. V; y& M
case '-':
0 v- D* I) U7 q8 B4 z8 X1 kif(SignInStr(Edit1->Text))
* Z# l8 r$ c/ j1 E" x: tKey=0;
& x6 m* p$ z8 xbreak; $ X% W6 y% z( x$ V$ Y
default: //对于其他输入键,置Key=0 / L. [$ m: U7 h% u
Key=0; . U- a0 W3 A& w( V# y" D7 s
break;
; Q; i8 i. |: L# O/ }# L+ b} : g+ z; C1 Z; `- B4 ]- f
} e. @+ A+ V: C. k7 H9 f
//---------------------------------------------------------------------------
* J; W- f7 h {/ G* Sbool __fastcall TForm1: otInStr(AnsiString ass)
b9 B0 K4 \2 a- x+ Y2 }% L{ % T$ R/ Q8 F: ]; J; T: }
int ii,ll; ; L, Q3 E1 ?2 ]$ M0 F
ll=ass.Length(); # E1 T u$ W& S
for(ii=0;ii<ll;ii++)
/ _9 O( ^) }! \' C+ \' z{ . Z( I* ?+ L/ C; H
if(ass.c_str()[ii]=='.')
- w* \2 w" ?# R$ i% W+ @: y8 J{
/ e) Z$ {1 c- |! k" E" N; [# c) treturn True; $ `3 |5 i, B" @) s* V
} ; A1 q# S- K, H3 `# J$ X
}
9 s* Y; i4 z/ d Q/ preturn False; # ~; _8 ^; U3 ~% \) y6 A" B
}
& T5 u L1 w5 {0 R% |% J//该函数检查字符串前面是否已存在"+、-"符号 , Y5 m; [: X7 v% V
bool __fastcall TForm1::SignInStr(AnsiString ass) 2 T" Z: t" K2 v4 ]
{ # Q0 _* j: i. P
int ii,ll; # [# @/ C% f- l$ B* K/ V$ ~3 a2 D7 N) I* O. P
ll=ass.Length();
9 q# G8 R5 L$ i8 zfor(ii=0;ii<ll;ii++)
( ]* `" Y8 {. O& p1 q0 R{
& I' W* p6 b3 n$ y- Xif((ass.c_str()[ii]=='+')||(ass.c_str()[ii]=='-')) ; U! O0 T8 F( H
{
- O) J' b5 u) L4 f2 dreturn True;
+ W1 [" K3 Z3 R# ?& N}
, `8 m9 K Y# @) T: u}
; X+ z2 ^0 l" Z! Y5 a; ereturn False;
5 n+ w9 i* s" w# G. N3 C} # l4 T! h' y2 {0 Z/ o! ?# t
</P> |
zan
|