home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
OLS
/
WIN32
/
KAKIMAC
/
KAKIMACK.LZH
/
K_QKANST.MAC
< prev
Wrap
Text File
|
1995-10-21
|
7KB
|
172 lines
//【マクロ名】k_QKANST.mac by 水銀水(Suigwinsui)/小田 明夫 (HGD01603)
// 日本語文書作成支援「書きマクロ」αシリーズ 第K集 Ver.1
//【機能概略】(1)k_QKAN.mac の各種オプションを設定を担当。
call startSetting;
while(1){
menu "● 設定 k_QKAN Ver.1 (C)1995 水銀水",
"□ 非範囲選択での文字列中起動時の動作───────(&H)",
" &1."+$h11+"カーソル上の一文字だけを調べて終了",
" &2."+$h12+"溯り調査をする(改行マーク上と同じ動作)",
"□ さかのぼり調査の動作──────────────(&H)",
" &3."+"[・]さかのぼる文字数の指定(n>3)= "+str(#backChar),
" &4."+"[・]調査方向 = "+$h23,
"□ 一括変換の整合性────────────────(&H)",
" &5."+$h21+"1対1『現代漢字<->旧漢字,異体字』同等",
" &6."+$h22+"すべての『旧漢字,異体字->現代漢字』",
"□ 画面の描画───────────────────(&H)",
" &7."+$h31+"低速安定描画(画面が揺れない)",
" &8."+$h32+"高速微動描画(画面の揺れアリ)",
"━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"───────────────── [×] 設定破棄(&Esc)──",// [ ]の中身は”ぺけ”マークです(^^;
"───── [◎] 決定(&w)─────────────────";// [ ]の中身は”二重丸”マークです(^^;
if(result==0)endmacro;
else if(result==1){
message "●設定・概略 k_QKAN Ver.1\n"+
"─────────────────\n"+
"下記の4項目が設定できます。詳細は該当項目をプッシュしてください。\n"+
" □ 範囲未選択での文字列中起動時の動作───────(H) \n"+
" □ さかのぼり調査の動作──────────────(H) \n"+
" □ 一括変換の整合性────────────────(H) \n"+
" □ 画面の描画───────────────────(H) \n";
}else if(result==2){
message "●起動 k_QKAN Ver.1\n"+
"─────────────────\n"+
" ・文字列などを選択をしていない状態で起動する場合のk_QKANの動きを設定します。\n"+
" 次の2種の動作のうち一つを選択できます。\n"+
" - カーソル上の一文字だけを調べて終了 \n"+
" - 溯り調査をする(改行マーク上と同じ動作)\n";
}else if(result==3){
#oneCharCheckEnd=0;
call setMarkH1;
}else if(result==4){
#oneCharCheckEnd=1;
call setMarkH1;
}else if(result==5){
message "●さかのぼり調査 k_QKAN Ver.1\n"+
"─────────────────\n"+
"□さかのぼり走査の動作について、次の2種類の設定を行います。\n"+
"・さかのぼる文字数の指定\n"+
" さかのぼり調査を行う文字数を指定します。\n"+
"デフォルトでは「10」文字分、起動時のカーソル位置からさかのぼるようになっています。これでは不足する場合が多い方は、14、とか、20とかの数字を指定すると良いでしょう。しかし、あまり多くの文字数を指定すると、いらついて[Esc]キーを押しまくる、なんて場合もありますので、ほどほどがよろしいかと存じます(^^;\n"+
"・走査方向\n"+
" さかのぼり調査は、デフォルトで「現在のカーソル位置から左へ向かって走査」します。これは、いわゆる「逆順」で走査しているわけです。これに対して、終点と予想される位置(現在の位置から「さかのぼる文字数」だけ左に移動した位置)まで一気に飛んで、そこから右方向(正順)に走査するようにしたい場合に、ここで設定します。";
}else if(result==6){
call getCarLength;
}else if(result==7){
if(#backType)#backType=0;
else #backType=1;
call setMarkH4;
}else if(result==8){
message "●一括変換の整合性 k_QKAN Ver.1\n"+
"─────────────────\n"+
"□一括変換の変換方向による整合性を図ります。\n"+
"・「複数の旧漢字などがある現代漢字の場合、旧漢字から現代漢字への変換を漢字テーブルに基づいて一種類だけに限定するか、旧漢字のすべてを現代漢字に戻すか」の設定をするのが当項目です。\n"+
" 「現代漢字」と「旧漢字,異体」とは、1対1に対応しているわけではありません。一つの「現代漢字」に対して、複数の「旧漢字,異体」が対応している場合が多々あります。逐次変換では、これをポップアップメニューを表示することで利用者に選択していただいていますが、これを一括して変換してしまうのが「一括変換」の良さです。\n"+
" しかし、同時に、一括して変換するという作業は、「現代漢字」と「旧漢字,異体」を無理矢理、1対1に対応させてしまうわけで、いろいろと不都合も生じます。その不都合をあえて承知で一括変換をするのですが、その不都合さをできるだけ回避しようというのが、この整合性設定です。\n"+"";
}else if(result==9){
#oldToNewType=0;
call setMarkH2;
}else if(result==10){
#oldToNewType=1;
call setMarkH2;
}else if(result==11){
message "●画面の描画 k_QKAN Ver.1\n"+
"─────────────────\n"+
"・漢字を置き換える際に、画面のちらつきを押さえるかどうかを選択します。\n"+
" - 低速安定描画(画面が揺れない)\n"+
" 画面は揺れませんが、描画や移動が遅くなります。\n"+
" - 高速微動描画(画面の揺れアリ)\n"+
" 画面が揺れる場合もありますが、描画や移動は早いです。\n"+
"";
}else if(result==12){
#highSpeed=0;
call setMarkH3;
}else if(result==13){
#highSpeed=1;
call setMarkH3;
}else if(result==15){
break;
}else if(result==16){
call writeIniChanged;
break;
}
}
endmacro;
getCarLength:
if(imestate){imeswitch;##ime=1;}
$$CharLen=input("●さかのぼり調査をする文字数\n (3以上の半角数字で指定)",str(#backChar));
if(##ime){if(imestate)imeswitch;}
if($$CharLen=="")return;
##CharLen=val($$CharLen);
if(##CharLen<0 || ##CharLen<=3){beep;goto getCarLength;}//##CharLen=10;
#backChar=##CharLen;
return;
setMarkH1:
if(!#oneCharCheckEnd){
$h11="[◎]";
$h12="[-]";
}else{
$h11="[-]";
$h12="[◎]";
}
return;
setMarkH2:
if(!#oldToNewType){
$h21="[◎]";
$h22="[-]";
}else{
$h21="[-]";
$h22="[◎]";
}
return;
setMarkH3:
if(!#highSpeed){
$h31="[◎]";
$h32="[-]";
}else{
$h31="[-]";
$h32="[◎]";
}
return;
setMarkH4:
if(!#backType){
$h23="← ← ← ← (さかのぼり調査)";
// $h23="<-- <--(さかのぼり調査)";
}else{
$h23="→ → → → (正順調査)";
// $h23="-->> -->>(正順調査)";
}
return;
startSetting:
$f0=hidemarudir+"\\kakimac\\kakimac.kdf";
$sect="k_QKAN";
#backType=getininum($f0,$sect,"backType");//溯りタイプ。0:リバース検索。1:溯り文字数へ一気にバックして、そこから
#backChar=getininum($f0,$sect,"backChar");
if(#backChar==0)#backChar=10;//default
#oldToNewType=getininum($f0,$sect,"oldToNewType");
#oneCharCheckEnd=getininum($f0,$sect,"oneCharCheckEnd");
#highSpeed=getininum($f0,$sect,"highSpeed");
call setMarkH1;
call setMarkH2;
call setMarkH3;
call setMarkH4;
return;
writeIniChanged:
writeininum $f0,$sect,"backType",#backType;
writeininum $f0,$sect,"oldToNewType",#oldToNewType;
writeininum $f0,$sect,"backChar",#backChar;
writeininum $f0,$sect,"oneCharCheckEnd",#oneCharCheckEnd;
writeininum $f0,$sect,"highSpeed",#highSpeed;
return;