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; 展开
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; 展开
3个回答
展开全部
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);
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);
展开全部
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;
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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询