藤川さん、メーリングリストの皆さんこんにちは。 栃木県の田中敏信です。 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 |