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

  1. //【マクロ名】kDATE2m1.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. //////////////////////////////////////////////////////////////////////////////////
  9. call k_DATEini;//初期値読み込み
  10. call k_TIMEini;//初期値読み込み
  11. if(overwrite){#ow=1;overwriteswitch;}
  12. //////日時情報の取得////////////////
  13. if(selecting){
  14.     #selectingM=1;
  15.     escape;
  16.     #Mtx=seltopx;#Mty=seltopy;#Mox=seltopx;#Moy=seltopy;
  17.     #Mex=selendx;#Mey=selendy;
  18.     moveto #Mtx,#Mty;left;#Mtx=x;#Mty=y;
  19.     if(#Mex==0){moveto #Mex,#Mey;left;#Mex=x;#Mey=y;}
  20.     moveto #Mtx,#Mty;
  21.     searchdown "[0-9][0-9]/[0-9][0-9]/[0-9][0-9]....[0-9][0-9]:[0-9][0-9]:[0-9][0-9]",regular;
  22.     if(result)#Mfok=1;escape;
  23.     if(#Mfok!=1||y>#Mey||(y==#Mey&&x>#Mex)){$OT="";
  24.     }else{
  25.         $OD=gettext(x,y,x+12,y);
  26.              $OT=gettext(x+13,y,x+21,y);
  27.         call CustAllM;
  28.         while(1){
  29.             finddown;if(!result){moveto #Mox,#Moy;call Ending;}else#Mfok=1;escape;
  30.             if(#Mfok!=1||y>#Mey||(y==#Mey&&x>#Mex)){//message "指定範囲内の検索を完了しました";
  31.             moveto #Mox,#Moy;call Ending;
  32.             }else{
  33.                 $OD=gettext(x,y,x+12,y);
  34.                      $OT=gettext(x+13,y,x+21,y);
  35.                 call CustAllM;
  36.             }
  37.         }
  38.     }
  39.     moveto #Mox,#Moy;//right;
  40. }else{
  41. #selectingM=0;
  42. $OD=date;
  43. $OT=time;
  44. call CustAllM;
  45. call Ending;
  46. }
  47. question  "指定された範囲 ( "+str(#Moy+1)+"行~"+str(#Mey+1)+
  48.     " 行) を検索しましたが、\n変換可能な完全な形式での「年月日時分秒」情報が、発見できませんでした\n"+
  49.     "そこで、次の(1)または(2)の個別情報による検索を続行してみますか?????\n"+
  50.     " (1)「年月日」情報検索。半角「TT/MM/DD[曜日]」で書かれた年月日\n"+
  51.     " (2)「時分秒」情報検索。半角「tt:mm:ss」で書かれてある時分秒\n"+
  52.     "■「はい」:個別情報による検索を実行    ■「いいえ」:終了\n"+
  53.     "─────────────────────────────────\n"+
  54.     "(C)1994/08/08水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";
  55. if(result){
  56. moveto #Mtx,#Mty;beginsel;moveto #Mex,#Mey;
  57. $$s1="■ 範囲内の年月日時分秒変換 k_DATE Ver.2";
  58. $$s2="個別検索する「年月日」「時分秒」を指定して下さい";
  59. $$s3="  &year.『年月日』:YY/MM/DD[曜日](曜日なしも可)";
  60. $$s4="  &time.『時分秒』:tt:mm:ss";
  61. $$s5="━━━━━━━個別検索をおえる &X ━━━━━━";
  62. while(1){
  63.     menu $$s1,$$s2,$$s3,$$s4,$$s5;
  64.     if(result==0){call Ending;}
  65.     else if(result==1){message "現在、"+str(#Moy+1)+"行~"+str(#Mey+1)+" 行が範囲指定中!!\nこの範囲には秀丸標準出力の [ YY/MM/DD(Week) tt:mm:ss ] 形式の情報は、\nありませんでした。でも、せっかく範囲を指定して、もったいないので(^^;\n同じ範囲内( "+str(#Moy+1)+"行~"+str(#Mey+1)+" 行)で、これに近い情報を探したいと思うのが人情。\n「年月日(曜日はあってもなくても検索変換可能)」だけか、\n「時分秒」だけか、いずれかの個別情報だけで検索変換を選択実行します。\n"+
  66.     "────────────────────────────────\n"+"(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";
  67. ;}
  68.     else if(result==2){message "(1)「年月日」情報検索。半角「TT/MM/DD[曜日]」書式の「年月日」を検索変換。\n 年情報を2桁で取得するため100年対単位の違いは認識不能。\nまた、曜日はあってもなくても検索変換可能。\n◆ただし、連続検索置換の場合、一度、曜日情報がない「年月日」を発見すると強制的に「曜日表示無し」にセットされるので直後の注意が必要です!!!\n(2)「時分秒」情報検索。半角「tt:mm:ss」書式の「時分秒」情報を検索変換。\n"+
  69.     "────────────────────────────────\n"+"(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";
  70. ;}
  71.     else if(result==3){call exe_cD;call Ending;}
  72.     else if(result==4){call exe_cT;call Ending;}
  73.     else if(result==5){escape;break;}
  74. }
  75. }
  76. call Ending;
  77. CustAllM:
  78. $$s1="■下記の「年月日・時分秒」形式で出力します ■ k_DATE Ver.2 水銀水";
  79. $$s2="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━";
  80. $$s4="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━";
  81. $$s5="────《年月日》形式変更  &Year ────────────────";
  82. $$s6="──────────────────《時分秒》形式変更  &Time ──";
  83. if(!#selectingM)$$s7="━━━━━━━━━━━━━[ &Option ]━━━━━━━━━━━━━━━";
  84. else$$s7="━━━━━━━━━━━[ 検索変換 MODE ]━━━━━━━━━━━━━";
  85. $$s8="■ 取得情報  "+$OD+" "+$OT;
  86. $$s10="━━━━━━━━━━━━━━[ 操作 ]━━━━━━━━━━━━━━━";
  87. $$s11="───────────置換出力後、次検索 &R ───────────";
  88. $$s12="───────────挿入出力後、次検索 &I ───────────";
  89. $$s13="───────────出力なしで次を検索 &N ───────────";
  90. while(1){
  91. call Set111D;call Set111T;
  92. call SetSpeedD;call SetSpeedT;
  93. $MDa=$Y[#Yk]+$SP1[#SPk]+$M[#MDk]+$SP2[#SPk]+$D[#MDk]+$SP3[#SPk]+$W[#Wk]+" "+$th1[#thk]+$t[#tk]+$sp1[#ST]+$m[#tk]+$sp2[#ST]+$s[#tk]+$sp3[#ST]+$th2[#thk];
  94. $$s3=$MDa;
  95. $$s9="■ 変換出力  "+$MDa;
  96. if(!#selectingM)    menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7;
  97. else menu $$s1,$$s2,$$s3,$$s4,$$s5,$$s6,$$s7,$$s8,$$s9,$$s10,$$s11,$$s12,$$s13;
  98.     if(result==0){call Ending;
  99.     }else if(result==1||result==3){if(!#selectingM){insert $MDa;call Ending;}else{message "選択起動MODEでは、出力は下3段の操作を実行して下さい";}
  100.     }else if(result==4){message "●年月日、時分秒の設定時のサンプルは、『現在』の各情報が表示されます\n● k_DATE Ver.2 の2MODE\n (1)非選択時起動MODE…現時点の『年月日・時分秒』を新規入力\n (2)選択時起動MODE…範囲内の『年月日・時分秒』あるいは『年月日』、『時分秒』の個別検索置換。既に年月日などの情報が書き込まれている場合の変更(置換、挿入)に便利です\n"+"───────────────────────────────\n"+"(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office ";continue;
  101.     }else if(result==2){message "●第一段目の「出力」か、第3段目の「日時」のクリックで出力します\n●遅さが気になる方は、起動後、画面表示が行われる前にすぐにリターンを押して下さい。機能しています。\n●下線があるキーの場合は、そのキーを押すことで実行できます\n● k_DATE Ver.2 の通常用法では、k_DATEm1.mac だけですが、k_DATEcD.mac と k_TIMEcT.mac は単独でも動き、特化使用が可能(^o^)\n"+"──────────────────────────────\n"+"(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603) @My Friend Office";continue;
  102.     }else if(result==5){call exe_cD;call k_DATEini;continue;
  103.     }else if(result==6){call exe_cT;call k_TIMEini;continue;
  104.     }else if(result==7){if(!#selectingM)call KakutyouM;else message "『検索変換MODE』中です\n『選択後起動MODE』とも言います(^^;";continue;
  105.     }else if(result==10){message "選択状態での操作は次の4つです\n"+
  106.     " (R)置換出力後、次検索:置き換え、検索続行\n (I)挿入出力後、次検索:前に挿入し、検索続行\n (N)出力なしで次を検索:何もせず、次の検索続行\n 強制終了: [ESC] キーを押して下さい\n"+
  107.     "(C)1994/08/08 水銀水(Suigwinsui)/小田 明夫(HGD01603)";continue;
  108.     }else if(result==11){delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;delete;
  109.         insert $MDa;break;}
  110.     
  111.     else if(result==12){insert $MDa;break;}
  112.     else if(result==13){break;}
  113.     
  114. }//while(1)
  115. return;
  116. //call Ending;
  117. Ending:
  118. escape;
  119. if ( #ow == 1) overwriteswitch;//オーバーライトモードを元に戻す
  120. endmacro;
  121. //
  122. KakutyouM:
  123. $$s1="■ 年月日 or 時分秒  個別出力 k_DATE Ver.2";
  124. $$s2="  &year.『年月日』:YY/MM/DD[曜日](曜日なしも可)";
  125. $$s3="  &time.『時分秒』:tt:mm:ss";
  126. $$s4="━━━━━━━個別出力破棄 &X ━━━━━━━━";
  127. while(1){
  128.     menu $$s1,$$s2,$$s3,$$s4;
  129.     if(result==0){call Ending;}
  130.     else if(result==1){message "「年月日」(曜日なしも可)か「時分秒」かの個別出力を行います";}
  131.     else if(result==2){execmacro "kDATE2cD.mac";call Ending;break;}
  132.     else if(result==3){execmacro "kDATE2cT.mac";call Ending;break;}
  133.     else if(result==4){escape;break;}
  134. }
  135. return;
  136. exe_cD:
  137. writeininum "hidemaru.ini","k_DATE","kobetuD",1;
  138. execmacro "kDATE2cD.mac";
  139. writeininum "hidemaru.ini","k_DATE","kobetuD",0;
  140. return;
  141. exe_cT:
  142. writeininum "hidemaru.ini","k_DATE","kobetuT",1;
  143. execmacro "kDATE2cT.mac";
  144. writeininum "hidemaru.ini","k_DATE","kobetuT",0;
  145. return;
  146. ////////年月日の設定////////////////
  147. Set111D:
  148. $Y[1]=midstr($OD,0,2);//年:94
  149. $M[1]=midstr($OD,3,2);//月:09
  150. $D[1]=midstr($OD,6,2);//日:23
  151. $W0=midstr($OD,9,2);//曜日:水
  152. if(!($W0=="月"||$W0=="火"||$W0=="水"||$W0=="木"||$W0=="金"||$W0=="土"||$W0=="日")){$W0="";#Wk=0;}
  153. if(val($Y[1])<=25){$C="20";#C=1988;$G="平成";$G1="H";}
  154. else if(val($Y[1])<=88){$C="19";#C=1925;$G="昭和";$G1="S";}
  155. else {$C="19";#C=1988;$G="平成";$G1="H";}
  156. $svY=str( val($C+$Y[1])-#C);
  157. $svM=str( val($M[1]));
  158. $svD=str( val($D[1]));
  159. return;
  160. //////時分秒の設定////////////////
  161. Set111T://取得基本情報の設定
  162. $t[1]=midstr($OT,0,2);            //24h
  163. $m[1]=midstr($OT,3,2);            //09
  164. $s[1]=midstr($OT,6,2);            //23
  165. if((val($t[1])-12)>=0){#ampm=1;$t[11]=rightstr("00"+str(val($t[1])-12),2);}
  166. else{#ampm=0;$t[11]=$t[1];}//ampm=0:am,ampm=1:pm
  167. $svt1=str(val($t[1]));
  168. $svm1=str(val($m[1]));
  169. $svs1=str(val($s[1]));
  170. $svt11=str(val($t[11]));
  171. return;
  172.  
  173. ////////日時高速設定//////////////////////
  174. SetSpeedD:
  175. if(#Yk==2){$Y[2]="'"+$Y[1];}        //年:'94
  176. else if(#Yk==3){$Y[3]=$C+$Y[1];}    //年:1994
  177. else if(#Yk==4){call HS2ZS $Y[1];$Y[4]=$$return;}      //年:94
  178. else if(#Yk==5){call HS2ZS $Y[1];$Y[5]="’"+$$return;}//年:’94
  179. else if(#Yk==6){call HS2ZS $C+$Y[1];$Y[6]=$$return;}//年:1994
  180. else if(#Yk==7){call HS2K1 $C+$Y[1];$Y[7]=$$return;}      //年:一九九四
  181. else if(#Yk==8){call HS2K2 $C+$Y[1];$Y[8]=$$return;}  //年:千九百九十四
  182. else if(#Yk==9){$Y[9]=$G1+rightstr("00"+$svY,2);}    //年:H06
  183. else if(#Yk==10){$Y[10]=$G1+rightstr("  "+$svY,2);}      //年:H_6
  184. else if(#Yk==11){$Y[11]=$G1+$svY;}              //年:H6
  185. else if(#Yk==12){$Y[12]=$G+rightstr("00"+$svY,2);}      //年:平成06
  186. else if(#Yk==13){$Y[13]=$G+rightstr("  "+$svY,2);}      //年:平成_6
  187. else if(#Yk==14){$Y[14]=$G+$svY;}                //年:平成6
  188. else if(#Yk==15){call HS2ZS $svY;$Y[15]=$G+$$return;}//年:平成6
  189. else if(#Yk==16){call HS2K1 $svY,"G";$Y[16]=$G+$$return;}//年:平成六、位なし
  190. else if(#Yk==17){call HS2K2 $svY,"G";$Y[17]=$G+$$return;}//年:平成六、位付き
  191. if(#MDk==2){
  192.     $M[2]=rightstr("  "+$svM,2);        //月:_9
  193.     $D[2]=rightstr("  "+$svD,2);        //日:_23
  194. }else if(#MDk==3){
  195.     $M[3]=$svM;            //月:9
  196.     $D[3]=$svD;            //日:23
  197. }else if(#MDk==4){//全角数字
  198.     if(val($M[1])<10){call HS2ZS $svM;$M[4]=$$return;}else $M[4]=$M[1];
  199.     if(val($D[1])<10){call HS2ZS $svD;$D[4]=$$return;}else $D[4]=$D[1];
  200. }else if(#MDk==5){//全角数字、0付き
  201.     call HS2ZS $M[1];$M[5]=$$return;//月:09
  202.      call HS2ZS $D[1];$D[5]=$$return;//日:023
  203. }else if(#MDk==6){//全角数字、空白付き
  204.     call HS2ZS rightstr("  "+$svM,2);$M[6]=$$return;//月:_9
  205.     call HS2ZS rightstr("  "+$svD,2);$D[6]=$$return;//日:_23
  206. }else if(#MDk==7){//全角数字、ツメ
  207.     call HS2ZS $svM;$M[7]=$$return;//月:9
  208.     call HS2ZS $svD;$D[7]=$$return;//日:23
  209. }else if(#MDk==8){//全角漢数字、ツメ、位表示なし
  210.     call HS2K1 $svM;$M[8]=$$return;//月:九
  211.     call HS2K1 $svD;$D[8]=$$return;//日:二三
  212. }else if(#MDk==9){//全角漢数字、ツメ、位表示あり
  213.     call HS2K2 $svM;$M[9]=$$return;//月:十二
  214.     call HS2K2 $svD;$D[9]=$$return;//日:二十三
  215. }else if(#MDk==10){//全角漢数字、古典月ツメ、位表示あり
  216.     #SPk=9;
  217.     call HankakuSuuzi2KotenTuki $svM;$M[10]=$$return;//月。弥生
  218.     call HS2K2 $svD;$D[10]=$$return;//日:二十三
  219. }
  220. if(#Wk==0)$W[0]="";
  221. else if(#Wk==1)$W[1]="("+$W0+")";
  222. else if(#Wk==2)$W[2]="("+$W0+"曜日)";
  223. else if(#Wk>=2&&#Wk<=5){
  224.          if($W0=="月"){$W[3]="(Mon)";$W[4]="(MON)";$W[5]="(Monday)";}
  225.     else if($W0=="火"){$W[3]="(Tue)";$W[4]="(TUE)";$W[5]="(Tuesday)";}
  226.     else if($W0=="水"){$W[3]="(Wed)";$W[4]="(WED)";$W[5]="(Wednesday)";}
  227.     else if($W0=="木"){$W[3]="(Thr)";$W[4]="(THU)";$W[5]="(Thusday)";}
  228.     else if($W0=="金"){$W[3]="(Fri)";$W[4]="(FRI)";$W[5]="(Friday)";}
  229.     else if($W0=="土"){$W[3]="(Sat)";$W[4]="(SAT)";$W[5]="(Saturday)";}
  230.     else if($W0=="日"){$W[3]="(Sun)";$W[4]="(SUN)";$W[5]="(Sunday)";}}
  231. if(#SPk==0){$SP1[0]="";$SP2[0]="";$SP3[0]="";}
  232. else if(#SPk==1){$SP1[1]="/";$SP2[1]="/";$SP3[1]="";}
  233. else if(#SPk==2){$SP1[2]="-";$SP2[2]="-";$SP3[2]="";}
  234. else if(#SPk==3){$SP1[3]=".";$SP2[3]=".";$SP3[3]="";}
  235. else if(#SPk==4){$SP1[4]=" ";$SP2[4]=" ";$SP3[4]=" ";}
  236. else if(#SPk==5){$SP1[5]="年";$SP2[5]="月";$SP3[5]="日";}
  237. else if(#SPk==9){$SP1[9]="年";$SP2[9]="";$SP3[9]="日";}
  238. //if(#SPk==0){$sp[0][1]="";$sp[0][2]="";$sp[0][3]="";}
  239. //else if(#SPk==1){$sp[1][1]="/";$sp[1][2]="/";$sp[1][3]="";}
  240. //else if(#SPk==2){$sp[2][1]="-";$sp[2][2]="-";$sp[2][3]="";}
  241. //else if(#SPk==3){$sp[3][1]=".";$sp[3][2]=".";$sp[3][3]="";}
  242. //else if(#SPk==4){$sp[4][1]=" ";$sp[4][2]=" ";$sp[4][3]=" ";}
  243. //else if(#SPk==5){$sp[5][1]="年";$sp[5][2]="月";$sp[5][3]="日";}
  244. //else if(#SPk==9){$sp[9][1]="年";$sp[9][2]="";$sp[9][3]="日";}
  245. return;
  246. ///////////////////////////////////
  247. SetSpeedT://高速再設定
  248.       if(#tk==1){$t[1]=$t[1];
  249.          $m[1]=$m[1];
  250.          $s[1]=$s[1];
  251. }else if(#tk==2){$t[2]=rightstr("  "+$svt1,2);
  252.          $m[2]=rightstr("  "+$svm1,2);
  253.          $s[2]=rightstr("  "+$svs1,2);
  254. }else if(#tk==3){$t[3]=$svt1;
  255.          $m[3]=$svm1;
  256.          $s[3]=$svs1;
  257. }else if(#tk==4){if(val($t[1])<10){call HS2ZS $svt1;$t[4]=$$return;}else{$t[4]=$t[1];}
  258.          if(val($m[1])<10){call HS2ZS $svm1;$m[4]=$$return;}else{$m[4]=$m[1];}
  259.          if(val($s[1])<10){call HS2ZS $svs1;$s[4]=$$return;}else{$s[4]=$s[1];}
  260. }else if(#tk==5){call HS2ZS $t[1];$t[5]=$$return;
  261.          call HS2ZS $m[1];$m[5]=$$return;
  262.          call HS2ZS $s[1];$s[5]=$$return;
  263. }else if(#tk==6){call HS2ZS rightstr("  "+$svt1,2);$t[6]=$$return;
  264.          call HS2ZS rightstr("  "+$svm1,2);$m[6]=$$return;
  265.          call HS2ZS rightstr("  "+$svs1,2);$s[6]=$$return;
  266. }else if(#tk==7){call HS2ZS $svt1;$t[7]=$$return;
  267.          call HS2ZS $svm1;$m[7]=$$return;
  268.          call HS2ZS $svs1;$s[7]=$$return;
  269. }else if(#tk==8){call HS2K1 $svt1;$t[8]=$$return;
  270.          call HS2K1 $svm1;$m[8]=$$return;
  271.          call HS2K1 $svs1;$s[8]=$$return;
  272. }else if(#tk==9){call HS2K2 $svt1;$t[9]=$$return;
  273.          call HS2K2 $svm1;$m[9]=$$return;
  274.          call HS2K2 $svs1;$s[9]=$$return;
  275. }else if(#tk==10){//古典時間用ストック
  276. //----12h
  277. }else if(#tk==11){$t[11]=rightstr("00"+$svt11,2);
  278.           $m[11]=$m[1];
  279.           $s[11]=$s[1];
  280. }else if(#tk==12){$t[12]=rightstr("  "+$svt11,2);
  281.           $m[12]=rightstr("  "+$svm1,2);
  282.           $s[12]=rightstr("  "+$svs1,2);
  283. }else if(#tk==13){$t[13]=$svt11;      //time:_6
  284.           $m[13]=$svm1;      //minu:_6
  285.           $s[13]=$svs1;      //seco:_6
  286. }else if(#tk==14){if(val($t[11])<10){call HS2ZS $svt11;$t[14]=$$return;}else{$t[14]=$t[11];}
  287.           if(val($m[1])<10){call HS2ZS $svm1;$m[14]=$$return;}else{$m[14]=$m[1];}
  288.           if(val($s[1])<10){call HS2ZS $svs1;$s[14]=$$return;}else{$s[14]=$s[1];}//混合
  289. }else if(#tk==15){call HS2ZS $t[11];$t[15]=$$return;
  290.           call HS2ZS $m[1];$m[15]=$$return;
  291.           call HS2ZS $s[1];$s[15]=$$return;
  292. }else if(#tk==16){call HS2ZS rightstr("  "+$svt11,2);$t[16]=$$return;
  293.           call HS2ZS rightstr("  "+$svm1,2);$t[16]=$$return;
  294.           call HS2ZS rightstr("  "+$svs1,2);$t[16]=$$return;
  295. }else if(#tk==17){call HS2ZS $svt11;$t[17]=$$return;
  296.           call HS2ZS $svm1;$m[17]=$$return;
  297.           call HS2ZS $svs1;$s[17]=$$return;
  298. }else if(#tk==18){call HS2K1 $svt11;$t[18]=$$return;
  299.           call HS2K1 $svm1;$m[18]=$$return;
  300.           call HS2K1 $svs1;$s[18]=$$return;
  301. }else if(#tk==19){call HS2K2 $svt11;$t[19]=$$return;
  302.           call HS2K2 $svm1;$m[19]=$$return;
  303.           call HS2K2 $svs1;$s[19]=$$return;
  304. }
  305. if(#ST==1){//半角コロン
  306.     $sp1[#ST]=":";$sp2[#ST]=":";$sp3[#ST]="";
  307. }else if(#ST==2){//半角---
  308.     $sp1[#ST]="-";$sp2[#ST]="-";$sp3[#ST]="";
  309. }else if(#ST==3){//半角空白
  310.     $sp1[#ST]=" ";$sp2[#ST]=" ";$sp3[#ST]="";
  311. }else if(#ST==4){//全角コロン
  312.     $sp1[#ST]=":";$sp2[#ST]=":";$sp3[#ST]="";
  313. }else if(#ST==5){//全角ハイフン
  314.     $sp1[#ST]="-";$sp2[#ST]="-";$sp3[#ST]="";
  315. }else if(#ST==6){//全角空白
  316.     $sp1[#ST]=" ";$sp2[#ST]=" ";$sp3[#ST]="";
  317. }else if(#ST==7){//時分秒
  318.     $sp1[#ST]="時";$sp2[#ST]="分";$sp3[#ST]="秒";
  319. }
  320. //$th1[0]は、24時制で使い、ここでは設定なし
  321. if(#thk==1){if(!#ampm){$th1[1]=" am ";    $th2[1]="";}    else{$th1[1]=" pm ";    $th2[1]="";}}
  322. else if(#thk==2){if(!#ampm){$th1[2]="(am)";    $th2[2]="";}    else{$th1[2]="(pm)";    $th2[2]="";}}
  323. else if(#thk==3){if(!#ampm){$th1[3]=" AM ";    $th2[3]="";}    else{$th1[3]=" PM ";    $th2[3]="";}}
  324. else if(#thk==4){if(!#ampm){$th1[4]="(AM)";    $th2[4]="";}    else{$th1[4]="(PM)";    $th2[4]="";}}
  325. else if(#thk==5){if(!#ampm){$th1[5]="午前";    $th2[5]="";}    else{$th1[5]="午後";    $th2[5]="";}}
  326. if(#tR==1)call th_tran;//位置設定
  327. return;
  328. /////////////以上、初期設定、高速立ち上げ/////////////////////////////////////////////
  329.  
  330. ////////////////////////////////////変換関数//////////////////////////////////////////
  331. HS2ZS://半角数字を全角数字に
  332. $$hansuu=$$1;
  333. ##n=0;
  334. ##hslength=strlen($$hansuu);
  335. $$rets="";
  336. while(##n<##hslength){
  337.     if(midstr($$hansuu,##n,1)==" ")$$rets=$$rets+" ";
  338.     else $$rets=$$rets+char(ascii(midstr($$hansuu,##n,1))+33311);
  339.     ##n=##n+1;
  340. }
  341. return $$rets;
  342. ///////////////////
  343. HS2K1://半角数字を漢数字(位表示なし)に。(ケタ数制限なし)(type1:123:一二三)。
  344. $$zensuu=$$1;
  345. $$G=$$2;
  346. if($$G=="G"&&$$zensuu=="1")return "元";
  347. ##hslength=strlen($$zensuu);
  348. ##n=0;
  349. $$ks0="";
  350. while(##n<##hslength){
  351.     $$ks1=midstr($$zensuu,##n,1);
  352.     if($$ks1=="1")$$ks1="一";
  353.     else if($$ks1=="2")$$ks1="二";
  354.     else if($$ks1=="3")$$ks1="三";
  355.     else if($$ks1=="4")$$ks1="四";
  356.     else if($$ks1=="5")$$ks1="五";
  357.     else if($$ks1=="6")$$ks1="六";
  358.     else if($$ks1=="7")$$ks1="七";
  359.     else if($$ks1=="8")$$ks1="八";
  360.     else if($$ks1=="9")$$ks1="九";
  361.     else if($$ks1=="0")$$ks1="〇";
  362.     $$ks0=$$ks0+$$ks1;
  363.     ##n=##n+1;
  364. }
  365. return $$ks0;
  366. ///////////////////
  367. HS2K2://半角数字を漢数字(位表示あり)に。(4ケタまで)(type1:1234:千二百三十四)。
  368. $$zensuu=$$1;
  369. $$G=$$2;
  370. ##ketasuu=strlen($$zensuu);
  371. if(##ketasuu==1&&$$zensuu=="0") return "零";else if($$G=="G"&&$$zensuu=="1")return "元";
  372. ##n=0;
  373. $$ks0="";
  374. while(##n<##ketasuu){
  375.     ##kurai=##ketasuu-##n;
  376.     $$ks1=midstr($$zensuu,##n,1);
  377.     if($$ks1=="1")$$ks1="一";
  378.     else if($$ks1=="2")$$ks1="二";
  379.     else if($$ks1=="3")$$ks1="三";
  380.     else if($$ks1=="4")$$ks1="四";
  381.     else if($$ks1=="5")$$ks1="五";
  382.     else if($$ks1=="6")$$ks1="六";
  383.     else if($$ks1=="7")$$ks1="七";
  384.     else if($$ks1=="8")$$ks1="八";
  385.     else if($$ks1=="9")$$ks1="九";
  386.     else if($$ks1=="0")$$ks1="〇";
  387.     
  388.     if(##kurai==1){if($$ks1=="〇")$$ks1="";}//1 no kurai
  389.     else if(##kurai==2){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"十";else $$ks1="十";}//10 no kurai
  390.     else if(##kurai==3){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"百";else $$ks1="百";}//100 no kurai
  391.     else if(##kurai==4){if($$ks1=="〇")$$ks1="";else if($$ks1!="一")$$ks1=$$ks1+"千";else $$ks1="千";}//1000 no kurai
  392.     $$ks0=$$ks0+$$ks1;
  393.     ##n=##n+1;
  394. }
  395. return $$ks0;
  396. ///////////////////
  397. HankakuSuuzi2KotenTuki:
  398. $$ks1=$$1;
  399.     if($$ks1=="1")$$ks1="睦月";
  400.     else if($$ks1=="2")$$ks1="如月";
  401.     else if($$ks1=="3")$$ks1="弥生";
  402.     else if($$ks1=="4")$$ks1="卯月";
  403.     else if($$ks1=="5")$$ks1="皐月";
  404.     else if($$ks1=="6")$$ks1="水無月";
  405.     else if($$ks1=="7")$$ks1="文月";
  406.     else if($$ks1=="8")$$ks1="葉月";
  407.     else if($$ks1=="9")$$ks1="長月";
  408.     else if($$ks1=="10")$$ks1="神無月";
  409.     else if($$ks1=="11")$$ks1="霜月";
  410.     else if($$ks1=="12")$$ks1="師走";
  411. return $$ks1;
  412. ///////////////////
  413. k_DATEini:
  414. #Yk=getininum("hidemaru.ini","k_DATE","Yk");
  415. #SPk=getininum("hidemaru.ini","k_DATE","SPk");
  416. #MDk=getininum("hidemaru.ini","k_DATE","MDk");
  417. #Wk=getininum("hidemaru.ini","k_DATE","Wk");
  418. #SF=getininum("hidemaru.ini","Env","SelectFound");
  419. if(!#SF){writeininum "hidemaru.ini","Env","SelectFound",1;envchanged;}
  420. if(#Yk==0)#Yk=1;
  421. if(#SPk==0)#SPk=1;
  422. if(#MDk==0)#MDk=1;
  423. if(#Wk==0)#Wk=1;
  424. return;
  425. k_TIMEini:
  426. #tk=getininum("hidemaru.ini","k_DATE","tk");
  427. #ST=getininum("hidemaru.ini","k_DATE","ST");
  428. #thk=getininum("hidemaru.ini","k_DATE","thk");
  429. #tR=getininum("hidemaru.ini","k_DATE","tR");
  430. if(#tk==0)#tk=1;
  431. if(#ST==0)#ST=1;
  432. if(#thk==0)#thk=0;
  433. return;
  434. th_tran:
  435.     $Tran=$th1[1];$th1[1]=$th2[1];$th2[1]=$Tran;
  436.     $Tran=$th1[2];$th1[2]=$th2[2];$th2[2]=$Tran;
  437.     $Tran=$th1[3];$th1[3]=$th2[3];$th2[3]=$Tran;
  438.     $Tran=$th1[4];$th1[4]=$th2[4];$th2[4]=$Tran;
  439.     $Tran=$th1[5];$th1[5]=$th2[5];$th2[5]=$Tran;
  440. return;
  441.