home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 November / VPR9711A.ISO / VPR_DATA / Special / Koda202 / koda202.lzh / kodama / htmform.mac < prev    next >
Text File  |  1997-01-30  |  8KB  |  290 lines

  1. //こだマクロ(HTML作成)
  2. //htmform.mac
  3. //このマクロは「秀丸エディタ」用のマクロです。
  4. //97013014
  5.  
  6. form:
  7.     title "フォームについて - こだマクロ";
  8.     $form11[0] = "(<&Select(input)>)選ぶ";
  9.     $form11[1] = "(<&Input>)送る、取り消しボタン";
  10.     $form11[2] = "(<&Textarea(input)>)テキスト入力 ";
  11.     $form11[3] = "(<&Form>)フォームの宣言";
  12.     menuarray $form11,4;
  13.     if ( result == 1 ) goto select;
  14.     else if ( result == 2 ) goto buttun;
  15.     else if ( result == 3 ) goto textinput;
  16.     else if ( result == 4 ) goto formdef;
  17.  
  18.     endmacro;
  19.  
  20. formdef:
  21.     call line;
  22.     title "フォームについて - こだマクロ";
  23.     $fdmes1 = "フォームで入力されたデータの送り先を指定してください。";
  24.     $fdmes2 = "データの送受信方法を指定してください。";
  25.     $fdmes31[0] = "(&Post)標準入力から読む。";
  26.     $fdmes31[1] = "(&Get)データを環境関数に入れて送る。";
  27.     $fdmes32[1] = "POST";
  28.     $fdmes32[2] = "GET";
  29.  
  30.     $act = input ( $fdmes1 );
  31.     message $fdmes2;
  32.     menuarray $fdmes31,2;
  33.     #re = result;
  34.     insert "<FORM ACTION=\"" + $act + "\" METHOD=\"";
  35.     insert $fdmes32[#re] + "\">" + $$return + "</FORM>";
  36.  
  37.     endmacro;
  38.  
  39.  
  40. textinput:
  41.     title "テキストエリアについて - こだマクロ";
  42.  
  43.     $times1 = "このボックスに名前を付けてください。";
  44.     $name = input ( $times1 );
  45.     $times2 = "テキストボックスの「縦(↓)」の文字数を入力してください。";
  46.     $times3 = "テキストボックスの「横(→)」の文字数を入力してください。";
  47.     $tate = input ( $times2 );
  48.     call zenkaku $tate;
  49.     $tate = $$return;
  50.     $yoko = input ( $times3 );
  51.     call zenkaku $yoko;
  52.     $yoko = $$return;
  53.     question "文章を取り込んで、初期画面に入れますか?";
  54.     if ( result == yes ) {
  55.         call line;
  56.         $mes = $$return;
  57.         while ( strstr ( $mes , "\n" ) != -1 ) {
  58.             #letter = strlen ( $mes );
  59.             #pt = strstr ( $mes, "\n" );
  60.             $mes = leftstr ( $mes , #pt ) + rightstr ( $mes, #letter - #pt - 1 );
  61.         }
  62.     }
  63.     insert "<TEXTAREA NAME=\"" + $name + "\" ROWS=\"";
  64.     insert $tate + "\" COLS=\"" + $yoko + "\">";
  65.     insert $mes;
  66.     insert "</TEXTAREA>" + "\n";
  67.  
  68.     endmacro;
  69.  
  70. buttun:
  71.     title "ボタンについて - こだマクロ";
  72.     $butmes1[0] = "(&Submit)「送る」ボタン";
  73.     $butmes1[1] = "(&Reset)「取り消し」ボタン";
  74.     $butmes2[1] = "           送る            ";
  75.     $butmes2[2] = "         取り消し          ";
  76.     $butmes3[1] = "submit";
  77.     $butmes3[2] = "reset";
  78.  
  79.     menuarray $butmes1,2;
  80.     #re = result;
  81.  
  82.     insert "<input type=\"" + $butmes3[#re] + "\" value=\"";
  83.     insert $butmes2[#re] + "\">" + "\n";
  84.  
  85.     endmacro;
  86.  
  87.  
  88. select:
  89.     call cap2;
  90.     title "ボックスの定義 - こだマクロ";
  91.     $forsel1[0] = "(&Box)選択ボックス";
  92.     $forsel1[1] = "(&Check)チェックボックス";
  93.     $forsel1[2] = "(&Radio)ラジオボタンボックス";
  94.  
  95.     $forsel21 = "この選択ボックスに名前をつけてください。";
  96.     $boxname = input ( $forsel21 );
  97.  
  98.     menuarray $forsel1,3;
  99.     #re1 = result;
  100.     if ( #re1 == 1 ) {
  101.         $forsel31 = "選択肢の数を指定してください。";
  102.         $sentakusi = input ( $forsel31 );
  103.         call zenkaku $sentakusi;
  104.         $sentakusi = $$return;
  105.         #sentakusi = val ( $sentakusi );
  106.         question "複数選択可能にしますか?";
  107.         if ( result == 1 ) {
  108.             $chofuku = " MULTIPLE>";
  109.         } else {
  110.             $chofuku = ">";
  111.         }
  112.  
  113.         insert "<SELECT NAME=\"" + $boxname + "\"";
  114.         insert " SIZE=\"" + $sentakusi + "\"";
  115.         insert $chofuku + "\n";
  116.         #i = 1;
  117.         while ( #sentakusi + 1 > #i ) {
  118.             $i = str ( #i );
  119.             $forsel32 = "第 " + $i + " 番目の選択肢を選択してください。";
  120.             message $forsel32;
  121.             call menu;
  122.             $forsel33 = "今選んだ " + $$return + " を「選択済」にしなくいいですか?";
  123.             $forsel34 = "(「選択済」にしない =「はい」)";
  124.             question $forsel33 + $forsel34;
  125.             if ( result == 0 ) {
  126.                 $check = " CHECKED>";
  127.             } else {
  128.                 $check = ">";
  129.             }
  130.             insert "<OPTION" + $check + $$return + "\n";
  131.             #i = #i + 1;
  132.         }
  133.         insert "</SELECT>" + "\n";
  134.  
  135.     } else if ( #re1 == 2 ) {
  136.  
  137. selectloop:
  138.  
  139.         $forsel41 = "送り返されるときの値を入力してください。";
  140.         message $forsel41;
  141.         call menu;
  142.         $value = $$return;
  143.         $forsel42 = "テキストボックスの大きさを指定してください。";
  144.         $size = input ( $forsel42 );
  145.         if ( $size != "" ) $size = " SIZE=\"" + $size + "\"";
  146.         $forsel43 = "テキストボックス入力できる文字の最大値を指定してください。";
  147.         $maxsize = input ( $forsel43 );
  148.         call zenkaku $maxsize;
  149.         $mazsize = $$return;
  150.         if ( $maxsize != "" ) $maxsize = " MAXLENGTH=\"" + $maxsize + "\"";
  151.         $forsel33 = "今選んだ " + $$return + " を「選択済」にしなくいいですか?";
  152.         $forsel34 = "(「選択済」にしない =「はい」)";
  153.         question $forsel33 + $forsel34;
  154.  
  155.         if ( result == 0 ){
  156.             $check = " CHECKED>";
  157.         } else {
  158.             $check = ">";
  159.         }
  160.  
  161.         insert "<input type=\"checkbox\" name=\"";
  162.         insert $boxname + "\" value=\"" + $value + "\"";
  163.         insert $size + $maxsize + $check + "<BR>" + "\n";
  164.  
  165.         question "選択肢をまだ指定しますか?";
  166.         if ( result == 1 ) {
  167.             $forsel21 = "この選択ボックスに名前をつけてください。";
  168.             $boxname = input ( $forsel21 );
  169.             goto selectloop;
  170.         } else {
  171.             endmacro;
  172.         }
  173.  
  174.     } else if ( #re1 == 3 ) {
  175.  
  176. radioloop:
  177.  
  178.         $radio1 = "送り返されるときの値をいれてください。";
  179.         message $radio1;
  180.         call menu;
  181.         $value = $$return;
  182.         question "「選択済にしない」でいいですか?";
  183.         if ( result == 0 ) {
  184.             $checked = " CHECKED>";
  185.         } else {
  186.             $checked = ">";
  187.         }
  188.  
  189.         $radio2 = "ボタンにつける名前を入れてください。";
  190.         $mes = input ( $radio2 );
  191.         insert "<input type=\"radio\" name=\"";
  192.         insert $boxname + "\" value=\"" + $value;
  193.         insert "\"" + $checked + $mes;
  194.         question "まだ選択肢を増やしますか?";
  195.         if ( result == 1 ) {
  196.             insert "<BR>" + "\n";
  197.             goto radioloop;
  198.         } else {
  199.             insert "<P>";
  200.         }
  201.  
  202.     } else endmacro;
  203.  
  204.     endmacro;
  205.  
  206. cap2:
  207.  
  208. //画面のn行を取り込んで、capという配列に保存。(改行なし)
  209. //menuと組で使う。
  210.  
  211.     $mcap1 = "何行分のデータを取り込みますか?";
  212.     $mcap2 = "差し込むデータを入れてください。";
  213.  
  214.     $qcap = input ( $mcap1 );
  215.     #qcap = val ( $qcap );
  216.  
  217.     if ( #qcap < 0 && #qcap > 999 ) {
  218.         message "1~999を数値で入力してください。";
  219.         goto cap;
  220.     }
  221.  
  222.     up #qcap;
  223.     #i = 0;
  224.     golinetop;
  225.     beginsel;
  226.     down #qcap;
  227.     cut;
  228.  
  229.     beginclipboardread;
  230.     while ( #qcap > #i ){
  231.         $cap[#i] = getclipboard;
  232.         #letter = strlen ( $cap[#i] );
  233.         $cap[#i] = leftstr ( $cap[#i] , #letter - 1);
  234.         #i = #i + 1;
  235.     }
  236.  
  237.     $cap[#qcap] = "(任意指定)";
  238.  
  239.     return;
  240.  
  241. menu:
  242. //capで保存している配列をメニューにする。
  243. //1度使ったものは最後にいれておく。
  244. //$selectで選んだ文字列を送る。
  245.  
  246.     menuarray $cap, #qcap + 1;
  247.     #re = result - 1;
  248.  
  249.     if ( #re == -1 ) #re = #qcap;
  250.  
  251.     if ( $cap[#re] == "(任意指定)" ) {
  252.         $select = input ( $mcap2 );
  253.         #ch = 1;
  254.     }else {
  255.         $select = $cap[#re];
  256.         #ch = 0;
  257.     }
  258.  
  259.     #k = #re;
  260.     while ( #k <= #qcap ){
  261.         #k = #k + 1;
  262.         $cap[#k - 1] = $cap[#k];
  263.     }
  264.  
  265.     if ( #ch == 1 ) $select2 = "(任意指定)";
  266.     else $select2 = $select;
  267.  
  268.     $cap[#qcap] = $select2;
  269.  
  270.     return $select;
  271.  
  272. line:
  273.     execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "kodaline.mac";
  274.     #line = getininum ( hidemarudir + "\\htmini.txt" , "Line" , "line" );
  275.     #i = 0;
  276.     while ( #line > #i ){
  277.         $line = $line + getinistr ( hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) ) + "\n";
  278.         writeinistr hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) , 0;
  279.         #i = #i + 1;
  280.     }
  281.     $line = leftstr ( $line , strlen ( $line ) - 1 );
  282.     return $line;
  283.  
  284. zenkaku:
  285.     writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" , $$1;
  286.     execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "htmzen.mac";
  287.     $out = getinistr ( hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" );
  288.     writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" ,0;
  289.     return $out;
  290.