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

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

Re: アクセント符号がついた英文字が2バイト幅になります。 - cobbstyle 2013/05/24(Fri) 16:56 No.2872 [関連記事]
「Unicode特有文字をすべて全角と見なす」という設定をちょっとONにしてしまっていたようです。
自己解決しました。

アクセント符号がついた英文字が2バイト幅になります。 - cobbstyle 2013/05/24(Fri) 13:37 No.2868 [関連記事]
MIFES9の体験版を使っています。

フランス語などで使う、アルファベットにアクセント符号がついた文字、
例えばAの上にアクセントがついた文字、文字コード「U+00C0」が、2バイト文字分の幅をとった表示になります。

その幅の中で、文字の部分は1バイト分で左側に寄ってます。
つまり、いらない1バイト分の空白が文字の右側にある感じです。

フォントはMSゴシックですが、他に変えてもいっしょです。

MIFESでは、これが普通なのでしょうか。

久しぶりにフォーラムを覗きました - Micchel 2013/03/27(Wed) 12:21 No.2863 [関連記事]
MIFESはよく使っているし、頼みにもしているのですが、あまりフォーラムをみることはありませんでした
久しぶりにフォーラムを覗くと、No.2799に出くわしました
投稿から半年近く経っているので、新規の投稿として感想を書きます
投稿者によると、メガソフトに「マクロはサポートの対象外」と言われたようです
「悲しい」としか表現できないやりとりです
MIFESにとってマクロは最も重要な機能の一つだと感じています
仕様を示して、どう書けばいい?は、対象外だとしても
折角、MIFESのマクロに挑戦しようとするユーザーがいるのですから
もっと別の経過をたどるチャンスはあったのではないかと、残念でなりません
投稿を見ると

@2=search(2,0x0004,[ぁ-ん]@str1) ;

の第3引数が文法に叶っていないのでしょう
ここでコンパイルエラーが発生して、マクロコマンドが出来ていないと思います

@2=search(2,0x0004,@str1) ;
がOKで

@2=search(2,0x0004,[ぁ-ん]@str1) ;
がNGなのは何故ですか?という質問にもメガソフトは答えないのでしょうか

実際には、そうゆう質問はなかったわけですが
「マクロはサポートの対象外」と言わずに
作成したマクロコマンドが期待通り動かないとき、
マクロコマンドが出来ないときの具体的な対処の方法と
質問の仕方をマニュアルなどに示すと受け答えがより生産的になると思います

Re: 強調表示時のスクロール - koo 2012/11/15(Thu) 17:16 No.2816 [関連記事]
最近スクロールが極端に遅くなることが度々あり
ずっと何が原因なのか疑問でしたが、強調表示が犯人でした。

有り無しで比較すると↓のようにかなり違っています。

あるとき 10行
ないとき 60行(トラックボール使用)

なんとか改善していただけませんか。。。

仕様変更について - あむ 2012/11/09(Fri) 17:53 No.2813 [関連記事]
matsuさん、仕様の確認ありがとうございます お返事が遅れて申し訳ない

個人的な作業面で色々多忙でこちらのフォーラムを閲覧する時間がありませんでした

で、仕様変更についてですが、ver.8まではマウスのみで操作できました

私はいま現在はver.9.10を使っていますが、こちらもマウスのみの操作はできません
しかし箱型選択モードに入ったあと矢印カーソルのみで選択できますので不便さはあまり感じません

Re^3: ver.9.04 箱型選択のバグ - matsu 2012/11/06(Tue) 09:09 No.2811 [関連記事]
> matsuさん、返信ありがとうございます
>
> この部分について仕様変更されたということですね
> 了解です

仕様変更というのが気になったので仕様を確認してみました。

http://www.megasoft.co.jp/mifes9/verup/compare_miw6.html
ver6ではマウスで範囲選択となっていました。
ver7以降ではalt+マウス操作に変更されています。

MIFESで作業中はほぼマウスは使わないので気にした事もありませんでした。

Re^2: ver.9.04 箱型選択のバグ - あむ 2012/11/06(Tue) 00:43 No.2810 [関連記事]
matsuさん、返信ありがとうございます

この部分について仕様変更されたということですね
了解です

Re: ver.9.04 箱型選択のバグ - matsu 2012/11/05(Mon) 11:23 No.2809 [関連記事]
> ver.9.04の箱型選択の動作がおかしいです。
> メニューまたはツールバーから箱型選択開始モードに入っても通常選択モードのままです。
> マウス操作で箱型選択が出来ません。
> Alt+マウスの箱型選択は正常です。

バグではなく仕様だと思います。
ヘルプのコマンドリファレンスから
【編集】> 【箱型】-【箱型選択の開始/中止】

メニューはカーソルで選択のみに対応しているようです。
マウスクリックは選択範囲解除の操作です。

ver.9.04 箱型選択のバグ - あむ 2012/11/03(Sat) 17:17 No.2808 [関連記事]
ver.9.04の箱型選択の動作がおかしいです。
メニューまたはツールバーから箱型選択開始モードに入っても通常選択モードのままです。
マウス操作で箱型選択が出来ません。
Alt+マウスの箱型選択は正常です。

Re^6: マイフェス8のマクロコマンドの記述について - sigue-san 2012/11/03(Sat) 00:31 No.2807 [関連記事]
マクロソースを作っていただきありがとうございました。
ご指示通りにコンパイルして、実行してみました。
in.txt(700行、17KB)、doc.txt(822行、131KB)で試してみました。
残念ながら、何回試しても、その度に途中で止まり、「マクロエラー(中間コード異常)」というエラーメッセージがでました。
out.txtに正常に出力されたものがある一方で、期待しない出力が書き込まれている場合もありました。さらに、in.txtにも出力が行われている部分がありました。

ただ、これ以上田中様にお手数をおかけするのは心苦しいので
今回の件はこれで打ち切りにしたいと思います。
キーボードマクロがマイフェスのマクロコードに完全には対応していないことがわかりました。
自分自身としては、Pythonの習得に挑戦して、今回の問題を解決したいと思っております。

いろいろとありがとうございましたm(__)m。

森山茂靖

DOSシェルの不具合 - koo 2012/11/01(Thu) 10:59 No.2805 [関連記事]
β版公開されてますね。
ここしか見てない人もいるでしょうからトップからどーぞ。

さて、標題の件ですがmercurialというバージョン管理ソフトをDOSシェルエスケープで動かすと
改行されずに出力されてしまいます。
たぶん改行コードのLF(0AH)だけだと、この出力がうまく動かないとかそういうところでしょうか。

もうすぐ正式版リリースらしいのでそこで直ってることを期待して一応報告しておきます。

環境 : WindowsXP sp3 / mifes9

Re^5: マイフェス8のマクロコマンドの記述について - 田中徹 2012/10/30(Tue) 21:27 No.2804 [関連記事]
> MIL/Wのマクロを書いた経験がなく、単純にキーボードマクロのマクロソースをそのままMIL/Wマクロに適用できると思っていました。

たいていのことはできますが万能ではないようです。


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

そうではなくて、in と out のファイルが同じだと
例えば索引に用いたい単語が増えたとき整形し直す必要が出てくるということです。

やっていただきたいこと

file(1) を in.txt
file(2) を doc.txt
新規空テキストファイルを out.txt として 3つのテキストファイルを準備する。

次のマクロをコンパイルしてライブラリ登録する
Test という名前で登録されるはずです。

いったん mifes を終了して
in.txt doc.txt out.txt の順で起動する。
マクロ Test を実行すると out.txt にお望みの形で出力されるはずです。

/* search の引数はご自分で工夫なさってください */

; 以下 マクロソース
*Test
jump(0,"in.txt")
@num=1
while @code!=0xffff
move("(")
@selmode=0
@selmode=3
search(2,0x0004,"\t")
@1=getselstring(@str1)
move("r")
@selmode=3
search(2,0x0004,"\t")
@2=getselstring(@str2)
move("r")
@selmode=3
move(")")
@3=getselstring(@str3)
@selmode=0
move("d")
jump(1,"doc.txt")
@5=search(4,0,@str2)
if @5==0
strcpy(@str4,"????")
else
move("(")
@selmode=3
search(2,0x0004,";")
@4=getselstring(@str4)
@selmode=0
endif
;
jump(2,"out.txt")
move("(")
printf("%s\t%s\t%s\t%s\n",@str1,@str4,@str2,@str3)
;
jump(0,"in.txt")
wend

Re^4: マイフェス8のマクロコマンドの記述について - sigue-san 2012/10/30(Tue) 18:53 No.2803 [関連記事]
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)
*

Re^3: マイフェス8のマクロコマンドの記述について - 田中徹 2012/10/30(Tue) 00:10 No.2802 [関連記事]
> メールありがとうございます。
私的メールではありませんという突っ込みは後にして

No.2799 のソースで気づいたこと
 [1]
  (1) のファイルを (3) に変更しているが (1) のデータが増えたとき
  もう一回この操作を行おうとしてもそのままではできないので
  (1),(2) のファイルから (3)のファイルを新規作成した方が良さそうです。
 [2]
  0010 @2=search(2,0x0004,[ぁ-ん]@str1) とあるところで
  これだと自動遺伝子型分類に「遺伝子型」はマッチしませんが
  (2) ファイルの「および」の前は「、」なので0010 のサーチではヒットしません。

*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行のみですが) (3)のファイルがうまく作成できたら
 2. に ウィンドウ 0番にジャンプ後ファイル先頭に移動を追加する。
 3. と 4. の間にカーソルを 1行下げるを追加する。
 3.〜 6. を while 〜 wend ではさんで (1) ファイルの先頭から最終行まで実行できるようにする。
ということで何回でも繰り返して実行できるマクロが作成できると思います。

[2] のルールをもう少しもう少し明確にしていただければと思います。

Re^2: マイフェス8のマクロコマンドの記述について - sigue-san 2012/10/29(Mon) 11:10 No.2801 [関連記事]
メールありがとうございます。

ファイル(1),(2)および(3)の記載が誤っていました。

ファイル(1)

598 遺伝子型 genotype
302 既知 known
224 動的プロファイル dynamic profile
199 および and
189 各 each

ファイル(2)

0001; 特表JP2012-5236450(WO2010120800)(US2011010103)
0002; (54)【発明の名称】動的シグナルの相関分析による、パターン認識、機械学習、および自動遺伝子型分類の迅速な方法
0003; (57)【要約】
0004; 核酸の解離挙動の分析、およびある遺伝子型が生体試料中に存在するかどうかを判定する同定のための方法およびシステム。
0005; @ 未知の遺伝子型の動的プロファイルを生成することによって、ある遺伝子型が生体試料中に存在するかどうかを判定すること、動的プロファイルを、既知の遺伝子型のアベレージプロファイルと相関させることによって、相関値を生成すること、および相関値が、許容できる閾値内に入るかどうかを判定することによって、未知の遺伝子型が既知の遺伝子型であるかどうかを判定すること。

ファイル(3)

598 0004 遺伝子型 genotype ## ファイル(2)の0002の文中の「自動遺伝子型分類」にはマッチさせない。ひらがな文字列で囲まれた検索文字列をマッチさせるようにする。
302 0005 既知 known
224 0005 動的プロファイル dynamic profile
199 0002 および and
189 ???? 各 each ## マッチしなかった場合、「????」を表示する。

「初出文番号」とは、ファイル(1)内の検索対象用語をファイル(2)の中で検索したときに、ファイル(2)内の、当該検索対象用語が最初にヒットした文の文番号のことです。

私の記載ミスのためにご迷惑をおかけし、申し訳ありませんでした。
マクロ言語初心者ですので、何卒よろしくお願いします。

森山茂靖