|
本帖最后由 bingbing 于 2011-3-5 22:49 编辑
众所周知,MDict上的德语词典比起英语、法语的显得太次了,没有一个看得顺眼、用得顺手的,真是让人痛心。
我在PC上用的是著名的Office-Biliothek,加载了些德德、德英和德法的词典,平时主要用Duden-Oxford的德英英德,使用体验非常好,于是老想着怎么把它搞下来,网上看了些说法,说这个软件用的控件比较特殊,普通的WM_GETTEXT指令对它没用,不才又不谙编程,只能使出最傻的招——按键精灵,呵呵,今天第一次用这个软件,不甚熟练地写了几行代码,用了十几分钟试抓了1000个词条,打包在附件里,请高手们看一下好做不好做。
这个代码的原理就是一行行地点击词条,然后另存为html文件。Office-Biliothek软件提供了三种另存格式:html、rtf和txt,html比较好,没有乱码,要转MDict估计最为方便,不过最讨厌的是格式跟软件本身显示的不大一样,斜体还是在的,但粗体跟音标就没有了,源码类似下面这样:
------------
<TITLE>ab|schinden</TITLE><BODY><h1>ab|schinden</h1>
<!-- @C%ID=00000765% -->
<i>unr. refl. V.</i> sich abschinden: work <i>or</i> (<i>Brit. coll.</i>) flog oneself to
death; sich mit etw. abschinden: struggle along with sth.
<p>
<p>
Duden-Oxford - Großwörterbuch Englisch. 2. Aufl. Mannheim 1999. [CD-ROM]. Sat_Wolf, Bayern</BODY></HTML>
-------------
而rtf格式比较好地保存了格式,也可以显示音标,但是有乱码,有些乱码问题不大,可以用替代的方法改回来,但有些乱码直接显示为问号,这点就比较麻烦了。
txt就不说了,基本上没用。
我在想,最麻烦的方法是html和rtf各存一份,然后把rtf转成html,再跟原来的html比对格式,自动把html版的格式和音标加起来。这些都可以用电脑完成,但是会很费时间,而且编程对我来说也是个挑战,所以目今之计就是做html版,没有音标也无所谓了,粗体不粗体习惯了就好。
下面贴一下我简陋的“按键精灵”代码,我还不知道怎么激活窗口,所以运行前要把Office-Biliothek最大化放在最前再按F10运行:
------------
Var1=1 '抓取条目
Rem Start
MoveTo 16, 256 '词条图标处
Delay 10
LeftClick 1 '点击词条
Delay 10
MoveTo 781, 101 '另存为处
Delay 10
LeftClick 1 '点击另存为
Delay 20
SayString "d:\temp\dict\" '另存为地址
Delay 20
SayString Var1 '文件名
Delay 20
KeyPress "Enter", 1
Delay 20
MoveTo 215, 545 '下一词条处
Delay 20
LeftClick 1 '点击滚动到下一词条
Delay 20
Var1 = Var1 + 1
If Var1 < 1000 Then Goto Start '先抓1000试试
-------------
这样看来,抓完全部词条只是时间问题了,剩下的数据处理理应不难。
能人志士们,麻烦帮我看看这些数据能不能用,如果有人可以帮忙处理的话,我今天就把程序发动起来。 |
|