藤川さん、メーリングリストの皆さんこんにちは。
栃木県の田中敏信です。
WZエディタのマクロでのバイナリデータ処理について書きます。
興味の無い方は、読み飛ばして下さい。
"藤川 敦志" <a-fujikawa@mx2.tiki.ne.jp> Wrote:
途中を省略いたします。
> 具体的に書きますと、バイナリーファイル中の
> 0x00 0xBE 0x89 0x00
> という4バイトのデータを txGetChar を使って読み取ると、結果が
> 0x00 0xBE 0x00 0x00
> のように、0x89 が消滅してしまいます。fBinedit を変更したり元に戻したり、
txGetChar が無理なのかも知れませんね。
私は戻り値や引数が TXCHAR になっている関数は、使わないようにして
います。 TX-C のソースを C でも使えるようにしたいと考えて、 TX-C
の拡張表現を裂けています。(これは、あくまで私の好みだけですが・・・)
それで、バイナリオープンで使ったことは無いのですが、上のような例の時に
私は、C文字列用の txGetParaRearEx( text, buff, size); を使って buff に
必要な文字数を取得したり、 text 構造体の中に格納されている「カーソル
位置の文字」を取り出す方法
int ch = (int)*(text->buff + text->cur);
を使ったりしています。
txRightBytes( text, size); は、私も問題無く使っています。
> c = OneByte(txGetChar(text));
> などと書いてはみたものの、これはみっともないですし、何か根本的に間違って
私も同じようなことを所々しています。
> 今回お教えいただくまで、api.tml と txc.tml しか読んでいなかったので、
> _wz.h についてご指摘いただいて、とても勉強になりました。でも、私には
> これだけではとても理解できそうにないので、ソースコードのサンプル集を
最近のWZエディタのCD-ROMの中には、IDMコマンドのソースがたくさん
入っているようです。
またTX−Cライブラリに登録されているマクロは、ほとんどがソースの
ままですので、すばらしい参考書になります。
WZエディタの作者の山口さんのホームページにも、いろいろなソースが
公開されています。
http://www.asahi-net.or.jp/~cf4t-ymgc/
です。
それでは、また!
Received: from ns.lancenet.or.jp (IDENT:root@ns.lancenet.or.jp [202.237.246.10]) by sl.sakura.ne.jp (8.9.2/[SHINGUJI/SAKURA-990115]) with ESMTP id RAA21459 for <windows@sl.sakura.ne.jp>; Wed, 28 Nov 2001 17:33:03 +0900 (JST) Received: from ra (p96.lancenet.or.jp [202.237.246.96]) by ns.lancenet.or.jp (8.9.3+3.2W/3.7W1.0) with SMTP id RAA27834 for <windows@sl.sakura.ne.jp>; Wed, 28 Nov 2001 17:32:49 +0900 Date: Wed, 28 Nov 2001 17:33:06 +0900 (JST) From: tanaka toshinobu <tosinobu@lancenet.or.jp> To: windows@sl.sakura.ne.jp Subject: [windows:6149] Re: WZマクロでファイルをバイナリオープン Message-Id: <200111281701.V489EK51@po.lancenet.or.jp> In-Reply-To: <000f01c1776b$ff58cbe0$0200a8c0@TikiTiki> References: <200111271523.8LMDO4JE@po.lancenet.or.jp> <000f01c1776b$ff58cbe0$0200a8c0@TikiTiki> MIME-Version: 1.0 X-Mailer: Mm-Mail Ver1.46 [Win98] Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Sender: owner-windows@sl.sakura.ne.jp X-ML-Sequence: 6149 X-ML-Name: windows Precedence: bulk Reply-To: windows@sl.sakura.ne.jp |