メガソフト トップサポートユーザーフォーラム > テキストエディタ MIFESフォーラム
テキストエディタ MIFESフォーラム

[ フォーラムトップ ] [ 検索 ] [ 過去ログ ]
[ テキストエディタ MIFESシリーズ ][ MIFESサポートトップ ]

Re^4: マイフェス8のマクロコマンドの記述について - sigue-san 2012/10/30(Tue) 18:53
No.2799 のソースは、キーボードマクロのソースを手直ししたものです。
MIL/Wのマクロを書いた経験がなく、単純にキーボードマクロのマクロソースをそのままMIL/Wマクロに適用できると思っていました。
今回キーボードマクロcopy()がMIL/Wマクロで動かないので、サポートに問い合わせたところ、No.2799 のソース0005番目の@1=getselstring(@str1)を教えてもらいましたが、それ以上のサポートはできないとの返事でした。

ご指摘の、「(1) のファイルを (3) に変更しているが (1) のデータが増えたとき、もう一回この操作を行おうとしてもそのままではできない」ということは、No.2799のソースの0016番目はMIL/Wマクロには適用できないということですね。

1.*SEN-NumAdd のソース作成については
> 1. ウィンドウ 0番に(1), ウィンドウ 1番に(2)をセットし、ウィンドウ 2番に新規ファイルをオープンする。
> 2. ウィンドウ 0番にジャンプする。
> 3. カーソルを左端に移動しカーソル行の 3つのフィールドを @str1 〜@str3 にセットする。
> 4. ウィンドウ 1番にジャンプして[2]を考慮した上で @str2 を用いて文頭からサーチする。
> 5. ヒットした場合はその行の先頭から「;」までを @str4 にセット、
>   ヒットしない場合は ???? を @str4 にセットする。
> 6. ウィンドウ 2番にジャンプして printf() 関数を用いて @str1\t@str4\t@str2\t@str3 の順で書き出す。

と書かれていましたので

上記ご指摘の1をMIL/Wマクロで書こうと、マクロマニュアル(Windows Ver.6.0)を探してみましたが、それらしいものが見当たりません。
@text=0, @text=1と書いて、カレントウィンドウにファイル(1)を開き、ウィンドウ1番にファイル(2)を開き、ウィンドウ2番は新規ファイルとして開いておけばよいということでしょうか。「セットし」とお書きになっているので、何等かのセットコマンドが存在するのでしょうか。あるいは単にファイルをオープンしておくだけでよいのでしょうか。
それとも、open ("c:\temp\file1.txt."",OPEN_TEXT)、("c:\temp\file2.txt."",OPEN_TEXT)(2番目のプリプロセッサのセットについてはよく解りません)でよいのでしょうか?
「ウィンドウ 0番に(1), ウィンドウ 1番に(2)をセット」するためには、どのように書けばよいのかご教示ください。
「ウィンドウ 2番に新規ファイルをオープンする」は、newopen()でよいのでしょうか?

> 2.について

file(1)の「および」のような、ひらがな文字列のみでできている文字列はヒットしなくても構いません。

file(1)を次のように変更して、ご教示いただいた1.*SEN-NumAdd のソース作成についての1.〜6.を、
マクロマニュアル(Windows Ver.6.0)を参照しながら、以下のように書いてみましたが、
まったく作動しません。コンパイルさえしてくれません(-_-メ)。

file(1)
598 遺伝子型
302 既知
224 動的プロファイル
123 相関ベクトル
114 未知のプロファイル
114 未知の遺伝子型

*sen-NUM 文番号の挿入
@text=0
@text=1
open("c:\キャノンDATA\file01.txt,"miweuc.ppp".OPEN_TXT)
open("c:\キャノンDATA\file02.txt,"miweuc.ppp".OPEN_TXT)
newopen("c:\キャノンDATA\file03.txt,"miweuc.ppp".OPEN_TXT)

jump(0,"c:\キャノンDATA\file01.txt)
@1=getword
move("r")
@selmode=3
execmd(36)
@2=getselstring(@str1)

jump(0,"c:\キャノンDATA\file02.txt)
@3=search(2,0x0004,[ぁ-ん]@str2)
move(()
@str4=getword

jump(0,"c:\キャノンDATA\file03.txt)
printf(@str1\t@str4\t@str2\n)
*


- 関連一覧ツリー をクリックするとツリー全体を一括表示します)