inc(i);//增加记数
end else
begin
timer1.enabled :=false;
rtrans.lines.savetofile('temp.txt');
end;
end;
//读取单词列表到mlist中
procedure tform1.button2click(sender: tobject);
begin
if od.execute then
mlist.lines.loadfromfile(od.filename );
end;
//转换功能,因为rtrans中得到的翻译中,音标还不可以正确的显示
//必须先安装金山词霸中的font目录中的phonetic plain字体
//实现音标的正确显示
procedure tform1.button3click(sender: tobject);
var
i:integer;
start,ends:integer;
begin
rconv.clear;
for i:=0 to rtrans.lines.count-1 do
begin
richedit3.text :=rtrans.lines[i];
start:=pos('[',richedit3.text);//查找音标位置,音标在[]中
if start>0 then
begin
ends:=pos(']',richedit3.text);
richedit3.selstart :=start;
richedit3.sellength :=ends-start-1;
richedit3.selattributes.name :='kingsoft phonetic plain';
end;
richedit3.selectall ;
richedit3.copytoclipboard ;
rconv.pastefromclipboard;
application.processmessages;
end;
end;
//程序退出
procedure tform1.n3click(sender: tobject);
begin
application.terminate ;
end;
//复制 功能
procedure tform1.n6click(sender: tobject);
begin
rconv.selectall ;
rconv.copytoclipboard;
end;
//停止转换
procedure tform1.n8click(sender: tobject);
begin
timer1.enabled :=false;
end;
end.
好了,到此为止,全部的程序就设计完毕了。
如何运行:
保证“金山词霸 2002”和该程序一起运行,如果你使用其他版本的词霸的话,请自行更改其中的查找句柄代码,以实现支持其他版本。
好了,我现在已经成功将这600个单词翻译完成,并用word打印到纸上了,非常的快捷,如果你还有什么好的建议,欢迎回复!
如何获得编译好的可执行程序和源代码:
可以给我发电子邮件:redlegend@163.com
或者登陆我的站点留言:http://redlegend.51.net