[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:04159] Re: PDIC



Rikimatsu Miura さん、こんにちは。Seiya です。

        Wed, 16 Feb 2000 00:26:49 +0900 の
        [xyzzy:04142] PDIC
        への返事です。

> xyzzyで、PDIC をDDEで呼び出して一括検索するマクロはないでしょうか

pdic はシェアウエアなので、使ってもいいんですが、めんどくさいのでつか
わなくなっています。それでも、昔試用としてちょっといじったことがあって
そのとき、後のようなのを作った覚えがあります。一括検索というのとは違っ
てると思いますが、ご参考までに。最近まったく動かしていませんので、うま
くいくかどうかはわかりません。

pdic より xyzzy の辞書関連、または fengdic のほうが役に立つような気が
します。


;; pdic

(defvar *pdic-path* "d:/applications/pdicwin/pdicw.exe")

(defun get-current-word-or-selection ()
  (interactive)
  (let (word)
	(if (pre-selection-p)
		(let ((start (selection-point))
			  (end (selection-mark)))
		  (setq word (buffer-substring start end)))
	  (setq word
			(buffer-substring
			 (progn
			   (backward-word)
			   (point))
			 (progn
			   (forward-word)
			   (point)))))))

(defun consult-pdic-and-insert-results ()
  (interactive)
  (let ((word (get-current-word-or-selection))
		(chan (dde-initiate "PDICW" "Dictionary"))
		(answer))
	(if chan
		(progn
		  (dde-poke chan "Open" "")
		  (dde-poke chan "Find" word)
		  (setq answer (dde-request chan "Find"))
		  (dde-poke chan "Close" "")
		  (dde-terminate chan)
		  ;	  (backward-kill-word)
		  (setq answer (concat " " (subseq answer (+ 2 (length word)) (- (length answer) 2))))
		  (stop-selection)
		  (forward-word 1)
		  (insert answer))
	  (message "失敗です"))))

--------
須田誠也(suda seiya)
seiya.suda@xxxxxxxxxxx
http://member.nifty.ne.jp/seiya-suda/

Index Home