简单问题:如何在MEMO中当前光标插入一个字串?(30分)

  • 主题发起人 主题发起人 Lera
  • 开始时间 开始时间
L

Lera

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思,有个小问题:
1.如何在当前的光标处插入一个字串.不要太复杂的.

我的解决办法是动态创建一个TClipboard,再向它的ASTEXT属性赋值(我的字串),
在MEMO中执行PastefromClipboard.再释放之.目的是达到了
但是还是觉得繁.哪位高人有更简单的办法?顺便说一句,实际上我是想把一个
从opendialog返回的文件名插入当前位置.
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
s: string;
n: integer;
begin
with TEdit(self.ActiveControl) do
begin
s := Text;
n := SelStart +1 ;
Insert('abc', s, n);
Text := s;
SelStart := n + length('abc') - 1;
end;
end;
 
Clipboard.AsText:='mystring';
Memo1.PasteFromClipboard;
呵呵,还嫌不简单?
 
<b>procedure</b> TForm1.Button1Click(Sender: TObject);
<b>var</b>
aa : string; <i>//你要插入的字符串</i>
<b>begin</b>
memo1.Lines[0] := <b>copy</b>(memo1.Lines[0],1,2) + aa + <b>copy</b>(memo1.lines[0],3,3);
<b>end</b>;

其中copy为取字符串函数
copy(s《String or Dynamic Array》; Index: Integer; Count: Integer)
 
if opendialog1.execute then
begin
memo1.sellength:=0;
memo1.seltext:=opendialog1.filename;
end;
 
谢谢Cat.yy,Menxin,及zwhc.我觉得还是还不够简单或与我的办法差不多.
分数不多,只能给hhzh426,他的办法最好,我已经用上了.而且在VB 中还可以同样用,
Thanks!
 
后退
顶部