delphi中SelLength有什么作用? 请帮我分析一下下面代码的意思

procedureTForm1.Edit1KeyPress(Sender:TObject;varKey:Char);beginwithSenderasTEditdo//什... procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with Sender as TEdit do//什么意思?
if (Text = '')
or (Text[SelStart] = ' ')//SelStart什么意思
or (SelLength = Length(Text)) then//SelLength什么意思

if Key in ['a'..'z'] then Key := UpCase(Key);
end;
展开
 我来答
googleyeyou
2011-01-12 · TA获得超过186个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:130万
展开全部
with Sender as TEdit do// 是把当前发送消息的控件转换成TEdit类型,因为原始是TObject类型的。 效果和with TEdit(Sender) do是一样的,但是用as更安全。
if (Text = '') //如果当前Edit的内容为空
or (Text[SelStart] = ' ')// 或者选择的第一个字符为空(光标在开头),selStart为Edit.SelStart
or (SelLength = Length(Text)) then// 或者选择了全部。 sellength即为Edit.Sellength

if Key in ['a'..'z'] then Key := UpCase(Key);
surwe
2011-01-12 · TA获得超过631个赞
知道小有建树答主
回答量:1339
采纳率:44%
帮助的人:249万
展开全部
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with Sender as TEdit do//什么意思?// 如果当前控件类型是TEDit(编辑框)类型 则继续往下做
if (Text = '')
or (Text[SelStart] = ' ')//SelStart什么意思//不是变量!!当前光标在Edit中停留位置值。比如EDIT中当前值为ERP,而光标停留在ER|P 的R处,那么Text[SelStart]值显示的是R
or (SelLength = Length(Text)) then//SelLength什么意思//当前选中字符串长度,如当前选中为ERP,则SelLength=3

if Key in ['a'..'z'] then Key := UpCase(Key);
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0951d78
2011-01-12 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1270万
展开全部
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with Sender as TEdit do//什么意思? 判断Sender是不是tedit
if (Text = '')
or (Text[SelStart] = ' ')//SelStart什么意思 选择的开始位子
or (SelLength = Length(Text)) then//SelLength什么意思 选择的字串长度

if Key in ['a'..'z'] then Key := UpCase(Key);
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式