home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 November / VPR9711A.ISO / VPR_DATA / Special / Koda202 / koda202.lzh / kodama / htmtable.mac < prev    next >
Text File  |  1997-08-05  |  7KB  |  223 lines

  1. //こだマクロ(HTML作成)
  2. //htmtable.mac
  3. //このマクロは「秀丸エディタ」用のマクロです。
  4. //97080611
  5. //
  6.  
  7. main:
  8.     title "表に関するタグの指定 - こだマクロ";
  9.     #menu = getininum ( hidemarudir + "\\htmini.txt" , "Table" , "defnum" );
  10.     #i = 0;
  11.     while ( #menu + 1 > #i ) {
  12.         $top[#i] = getinistr ( hidemarudir + "\\htmini.txt" , "Table" , "def" + str ( #i ) );
  13.         $menu[#i] = leftstr ( $top[#i] , strstr ( $top[#i] , ":" ) );
  14.         $command[#i] = rightstr ( $top[#i] , strlen ( $top[#i] ) - strstr ( $top[#i] , ":" )  - 1 );
  15.         #i = #i + 1;
  16.     }
  17.     menuarray $menu, #menu + 1;
  18.     if ( result == 0 ) endmacro;
  19.     else if ( $command[result-1] == "td" ) call td "TD";
  20.     else if ( $command[result-1] == "tr" ) call tr;
  21.     else if ( $command[result-1] == "th" ) call td "TH";
  22.     else if ( $command[result-1] == "table" ) call table;
  23.     else if ( $command[result-1] == "cap" ) call caption;
  24.     writeinistr hidemarudir + "\\htmini.txt" , "Color" , "message" ,"0";
  25.     endmacro;
  26.  
  27. td:
  28.     $slwidth = "";
  29.     $slheight = "";
  30.     $slcolor = "";
  31.  
  32.     $dh = $$1;
  33.     call line;
  34.     $getline = $$return;
  35.     title "マス目に関する定義";
  36.     $sely31 = "マス内の文字の表示位置はどうしますか?";
  37.     $sely311[0] = "(&Center)中央";
  38.     $sely311[1] = "(&Left)左寄せ";
  39.     $sely311[2] = "(&Right)右寄せ";
  40.     $sely312[0] = "CENTER";
  41.     $sely312[1] = "LEFT";
  42.     $sely312[2] = "RIGHT";
  43.  
  44.     $sely321[0] = "(&Middle)中央";
  45.     $sely321[1] = "(&Top)上";
  46.     $sely321[2] = "(&Bottom)下";
  47.     $sely322[0] = "MIDDLE";
  48.     $sely322[1] = "TOP";
  49.     $sely322[2] = "BOTTOM";
  50.  
  51.  
  52.     $sely33 = "マスの幅を指定してください(ピクセル値もしくは%値)";
  53.     $sely34 = "マスの高さを指定してください(ピクセル値もしくは%値)";
  54.     $sely36 = "幅を何倍にするかを指定してください。(整数倍のみ)";
  55.     $sely375 = "最小マスを基準にしてこのマスの";
  56.     $sely37 = "高さを何倍にするかを指定してください。(整数倍のみ)";
  57.     $sely38 = "このマスの背景に埋め込む画像を指定してください。";
  58.  
  59.     $sl[0] = input ( $sely375 + $sely36 , "1" );
  60.     $sl[1] = input ( $sely375 + $sely37 , "1" );
  61.  
  62.     message $sely31;
  63.     menuarray $sely311,3;
  64.     #re = result - 1;
  65.     if ( #re < 1 ) $sl[5] = "";
  66.     else $sl[5] = $sely312[#re];
  67.  
  68.     menuarray $sely321,3;
  69.     #re = result - 1;
  70.     if ( #re < 1 ) $sl[6] = "";
  71.     else $sl[6] = $sely322[#re];
  72.  
  73.     $sl[2] = input ( $sely33 );
  74.     $sl[3] = input ( $sely34 );
  75.     writeinistr hidemarudir + "\\htmini.txt" , "Color" , "message" ,"9";
  76.     call color;
  77.     $sl[4] = $$return;
  78.  
  79.     $sl[7] = input ( $sely38 );
  80.     #k = 0;
  81.     while ( #k < 5 ){
  82.         call zenkaku $sl[#k];
  83.         $sl[#k] = $$return;
  84.         #k = #k + 1;
  85.     }
  86.  
  87.     insert "<" + $dh;
  88.     if ( $sl[0] == "1" ) insert "";
  89.     else insert " COLSPAN=\"" + $sl[0] + "\"";
  90.     if ( $sl[1] == "1" ) insert "";
  91.     else insert " ROWSPAN=\"" + $sl[1] + "\"";
  92.     if ( $sl[5] == "" ) insert "";
  93.     else insert " ALIGN=\"" + $sl[5] + "\"";
  94.     if ( $sl[6] == "" ) insert "";
  95.     else insert " VALIGN=\"" + $sl[6] + "\"";
  96.     if ( $sl[2] == "" ) insert "";
  97.     else insert " WIDTH=\"" + $sl[2] + "\"";
  98.     if ( $sl[3] == "" ) insert "";
  99.     else insert " HEIGHT=\"" + $sl[3] + "\"";
  100.     if ( $sl[7] == "" ) insert "";
  101.     else insert " BACKGROUND=\"" + $sl[7] + "\"";
  102.     if ( $sl[4] == "" ) insert "";
  103.     else insert " BGCOLOR=\"" + $sl[4] + "\"";
  104.     insert ">";
  105.     insert $getline + "</" + $dh + ">";
  106.     return;
  107.  
  108. tr:
  109.     call line,"\n";
  110.     title "横1列に関する定義 - こだマクロ";
  111.     $sely31 = "横1列のマス内の文字の左右の表示位置を指定してください。";
  112.     $sely311[0] = "(&Center)中央";
  113.     $sely311[1] = "(&Left)左寄せ";
  114.     $sely311[2] = "(&Right)右寄せ";
  115.     $sely312[0] = "CENTER";
  116.     $sely312[1] = "LEFT";
  117.     $sely312[2] = "RIGHT";
  118.  
  119.     $sely32 = "横1列のマス内の文字の上下の表示位置を指定してください。";
  120.     $sely321[0] = "(&Middle)中央";
  121.     $sely321[1] = "(&Top)上";
  122.     $sely321[2] = "(&Bottom)下";
  123.     $sely322[0] = "MIDDLE";
  124.     $sely322[1] = "TOP";
  125.     $sely322[2] = "BOTTOM";
  126.  
  127.     message $sely31;
  128.     menuarray $sely311,3;
  129.     #re = result - 1;
  130.     if ( #re <= 0 ) $seltate1 = "";
  131.     else $seltate1 = " ALIGN=\"" + $sely312[#re] + "\"";
  132.  
  133.     message $sely32;
  134.     menuarray $sely321,3;
  135.     #re = result - 1;
  136.     if ( #re <= 0 ) $seltate2= "";
  137.     else $seltate2 = " VALIGN=\"" + $sely322[#re] + "\"";
  138.     insert "<TR" + $seltate1 + $seltate2 + ">";
  139.     insert $$return + "</TR>";
  140.     return;
  141.  
  142. caption:
  143.     title "表の名前について - こだマクロ";
  144.     $captname = input ( "表の名前は何ですか?" );
  145.     if ( $captname != "" ) {
  146.         menu "(&Up)表の上に付ける","(&Bottom)表の下に付ける";
  147.         if ( result == 2 ) $captalig = "BOTTOM\">";
  148.         else  $captalig = "UP\">";
  149.         insert "<CAPTION ALIGN=\"" + $captalig + $captname + "</CAPTION>";
  150.     }
  151.     endmacro;
  152.  
  153. table:
  154.     title "表の定義について - こだマクロ";
  155.     $msg132 = "外枠の太さはどのくらいですか?\nピクセル値でお答えください。";
  156.     $msg133 = "表全体の横幅はどのくらいですか?\n画面に対する%値、もしくはピクセル値でピクセル値でお答えください。";
  157.     $msg134 = "表全体の高さはどのくらいですか?\n画面に対する%値、もしくはピクセル値でお答えください。";
  158.     $msg135 = "外枠以外の罫線の太さはどのくらいですか?\nピクセル値でお答えください。";
  159.     $msg136 = "マス内のデータと罫線との間隔はどのくらいですか?\nピクセル値でお答えください。";
  160.  
  161.     $tbbor = input ( $msg132 );
  162.     $tbwid = input ( $msg133 );
  163.     $tbhei = input ( $msg134 );
  164.     $tbspa = input ( $msg135 );
  165.     $tbpad = input ( $msg136 );
  166.     writeinistr hidemarudir + "\\htmini.txt" , "Color" , "message" ,"10";
  167.     call color;
  168.     $tbbdc = $$return;
  169.  
  170.     call line "\n";
  171.     $lines = $$return;
  172.  
  173.     if ( $tbbor != "" ) $tb[0] = " BORDER=\"" + $tbbor + "\"";
  174.     else $tb[0] = $tbbor;
  175.     if ( $tbwid != "" ) $tb[1] = " WIDTH=\"" + $tbwid + "\" ";
  176.     else $tb[1] = $tbwid;
  177.     if ( $tbhei != "" ) $tb[2] = " HEIGHT=\"" + $tbhei + "\" ";
  178.     else $tb[2] = $tbhei;
  179.     if ( $tbspa != "" ) $tb[3] = " CELLSPACING=\"" + $tbspa + "\" ";
  180.     else $tb[3] = $tbspa;
  181.     if ( $tbpad != "" ) $tb[4] = " CELLPADDING=\"" + $tbpad + "\" ";
  182.     else $tb[4] = $tbpad;
  183.     if ( $tbbdc != "" ) $tb[5] = " BORDERCOLOR=\"" + $tbbdc + "\" ";
  184.     else $tb[5] = $tbbdc;
  185.     #k = 0;
  186.  
  187.     while ( #k < 6 ){
  188.         call zenkaku $tb[#k];
  189.         $tb[#k] = $$return + " ";
  190.         #k = #k + 1;
  191.     }
  192.  
  193.     #k = 0;
  194.     insert "<TABLE " + $tb[0] + $tb[1] + $tb[2];
  195.     insert $tb[3] + $tb[4] + $tb[5] + ">";
  196.     insert $lines + "</TABLE>";
  197.     endmacro;
  198.  
  199. line:
  200.     $line = "";
  201.     execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "kodaline.mac";
  202.     #line = getininum ( hidemarudir + "\\htmini.txt" , "Line" , "line" );
  203.     #i = 0;
  204.     while ( #line > #i ){
  205.         $line = $line + getinistr ( hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) ) + $$1;
  206.         writeinistr hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) , 0;
  207.         #i = #i + 1;
  208.     }
  209.     return $line;
  210.  
  211. zenkaku:
  212.     writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" , $$1;
  213.     execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "htmzen.mac";
  214.     $out = getinistr ( hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" );
  215.     writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" ,0;
  216.     return $out;
  217.  
  218. color:
  219.     execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "htmcol.mac";
  220.     $out = getinistr ( hidemarudir + "\\htmini.txt" , "Color" , "get" );
  221.     writeinistr hidemarudir + "\\htmini.txt" , "Color" , "get" ,0;
  222.     return $out;
  223.