我需要帮助为按钮创建代码,此按钮只删除edit.text中的字符,想象我有一个文本“daniel”,按下我创建的按钮删除“l”,成为“danie” ”
答案 0 :(得分:2)
使用Delete
单元中的System
程序,并使用Length(s)
指定字符串的最后一个字符:
procedure TForm24.Button1Click(Sender: TObject);
var
s: string;
begin
s := Edit1.Text;
Delete(s, Length(s), 1);
Edit1.Text := s;
end;
或者,您可以使用Copy()
功能:
procedure TForm24.Button3Click(Sender: TObject);
begin
Edit1.Text := copy(Edit1.Text, 1, Length(Edit1.Text)-1);
end;
答案 1 :(得分:2)
您可以使用SelStart
和SelLength
属性选择所需的文本,然后使用SelText
属性删除所选文本:
procedure TForm1.Button1Click(Sender: TObject);
var
Len: Integer;
begin
Len := Edit1.GetTextLen;
If Len > 0 then
begin
Edit1.SelStart := Len-1;
Edit1.SelLength := 1;
Edit1.SelText := '';
end;
end;
这样做的好处是不需要分配任何内存来检索实际的Text
内容,更改它,并将其分配回Text
属性。一切都在控件自己的内部缓冲区内完成。
答案 2 :(得分:1)
var
beforeStr, afterStr : string;
begin
// Try to replace all occurrences for example of letter l
beforeStr := 'Daniel';
afterStr := StringReplace(beforeStr , 'l', '',
[rfReplaceAll, rfIgnoreCase]);
ShowMessage('beforeStr = '+beforeStr);
ShowMessage('afterStr = '+afterStr );
end;
* rfReplaceAll
标志是您要替换所有出现的内容。