怎么定位光标的位置和字符串的长度!!

listevenly 2006-01-05 11:45:00
比如在edit组件中!怎么把刚不是数字输入的字符去掉!!并且把光标回到edit.text的最后!!
用什么函数取得edit.text的长度!
我的函数是:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((key<96) or (key>105 ))then
begin
showmessage('wrong number');
edit1.Text:=leftstr(edit1.Text,sizeof(edit1.Text)-1);
edit1.SelLength:=sizeof(edit1.Text);
end;
老是不对!!
请教!!谢谢!
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
老之 2006-01-07
  • 打赏
  • 举报
回复
判断一个字符串能不能转化为数字,可以用TryStrToInt。

异常处理在调试时是会出错的,编译成exe文件运行时就会有效了。
slzzg 2006-01-06
  • 打赏
  • 举报
回复
sizeof 是求数据类型地长度(integer, record这些)
length 求字符串
Delphi 好像没有这个IsDigit函数,可以自己写
functin IsNumber(str: string): boolean;
begin
try
StrToInt(str);
Result := true;
except
Result := false;
end;
end;
listevenly 2006-01-06
  • 打赏
  • 举报
回复
但是你的try和except好像没有什么用牙!!还是会出现不是整数之类的异常!!
用这些异常处理是不是需要什么条件!或者购买相应软件!!
belllab 2006-01-05
  • 打赏
  • 举报
回复
怎么用SizeOf啊,应该用Length
listevenly 2006-01-05
  • 打赏
  • 举报
回复
能不能用isdigit()判断一个字符串是不是能转化为数字!如果能用,那么要在uses中添加什么;如果不能,那么要用哪个函数来判断呢?当然uses中要加什么呢!
listevenly 2006-01-05
  • 打赏
  • 举报
回复
sizeof 和length有什么区别!!??
woshihaoge 2006-01-05
  • 打赏
  • 举报
回复
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((key<96) or (key>105 ))then
begin
showmessage('wrong number');
edit1.Text:=leftstr(edit1.Text,length(edit1.Text)-1);
edit1.Selstart:=length(edit1.Text);
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧