home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / OLS / WIN32 / KAKIMAC / KAKIMAC4.LZH / KDATE2CT.MAC < prev    next >
Text File  |  1994-08-13  |  19KB  |  420 lines

  1. //【マクロ名】kDATE2cT.mac by 水銀水(Suigwinsui)/小田 明夫 (HGD01603) 94/08/08
  2. //      日本語文書作成支援「書きマクロ」シリーズ 第4集 Ver.2.0(日時入力支援サブマクロ)
  3. //【使用対象】秀丸 for Windows 上で日本語文章を快適に処理したい全てのみなさま。
  4. //【機能概略】西暦、和暦の多様な入力と既存日時情報の変換。
  5. //【使用法】  日時入力支援  k_DATE Ver.2.0 のメインマクロが kDATE2m1.mac。
  6. //        kDATE2cD.mac kDATE2cT.mac を含め、3ファイルで構成される。
  7. //        マクロ登録+キー割り当ては、kDATE2m1.mac だけで良い。
  8. //        ただし、kDATE2cT.mac 単体でも、非選択時起動MODE、選択後起動MODEとも
  9. //        完全に機能するように設計されていますので、時分秒についての特化された改変利用等に対応。
  10. //////////////////////////////////////////////////////////////////////////////////
  11. call k_TIMEini;
  12. if(selecting){
  13.     #selectingT=1;
  14.     escape;
  15.     #Ttx=seltopx;#Tty=seltopy;#Tox=seltopx;#Toy=seltopy;
  16.     #Tex=selendx;#Tey=selendy;
  17.     moveto #Ttx,#Tty;left;#Ttx=x;#Tty=y;
  18.     if(#Tex==0){moveto #Tex,#Tey;left;#Tex=x;#Tey=y;}
  19.     moveto #Ttx,#Tty;
  20.     searchdown "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]",regular;if(result)#Tfok=1;
  21.     if(result)#Tfok=1;escape;
  22.     if(#Tfok!=1||y>#Tey||(y==#Tey&&x>#Tex)){message "指定された範囲に、変換可能な形の「時分秒」情報を発見できませんでした!!\n"+
  23.         "現在のバージョンでサポートする検索条件は次の制限内です\n"+
  24.         "  (1)検索可能な「時分秒」情報は、半角「TT/MM/SS」で書かれてあるもののみ\n"+
  25.         "  (2)検索は、当然ながら秀丸の検索制限を受けます\n"+
  26.         "────────────────────────────────\n"+
  27.         "(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";
  28.         $OT="";
  29.     }else{$OT=gettext(x,y,x+8,y);// 1回目表示
  30.          call CustAllT;
  31.         while(1){
  32.             finddown;if(!result){moveto #Tox,#Toy;break;}else#Tfok=1;escape;
  33.             if(#Tfok!=1||y>#Tey||(y==#Tey&&x>#Tex)){//message "指定範囲内の検索を完了しました";
  34.             break;
  35.             }else{
  36.                 $OT=gettext(x,y,x+8,y);
  37.                 call CustAllT;
  38.             }
  39.         }
  40.     }
  41.     moveto #Tox,#Toy;//right;
  42. }else{
  43. #selectingT=0;
  44. $OT=time;
  45. call CustAllT;
  46. }
  47. endmacro;
  48. CustAllT://カスタマイズ
  49. $$s1="■「時分秒」出力形式設定  ■ k_TIME Ver.1.59";
  50. $$s2="━━━━━━━━━━━━━━━━━━━━━━";
  51. $$s4="━━━━━━━━━━━━━━━━━━━━━━";
  52. $$s5="     &1. 12/24時制、時制記号の選択";
  53. $$s6="     &2. 表示数字設定";
  54. $$s7="     &3. セパレータ選択";
  55. $$s8="────────設定記憶 &M ─────────";
  56. $$s9="────────設定破棄 &X ─────────";
  57. $$s10="━━━━━[ 検索変換MODE 操作 ]━━━━━━━";
  58. $$s11="■取得時刻  "+$OT;
  59. $$s13="─────置換出力後、次検索 &R ───────";
  60. $$s14="─────挿入出力後、次検索 &I ───────";
  61. $$s15="─────出力なしで次を検索 &N ───────";
  62. while(1){
  63. call Set111T;
  64. call SetSpeedT;
  65. $Ta=$th1[#thk]+$t[#tk]+$sp1[#ST]+$m[#tk]+$sp2[#ST]+$s[#tk]+$sp3[#ST]+$th2[#thk];
  66. if(#kobetuT)$$s3= "Sample   "+$Ta;else $$s3="●出力●   "+$Ta;
  67. $$s12="■変換時刻  "+$Ta;
  68. if(!#selectingT) menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9;
  69. else menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9,$$s10,$$s11,$$s12,$$s13,$$s14,$$s15;
  70.          if(result==0){endmacro;}
  71.     else if(result==1){message "「時分秒」 出力形式設定は下記3箇所の設定を行います\n●(計793種)\n"+
  72.     "   ┌-┬-┬───(2)時分秒形式(12:3:4,二時二十五分零秒,等9種)\n"+
  73.     " AM 15:23:45 AM\n"+
  74.     " │  └─┴─┼───(3)セパレータ(:,-, ,時分秒,等9種)\n"+
  75.     " └───-─┴─(1)時制、記号(am/pm,午前/午後,位置は頭と尾,等10種)\n"+
  76.     "────────────────────────────────\n"+
  77.     "(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office";continue;}
  78.     else if(result==2){message "時分秒情報の前にある表示による動作の違い\n Sample :表示するだけ\n ●出力●:時分秒を出力する";}
  79.     else if(result==3){if(#kobetuT==0){insert $Ta;endmacro;}message"検索変換MODE中は「操作」から選択";}
  80.     else if(result==4){message "●教育的指導!?\n何かの拍子に午前/午後表示と24時制表示が混ざることがあるようです(^^;\nこの場合、時制の設定と表示数字の設定を何度かやると直るようです(^^;\nメモリ64Kの壁で消耗しきってしまったアテには調べるパワーが、\nもう、あらしまへんのどすぅ、ドス(-_-メ)うぅ、うう、DOSうぅ、うう??\n誰かおせ~てくらはい、よろしくネん。 水銀水";}
  81.     else if(result==5){call THset;}
  82.     else if(result==6){call TCset;}
  83.     else if(result==7){call TSset;}
  84.     else if(result==8){call WriteCustTime;if(!#kobetuT)continue;if(!#selectingT)break;else continue;}
  85.     else if(result==9){if(!#selectingT)break;else continue;}
  86.     else if(result==10){message "選択状態での操作は次の4つです\n"+
  87.     " (R)置換出力後、次検索:取得時刻を変換時刻に置き換え、検索続行\n"+
  88.     " (I)挿入出力後、次検索:取得時刻を変換時刻の前に挿入し、検索続行\n"+
  89.     " (N)出力なしで次を検索:なにもしないで、次の検索続行\n"+
  90.     " 強制終了:すぐにおわるには、 [ESC] キーを押して下さい\n"+
  91.     "───────────────────────────────\n"+
  92.     "(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";continue;}
  93.     else if(result==14){insert $th1[#thk]+$t[#tk]+$sp1[#ST]+$m[#tk]+$sp2[#ST]+$s[#tk]+$sp3[#ST]+$th2[#thk];break;}
  94.     else if(result==13){delete;delete;delete;delete;delete;delete;delete;delete;insert $th1[#thk]+$t[#tk]+$sp1[#ST]+$m[#tk]+$sp2[#ST]+$s[#tk]+$sp3[#ST]+$th2[#thk];break;}
  95.     else if(result==15){break;}
  96. }//while(1)
  97. //endmacro;
  98. return;
  99. ///////////////////////////////////
  100. Set111T://取得基本情報の設定
  101. $t[1]=midstr($OT,0,2);            //24h
  102. $m[1]=midstr($OT,3,2);            //09
  103. $s[1]=midstr($OT,6,2);            //23
  104. if((val($t[1])-12)>=0){#ampm=1;$t[11]=rightstr("00"+str(val($t[1])-12),2);}
  105. else{#ampm=0;$t[11]=$t[1];}//ampm=0:am,ampm=1:pm
  106. $svt1=str(val($t[1]));
  107. $svm1=str(val($m[1]));
  108. $svs1=str(val($s[1]));
  109. $svt11=str(val($t[11]));
  110. return;
  111. ///////////////////////////////////
  112. SetSpeedT://高速再設定
  113.       if(#tk==1){$t[1]=$t[1];
  114.          $m[1]=$m[1];
  115.          $s[1]=$s[1];
  116. }else if(#tk==2){$t[2]=rightstr("  "+$svt1,2);
  117.          $m[2]=rightstr("  "+$svm1,2);
  118.          $s[2]=rightstr("  "+$svs1,2);
  119. }else if(#tk==3){$t[3]=$svt1;
  120.          $m[3]=$svm1;
  121.          $s[3]=$svs1;
  122. }else if(#tk==4){if(val($t[1])<10){call HS2ZS $svt1;$t[4]=$$return;}else{$t[4]=$t[1];}
  123.          if(val($m[1])<10){call HS2ZS $svm1;$m[4]=$$return;}else{$m[4]=$m[1];}
  124.          if(val($s[1])<10){call HS2ZS $svs1;$s[4]=$$return;}else{$s[4]=$s[1];}
  125. }else if(#tk==5){call HS2ZS $t[1];$t[5]=$$return;
  126.          call HS2ZS $m[1];$m[5]=$$return;
  127.          call HS2ZS $s[1];$s[5]=$$return;
  128. }else if(#tk==6){call HS2ZS rightstr("  "+$svt1,2);$t[6]=$$return;
  129.          call HS2ZS rightstr("  "+$svm1,2);$m[6]=$$return;
  130.          call HS2ZS rightstr("  "+$svs1,2);$s[6]=$$return;
  131. }else if(#tk==7){call HS2ZS $svt1;$t[7]=$$return;
  132.          call HS2ZS $svm1;$m[7]=$$return;
  133.          call HS2ZS $svs1;$s[7]=$$return;
  134. }else if(#tk==8){call HS2K1 $svt1;$t[8]=$$return;
  135.          call HS2K1 $svm1;$m[8]=$$return;
  136.          call HS2K1 $svs1;$s[8]=$$return;
  137. }else if(#tk==9){call HS2K2 $svt1;$t[9]=$$return;
  138.          call HS2K2 $svm1;$m[9]=$$return;
  139.          call HS2K2 $svs1;$s[9]=$$return;
  140. }else if(#tk==10){//古典時間用ストック
  141. //----12h
  142. }else if(#tk==11){$t[11]=rightstr("00"+$svt11,2);
  143.           $m[11]=$m[1];
  144.           $s[11]=$s[1];
  145. }else if(#tk==12){$t[12]=rightstr("  "+$svt11,2);
  146.           $m[12]=rightstr("  "+$svm1,2);
  147.           $s[12]=rightstr("  "+$svs1,2);
  148. }else if(#tk==13){$t[13]=$svt11;      //time:_6
  149.           $m[13]=$svm1;      //minu:_6
  150.           $s[13]=$svs1;      //seco:_6
  151. }else if(#tk==14){if(val($t[11])<10){call HS2ZS $svt11;$t[14]=$$return;}else{$t[14]=$t[11];}
  152.           if(val($m[1])<10){call HS2ZS $svm1;$m[14]=$$return;}else{$m[14]=$m[1];}
  153.           if(val($s[1])<10){call HS2ZS $svs1;$s[14]=$$return;}else{$s[14]=$s[1];}//混合
  154. }else if(#tk==15){call HS2ZS $t[11];$t[15]=$$return;
  155.           call HS2ZS $m[1];$m[15]=$$return;
  156.           call HS2ZS $s[1];$s[15]=$$return;
  157. }else if(#tk==16){call HS2ZS rightstr("  "+$svt11,2);$t[16]=$$return;
  158.           call HS2ZS rightstr("  "+$svm1,2);$t[16]=$$return;
  159.           call HS2ZS rightstr("  "+$svs1,2);$t[16]=$$return;
  160. }else if(#tk==17){call HS2ZS $svt11;$t[17]=$$return;
  161.           call HS2ZS $svm1;$m[17]=$$return;
  162.           call HS2ZS $svs1;$s[17]=$$return;
  163. }else if(#tk==18){call HS2K1 $svt11;$t[18]=$$return;
  164.           call HS2K1 $svm1;$m[18]=$$return;
  165.           call HS2K1 $svs1;$s[18]=$$return;
  166. }else if(#tk==19){call HS2K2 $svt11;$t[19]=$$return;
  167.           call HS2K2 $svm1;$m[19]=$$return;
  168.           call HS2K2 $svs1;$s[19]=$$return;
  169. }
  170. if(#ST==1){//半角コロン
  171.     $sp1[#ST]=":";$sp2[#ST]=":";$sp3[#ST]="";
  172. }else if(#ST==2){//半角---
  173.     $sp1[#ST]="-";$sp2[#ST]="-";$sp3[#ST]="";
  174. }else if(#ST==3){//半角空白
  175.     $sp1[#ST]=" ";$sp2[#ST]=" ";$sp3[#ST]="";
  176. }else if(#ST==4){//全角コロン
  177.     $sp1[#ST]=":";$sp2[#ST]=":";$sp3[#ST]="";
  178. }else if(#ST==5){//全角ハイフン
  179.     $sp1[#ST]="-";$sp2[#ST]="-";$sp3[#ST]="";
  180. }else if(#ST==6){//全角空白
  181.     $sp1[#ST]=" ";$sp2[#ST]=" ";$sp3[#ST]="";
  182. }else if(#ST==7){//時分秒
  183.     $sp1[#ST]="時";$sp2[#ST]="分";$sp3[#ST]="秒";
  184. }
  185. //$th1[0]は、24時制で使い、ここでは設定なし
  186.      if(#thk==1){if(!#ampm){$th1[1]=" am ";    $th2[1]="";}    else{$th1[1]=" pm ";    $th2[1]="";}}
  187. else if(#thk==2){if(!#ampm){$th1[2]="(am)";    $th2[2]="";}    else{$th1[2]="(pm)";    $th2[2]="";}}
  188. else if(#thk==3){if(!#ampm){$th1[3]=" AM ";    $th2[3]="";}    else{$th1[3]=" PM ";    $th2[3]="";}}
  189. else if(#thk==4){if(!#ampm){$th1[4]="(AM)";    $th2[4]="";}    else{$th1[4]="(PM)";    $th2[4]="";}}
  190. else if(#thk==5){if(!#ampm){$th1[5]="午前";    $th2[5]="";}    else{$th1[5]="午後";    $th2[5]="";}}
  191. if(#tR==1)call th_tran;//位置設定
  192. return;
  193. ///////////////////////////////////
  194. THset://24時制、12時制選択";
  195. if(!#1224Setting)call 1224Setting;
  196. if(#tk>10){#tk=#tk-10;call SetSpeedT;}else{#tk=#tk+10;call SetSpeedT;#tk=#tk-10;}
  197. $$s1="12/24時制、その記号位置を選択してください";
  198. $$s8="───────────記号位置変更─────────────";
  199. $$s9="────────────設定破棄──────────────";
  200. while(1){
  201. $$s2=$th1[0]+$t[#tk]+$sp1[#ST]+$m[#tk]+$sp2[#ST]+$s[#tk]+$sp3[#ST]+$th2[0]+"・・・・・・・・・・(24時制、附帯情報無し)";
  202. $$s3=$th1[1]+$t[#tk+10]+$sp1[#ST]+$m[#tk+10]+$sp2[#ST]+$s[#tk+10]+$sp3[#ST]+$th2[1]+"・・・・・・・・・(12時制、 am/pm 付き)";
  203. $$s4=$th1[2]+$t[#tk+10]+$sp1[#ST]+$m[#tk+10]+$sp2[#ST]+$s[#tk+10]+$sp3[#ST]+$th2[2]+"・・・・・・・・・(12時制、(am/pm)付き)";
  204. $$s5=$th1[3]+$t[#tk+10]+$sp1[#ST]+$m[#tk+10]+$sp2[#ST]+$s[#tk+10]+$sp3[#ST]+$th2[3]+"・・・・・・・・・(12時制、 AM/PM 付き)";
  205. $$s6=$th1[4]+$t[#tk+10]+$sp1[#ST]+$m[#tk+10]+$sp2[#ST]+$s[#tk+10]+$sp3[#ST]+$th2[4]+"・・・・・・・・・(12時制、(AM/PM)付き)";
  206. $$s7=$th1[5]+$t[#tk+10]+$sp1[#ST]+$m[#tk+10]+$sp2[#ST]+$s[#tk+10]+$sp3[#ST]+$th2[5]+"・・・・・・・・・(12時制、午前/午後付き)";
  207.     menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9;
  208.     if(result==0){endmacro;}
  209.     else if(result==1)continue;
  210.     else if(result==8){if(!#tR)#tR=1;else #tR=0;call th_tran;continue;}
  211.     else if(result==2){#tk=1;#thk=0;break;}
  212.     else if(result==9)break;
  213.     else {#tk=#tk+10;#thk=result-2;break;}
  214. }
  215. return;
  216. 1224Setting://12時制の記号設定。$th1[0]は、24時制で使い、ここでは設定なしである
  217. if(!#ampm){$th1[1]=" am ";$th2[1]="";}else{$th1[1]=" pm ";$th2[1]="";}
  218. if(!#ampm){$th1[2]="(am)";$th2[2]="";}else{$th1[2]="(pm)";$th2[2]="";}
  219. if(!#ampm){$th1[3]=" AM ";$th2[3]="";}else{$th1[3]=" PM ";$th2[3]="";}
  220. if(!#ampm){$th1[4]="(AM)";$th2[4]="";}else{$th1[4]="(PM)";$th2[4]="";}
  221. if(!#ampm){$th1[5]="午前";$th2[5]="";}else{$th1[5]="午後";$th2[5]="";}
  222. #1224Setting=1;
  223. return;
  224. th_tran://12時制の記号を時刻数字の前、後の位置変更
  225.     $Tran=$th1[1];$th1[1]=$th2[1];$th2[1]=$Tran;
  226.     $Tran=$th1[2];$th1[2]=$th2[2];$th2[2]=$Tran;
  227.     $Tran=$th1[3];$th1[3]=$th2[3];$th2[3]=$Tran;
  228.     $Tran=$th1[4];$th1[4]=$th2[4];$th2[4]=$Tran;
  229.     $Tran=$th1[5];$th1[5]=$th2[5];$th2[5]=$Tran;
  230. return;
  231. TCset://時・文・秒の形式の決定
  232. if(!#tmsSetting)call tmsSetting;
  233. $$s1="時・文・秒の形式を選択してください";
  234. if(#tk>10)#da=10;else #da=0;
  235. $$s2=$t[#da+1]+$sp1[#ST]+$m[1]+$sp2[#ST]+$s[1]+$sp3[#ST]+"・・・・・・・・・(半角2桁、0付き)";
  236. $$s3=$t[#da+2]+$sp1[#ST]+$m[2]+$sp2[#ST]+$s[2]+$sp3[#ST]+"・・・・・・・・・(半角2桁、空白付き)";
  237. $$s4=$t[#da+3]+$sp1[#ST]+$m[3]+$sp2[#ST]+$s[3]+$sp3[#ST]+"・・・・・・・・・(半角ツメ)";
  238. $$s5=$t[#da+4]+$sp1[#ST]+$m[4]+$sp2[#ST]+$s[4]+$sp3[#ST]+"・・・・・・・・・(半角全角混合、半角2桁分占有)";
  239. $$s6=$t[#da+5]+$sp1[#ST]+$m[5]+$sp2[#ST]+$s[5]+$sp3[#ST]+"・・・・・・・・・(全角2桁、0付き)";
  240. $$s7=$t[#da+6]+$sp1[#ST]+$m[6]+$sp2[#ST]+$s[6]+$sp3[#ST]+"・・・・・・・・・(全角2桁、空白付き)";
  241. $$s8=$t[#da+7]+$sp1[#ST]+$m[7]+$sp2[#ST]+$s[7]+$sp3[#ST]+"・・・・・・・・・(全角ツメ)";
  242. $$s9=$t[#da+8]+$sp1[#ST]+$m[8]+$sp2[#ST]+$s[8]+$sp3[#ST]+"・・・・・・・・・(全角漢字ツメ、位表示なし、〇表示)";
  243. $$s10=$t[#da+9]+$sp1[#ST]+$m[9]+$sp2[#ST]+$s[9]+$sp3[#ST]+"・・・・・・・・・(全角漢字ツメ、位表示付き、零表示)";
  244. //$$s11=$t[#da+10]+$sp1[#ST]+$m[10]+$sp2[#ST]+$s[10]+$sp3[#ST]+"・・・・・(古典方位時刻:干支位表示付き)";
  245. $$s11="────────────設定破棄──────────────";
  246. while(1){
  247.     menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9,$$s10,$$s11;
  248.     if(result==0){endmacro;}
  249.     else if(result==1)continue;
  250.     else if(result==11)break;
  251.     if(#tk>10)#tk=result-1+10;else#tk=result-1;
  252.     break;
  253.  
  254. }
  255. return;
  256. tmsSetting:
  257. $t[2]=rightstr("  "+$svt1,2);
  258. $m[2]=rightstr("  "+$svm1,2);
  259. $s[2]=rightstr("  "+$svs1,2);
  260. $t[3]=$svt1;
  261. $m[3]=$svm1;
  262. $s[3]=$svs1;
  263. if(val($t[1])<10){call HS2ZS $svt1;$t[4]=$$return;}else{$t[4]=$t[1];}
  264. if(val($m[1])<10){call HS2ZS $svm1;$m[4]=$$return;}else{$m[4]=$m[1];}
  265. if(val($s[1])<10){call HS2ZS $svs1;$s[4]=$$return;}else{$s[4]=$s[1];}
  266. call HS2ZS $t[1];$t[5]=$$return;
  267. call HS2ZS $m[1];$m[5]=$$return;
  268. call HS2ZS $s[1];$s[5]=$$return;
  269. call HS2ZS rightstr("  "+$svt1,2);$t[6]=$$return;
  270. call HS2ZS rightstr("  "+$svm1,2);$m[6]=$$return;
  271. call HS2ZS rightstr("  "+$svs1,2);$s[6]=$$return;
  272. call HS2ZS $svt1;$t[7]=$$return;
  273. call HS2ZS $svm1;$m[7]=$$return;
  274. call HS2ZS $svs1;$s[7]=$$return;
  275. call HS2K1 $svt1;$t[8]=$$return;
  276. call HS2K1 $svm1;$m[8]=$$return;
  277. call HS2K1 $svs1;$s[8]=$$return;
  278. call HS2K2 $svt1;$t[9]=$$return;
  279. call HS2K2 $svm1;$m[9]=$$return;
  280. call HS2K2 $svs1;$s[9]=$$return;
  281. {}//古典時間用ストック
  282. $t[12]=rightstr("  "+$svt11,2);
  283. $t[13]=$svt11;
  284. if(val($t[11])<10){call HS2ZS $svt11;$t[14]=$$return;}else{$t[14]=$t[11];}
  285. call HS2ZS $t[11];$t[15]=$$return;
  286. call HS2ZS rightstr("  "+$svt11,2);$t[16]=$$return;
  287. call HS2ZS $svt11;$t[17]=$$return;
  288. call HS2K1 $svt11;$t[18]=$$return;
  289. call HS2K2 $svt11;$t[19]=$$return;
  290. $m[11]=$m[1];$s[11]=$s[1];
  291. $m[12]=$m[2];$s[12]=$s[2];
  292. $m[13]=$m[3];$s[13]=$s[3];
  293. $m[14]=$m[4];$s[14]=$s[4];
  294. $m[15]=$m[5];$s[15]=$s[5];
  295. $m[16]=$m[6];$s[16]=$s[6];
  296. $m[17]=$m[7];$s[17]=$s[7];
  297. $m[18]=$m[8];$s[18]=$s[8];
  298. $m[19]=$m[9];$s[19]=$s[9];
  299. #tmsSetting=1;
  300. return;
  301. TSset://セパレーター設定
  302. if(!#SepTSetting)call SepTSetting;
  303. $$s1="時・分・秒の区切り形式を選択してください";
  304. $$s2=$t[#tk]+$sp1[1]+$m[#tk]+$sp2[1]+$s[#tk]+$sp3[1]+"・・・・・・・・(半角コロン「:」で区切る)";
  305. $$s3=$t[#tk]+$sp1[2]+$m[#tk]+$sp2[2]+$s[#tk]+$sp3[2]+"・・・・・・・(半角ハイフン「-」で区切る)";
  306. $$s4=$t[#tk]+$sp1[3]+$m[#tk]+$sp2[3]+$s[#tk]+$sp3[3]+"・・・・・・・・(半角空白「 」で区切る)";
  307. $$s5=$t[#tk]+$sp1[4]+$m[#tk]+$sp2[4]+$s[#tk]+$sp3[4]+"・・・・・・・・(全角コロン「:」で区切る)";
  308. $$s6=$t[#tk]+$sp1[5]+$m[#tk]+$sp2[5]+$s[#tk]+$sp3[5]+"・・・・・・・(全角ハイフン「-」で区切る)";
  309. $$s7=$t[#tk]+$sp1[6]+$m[#tk]+$sp2[6]+$s[#tk]+$sp3[6]+"・・・・・・・・(全角空白「 」で区切る)";
  310. $$s8=$t[#tk]+$sp1[7]+$m[#tk]+$sp2[7]+$s[#tk]+$sp3[7]+"・・・・・・・・(時分秒で区切る)";
  311. //$$s7=$t[#tk]+$sp1[6]+$m[#tk]+$sp2[6]+$s[#tk]+$sp3[6]+"・・・(古典方位時刻、干支付き)";
  312. $$s9=$t[#tk]+$m[#tk]+$s[#tk]+"・・・・・・・・・(セパレータなし)";
  313. $$s10="────────────設定破棄──────────────";
  314. while(1){
  315.     menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9,$$s10;
  316.     if(result==0){endmacro;}
  317.     else if(result==1){continue;}
  318.     else if(result==10){break;}
  319.     #ST=result-1;
  320.     break;
  321. }//while(1) 
  322. return;
  323. SepTSetting:
  324. $sp1[1]=":"; $sp2[1]=":"; $sp3[1]="";
  325. $sp1[2]="-"; $sp2[2]="-"; $sp3[2]="";
  326. $sp1[3]=" "; $sp2[3]=" "; $sp3[3]="";
  327. $sp1[4]=":";$sp2[4]=":";$sp3[4]="";
  328. $sp1[5]="-";$sp2[5]="-";$sp3[5]="";
  329. $sp1[6]=" ";$sp2[6]=" ";$sp3[6]="";
  330. $sp1[7]="時";$sp2[7]="分";$sp3[7]="秒";
  331. #SepTSetting=1;
  332. return;
  333. WriteCustTime:
  334. writeininum "hidemaru.ini","k_DATE","tk",#tk;
  335. writeininum "hidemaru.ini","k_DATE","ST",#ST;
  336. writeininum "hidemaru.ini","k_DATE","thk",#thk;
  337. if($th1[#thk]==""&&$th2[#thk]!="")writeininum "hidemaru.ini","k_DATE","tR",1;
  338. else writeininum "hidemaru.ini","k_DATE","tR",0;
  339. //if(!#SF){writeininum "hidemaru.ini","Env","SelectFound",0;envchanged;}
  340. return;
  341. k_TIMEini:
  342. #tk=getininum("hidemaru.ini","k_DATE","tk");
  343. #ST=getininum("hidemaru.ini","k_DATE","ST");
  344. #thk=getininum("hidemaru.ini","k_DATE","thk");
  345. #tR=getininum("hidemaru.ini","k_DATE","tR");
  346. #kobetuT=getininum("hidemaru.ini","k_DATE","kobetuT");
  347. //#SF=getininum("hidemaru.ini","Env","SelectFound");
  348. //if(!#SF){writeininum "hidemaru.ini","Env","SelectFound",1;envchanged;}
  349. if(#tk==0)#tk=1;
  350. if(#ST==0)#ST=1;
  351. if(#thk==0)#thk=0;
  352. //if(#tR==1)call th_tran;//位置設定
  353. return;
  354. ////////////////////////////////////変換関数//////////////////////////////////////////
  355. HS2ZS://半角数字を全角数字に
  356. $$hansuu=$$1;
  357. ##n=0;
  358. ##hslength=strlen($$hansuu);
  359. $$rets="";
  360. while(##n<##hslength){
  361.     if(midstr($$hansuu,##n,1)==" ")$$rets=$$rets+" ";
  362.     else $$rets=$$rets+char(ascii(midstr($$hansuu,##n,1))+33311);
  363.     ##n=##n+1;
  364. }
  365. return $$rets;
  366. ///////////////////
  367. HS2K1://半角数字を漢数字(位表示なし)に。(ケタ数制限なし)(type1:123:一二三)。
  368. $$zensuu=$$1;
  369. $$G=$$2;
  370. if($$G=="G"&&$$zensuu=="1")return "元";
  371. ##leng=strlen($$zensuu);
  372. ##n=0;
  373. $$ks0="";
  374. while(##n<##leng){
  375.     $$ks1=midstr($$zensuu,##n,1);
  376.     if($$ks1=="1")$$ks1="一";
  377.     else if($$ks1=="2")$$ks1="二";
  378.     else if($$ks1=="3")$$ks1="三";
  379.     else if($$ks1=="4")$$ks1="四";
  380.     else if($$ks1=="5")$$ks1="五";
  381.     else if($$ks1=="6")$$ks1="六";
  382.     else if($$ks1=="7")$$ks1="七";
  383.     else if($$ks1=="8")$$ks1="八";
  384.     else if($$ks1=="9")$$ks1="九";
  385.     else if($$ks1=="0")$$ks1="〇";
  386.     $$ks0=$$ks0+$$ks1;
  387.     ##n=##n+1;
  388. }
  389. return $$ks0;
  390. ///////////////////
  391. HS2K2://半角数字を漢数字(位表示あり)に。(4ケタまで)(type1:1234:千二百三十四)。
  392. $$zensuu=$$1;
  393. $$G=$$2;
  394. if($$zensuu=="0") return "零";else if($$G=="G"&&$$zensuu=="1")return "元";
  395. ##ketasuu=strlen($$zensuu);
  396. ##n=0;
  397. $$ks0="";
  398. while(##n<##ketasuu){
  399.     ##kurai=##ketasuu-##n;
  400.     $$ks1=midstr($$zensuu,##n,1);
  401.     if($$ks1=="1")$$ks1="一";
  402.     else if($$ks1=="2")$$ks1="二";
  403.     else if($$ks1=="3")$$ks1="三";
  404.     else if($$ks1=="4")$$ks1="四";
  405.     else if($$ks1=="5")$$ks1="五";
  406.     else if($$ks1=="6")$$ks1="六";
  407.     else if($$ks1=="7")$$ks1="七";
  408.     else if($$ks1=="8")$$ks1="八";
  409.     else if($$ks1=="9")$$ks1="九";
  410.     else if($$ks1=="0")$$ks1="〇";
  411.     if(##kurai==1){if($$ks1=="〇")$$ks1="";}//1 no kurai
  412.     else if(##kurai==2){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"十";else $$ks1="十";}//10 no kurai
  413.     else if(##kurai==3){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"百";else $$ks1="百";}//100 no kurai
  414.     else if(##kurai==4){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"千";else $$ks1="千";}//1000 no kurai
  415.     $$ks0=$$ks0+$$ks1;
  416.     ##n=##n+1;
  417. }
  418. return $$ks0;
  419. //
  420.