超私家版拡張単語取得ライブラリ GetWordDx Ver1.02
概要
単語を取得するWZ標準APIとして「txGetWord(Whole)」がありますが、これの(選択範囲取得ではなく)単語単位で取得する場合の単語判定方法に、個人的にかなり不満があったので、力業で自分好みのものをつくってみました。作っているうちにどんどん変なアイデアが浮かんだり、作成予定だった別のマクロの機能も取り込んでしまったりして、結局完成したら全く別物になってしまいましたが、まあそれもいつものことです(笑)。
拙作のDDwin検索マクロ「SearchDDw」用に作成しましたが、そこそこ汎用性があるので、せっかくなので単独でも公開しちゃいます。
特徴
アルファベット関係
- 関数やソフト名など、複数の単語がくっついたフレーズの場合、大文字を単語区切りとしてカーソルがある範囲の単語を取得する
例:GetWindowText→Get or Window or Text(カーソル位置に合わせて変化)
- 大文字/小文字の2文字以上の連続は、一つの単語とみなす
例:ABCDEvwxyz→ABCDE or vwxyz(カーソル位置に合わせて変化)
#もともと、この機能がほしくて作りはじめたんです……
- ハイフンでつながった単語は、1単語として取得
例:CD-ROM→CD-ROM
txGetWordWholeだと:"CD" or "-ROM" になります。
- 全角英単語は、半角に変換して取得
例:ABCDE→ABCDE
日本語関係
- 漢字とカタカナを区別する
例:オプション設定→オプション or 設定
txGetWordWholeだと:漢字とカタカナが区別されず、"オプション設定"という文字列が取得されてしまいます。
- ひらがなの場合も、長音記号で単語を切らない
例:ねっとわーく→ねっとわーく
txGetWordWholeだと:"ねっとわ" or "ー" or "く" になります。
- 半角カタカナは、全角にして取得
そのほか
- 取得した文字の種類(アルファベット/カタカナ/漢字など)をintで返す
- 本マクロがサポートしていない文字(記号や数字など)の場合は、取得せず、テキストの内容を空にします。
#これは、使いみちによっては不便でしょうから、コンパイル時にプリプロセッサで普通にGetWordするようにも変更可能です。
ダウンロード
gwdx102.lzh(6.24KB)
更新履歴
Ver 1.02
- "ー"の場合成功したらはCT_ZEN_KATAKANAを返すようにした
Ver 1.01
- 範囲選択して実行した場合も、文字種類を返すことができるようにした
名前の由来
どうでもいいことなので、下に書きます(笑)。
初めは、英単語の一部を取得する機能だけを付けるつもりだったので、「GetWordPart」という名前でした。が、漢字/カタカナ判別など、いろいろ機能追加してきたので、「こりゃ拡張GetWordと呼んでもええなぁ」と勝手に思い、「GetWordEx」にしたのですが……WZ3の標準APIに、「txGetWordEx」ってあったのね。SearchDDwに組み込んで使おうとしたらエラーになってしまいました。
そこで、急遽名前を変えなければいけなくなったのですが、特にいいものが思いつかず、「あー、EがダメならDでいいやぁ」といいかげんな気持ちで「GetWordDx」というちょっとおチープな名前に落ちついています。
ちなみに、「げっとわーど・でらっくす」と読んでくれると嬉しいです(笑)
Copyright©1998-2005 Yujiro Nakamura All rights reserved.
本サイトに関するご連絡の方法はreadmeをご参照ください。
本Webページの無断引用、本Webページへの無断リンクを歓迎します(笑)。