如果得到当前字符处的单词(在Memo中)??(90分)

  • 主题发起人 主题发起人 wrs
  • 开始时间 开始时间
W

wrs

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我在memo1中输入了
Hello,word,我将光标(不是鼠标)移到'r'处,这时我如何得到当前的单词是
什么??
 
直接用鼠标选中copy一下不就得到了么
 
我指的是用程序实现。
 
可以从<a href="http://www.gislab.ecnu.edu.cn/delphibbs/dispq.asp?LID=128229">这里</a>得到坐标然后.....
慢着,你这斯,答出了也白答,我撤呼.....
:-(
 
我实现了你的要求,思路是:
1。取得光标位置,
2。找出光标所在单词的起始位置及结束位置,
3。得到单词。
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
iLine,iCol,j,k:integer;
begin
iCol:=memo1.CaretPos.x;
{取得光标所在列}
iLine:=memo1.CaretPos.y;
{取得光标所在行}
s:=memo1.Lines.Strings[iLine];
j:=iCol;k:=iCol;
while s[j] in ['a'..'z','A'..'Z']do
j:=j-1;
{找出光标所在单词的起始位置}
while s[k] in ['a'..'z','A'..'Z']do
k:=k+1;
{找出光标所在单词的结束位置}
s:=copy(s,j+1,k-j);
{得到单词}
memo1.Lines.add(s);
end;
 
delphi深度历险里有现成的控件
 
我插一句题外话,想得到鼠标除的单词也可以,需要向Memo发送一个特殊的消息
如果大家感兴趣我再找找到底是什么,(以前在Microsoft的一个地方看到过的)
 
多人接受答案了。
 
后退
顶部