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 >
Wrap
Text File
|
1997-01-30
|
8KB
|
290 lines
//こだマクロ(HTML作成)
//htmform.mac
//このマクロは「秀丸エディタ」用のマクロです。
//97013014
form:
title "フォームについて - こだマクロ";
$form11[0] = "(<&Select(input)>)選ぶ";
$form11[1] = "(<&Input>)送る、取り消しボタン";
$form11[2] = "(<&Textarea(input)>)テキスト入力 ";
$form11[3] = "(<&Form>)フォームの宣言";
menuarray $form11,4;
if ( result == 1 ) goto select;
else if ( result == 2 ) goto buttun;
else if ( result == 3 ) goto textinput;
else if ( result == 4 ) goto formdef;
endmacro;
formdef:
call line;
title "フォームについて - こだマクロ";
$fdmes1 = "フォームで入力されたデータの送り先を指定してください。";
$fdmes2 = "データの送受信方法を指定してください。";
$fdmes31[0] = "(&Post)標準入力から読む。";
$fdmes31[1] = "(&Get)データを環境関数に入れて送る。";
$fdmes32[1] = "POST";
$fdmes32[2] = "GET";
$act = input ( $fdmes1 );
message $fdmes2;
menuarray $fdmes31,2;
#re = result;
insert "<FORM ACTION=\"" + $act + "\" METHOD=\"";
insert $fdmes32[#re] + "\">" + $$return + "</FORM>";
endmacro;
textinput:
title "テキストエリアについて - こだマクロ";
$times1 = "このボックスに名前を付けてください。";
$name = input ( $times1 );
$times2 = "テキストボックスの「縦(↓)」の文字数を入力してください。";
$times3 = "テキストボックスの「横(→)」の文字数を入力してください。";
$tate = input ( $times2 );
call zenkaku $tate;
$tate = $$return;
$yoko = input ( $times3 );
call zenkaku $yoko;
$yoko = $$return;
question "文章を取り込んで、初期画面に入れますか?";
if ( result == yes ) {
call line;
$mes = $$return;
while ( strstr ( $mes , "\n" ) != -1 ) {
#letter = strlen ( $mes );
#pt = strstr ( $mes, "\n" );
$mes = leftstr ( $mes , #pt ) + rightstr ( $mes, #letter - #pt - 1 );
}
}
insert "<TEXTAREA NAME=\"" + $name + "\" ROWS=\"";
insert $tate + "\" COLS=\"" + $yoko + "\">";
insert $mes;
insert "</TEXTAREA>" + "\n";
endmacro;
buttun:
title "ボタンについて - こだマクロ";
$butmes1[0] = "(&Submit)「送る」ボタン";
$butmes1[1] = "(&Reset)「取り消し」ボタン";
$butmes2[1] = " 送る ";
$butmes2[2] = " 取り消し ";
$butmes3[1] = "submit";
$butmes3[2] = "reset";
menuarray $butmes1,2;
#re = result;
insert "<input type=\"" + $butmes3[#re] + "\" value=\"";
insert $butmes2[#re] + "\">" + "\n";
endmacro;
select:
call cap2;
title "ボックスの定義 - こだマクロ";
$forsel1[0] = "(&Box)選択ボックス";
$forsel1[1] = "(&Check)チェックボックス";
$forsel1[2] = "(&Radio)ラジオボタンボックス";
$forsel21 = "この選択ボックスに名前をつけてください。";
$boxname = input ( $forsel21 );
menuarray $forsel1,3;
#re1 = result;
if ( #re1 == 1 ) {
$forsel31 = "選択肢の数を指定してください。";
$sentakusi = input ( $forsel31 );
call zenkaku $sentakusi;
$sentakusi = $$return;
#sentakusi = val ( $sentakusi );
question "複数選択可能にしますか?";
if ( result == 1 ) {
$chofuku = " MULTIPLE>";
} else {
$chofuku = ">";
}
insert "<SELECT NAME=\"" + $boxname + "\"";
insert " SIZE=\"" + $sentakusi + "\"";
insert $chofuku + "\n";
#i = 1;
while ( #sentakusi + 1 > #i ) {
$i = str ( #i );
$forsel32 = "第 " + $i + " 番目の選択肢を選択してください。";
message $forsel32;
call menu;
$forsel33 = "今選んだ " + $$return + " を「選択済」にしなくいいですか?";
$forsel34 = "(「選択済」にしない =「はい」)";
question $forsel33 + $forsel34;
if ( result == 0 ) {
$check = " CHECKED>";
} else {
$check = ">";
}
insert "<OPTION" + $check + $$return + "\n";
#i = #i + 1;
}
insert "</SELECT>" + "\n";
} else if ( #re1 == 2 ) {
selectloop:
$forsel41 = "送り返されるときの値を入力してください。";
message $forsel41;
call menu;
$value = $$return;
$forsel42 = "テキストボックスの大きさを指定してください。";
$size = input ( $forsel42 );
if ( $size != "" ) $size = " SIZE=\"" + $size + "\"";
$forsel43 = "テキストボックス入力できる文字の最大値を指定してください。";
$maxsize = input ( $forsel43 );
call zenkaku $maxsize;
$mazsize = $$return;
if ( $maxsize != "" ) $maxsize = " MAXLENGTH=\"" + $maxsize + "\"";
$forsel33 = "今選んだ " + $$return + " を「選択済」にしなくいいですか?";
$forsel34 = "(「選択済」にしない =「はい」)";
question $forsel33 + $forsel34;
if ( result == 0 ){
$check = " CHECKED>";
} else {
$check = ">";
}
insert "<input type=\"checkbox\" name=\"";
insert $boxname + "\" value=\"" + $value + "\"";
insert $size + $maxsize + $check + "<BR>" + "\n";
question "選択肢をまだ指定しますか?";
if ( result == 1 ) {
$forsel21 = "この選択ボックスに名前をつけてください。";
$boxname = input ( $forsel21 );
goto selectloop;
} else {
endmacro;
}
} else if ( #re1 == 3 ) {
radioloop:
$radio1 = "送り返されるときの値をいれてください。";
message $radio1;
call menu;
$value = $$return;
question "「選択済にしない」でいいですか?";
if ( result == 0 ) {
$checked = " CHECKED>";
} else {
$checked = ">";
}
$radio2 = "ボタンにつける名前を入れてください。";
$mes = input ( $radio2 );
insert "<input type=\"radio\" name=\"";
insert $boxname + "\" value=\"" + $value;
insert "\"" + $checked + $mes;
question "まだ選択肢を増やしますか?";
if ( result == 1 ) {
insert "<BR>" + "\n";
goto radioloop;
} else {
insert "<P>";
}
} else endmacro;
endmacro;
cap2:
//画面のn行を取り込んで、capという配列に保存。(改行なし)
//menuと組で使う。
$mcap1 = "何行分のデータを取り込みますか?";
$mcap2 = "差し込むデータを入れてください。";
$qcap = input ( $mcap1 );
#qcap = val ( $qcap );
if ( #qcap < 0 && #qcap > 999 ) {
message "1~999を数値で入力してください。";
goto cap;
}
up #qcap;
#i = 0;
golinetop;
beginsel;
down #qcap;
cut;
beginclipboardread;
while ( #qcap > #i ){
$cap[#i] = getclipboard;
#letter = strlen ( $cap[#i] );
$cap[#i] = leftstr ( $cap[#i] , #letter - 1);
#i = #i + 1;
}
$cap[#qcap] = "(任意指定)";
return;
menu:
//capで保存している配列をメニューにする。
//1度使ったものは最後にいれておく。
//$selectで選んだ文字列を送る。
menuarray $cap, #qcap + 1;
#re = result - 1;
if ( #re == -1 ) #re = #qcap;
if ( $cap[#re] == "(任意指定)" ) {
$select = input ( $mcap2 );
#ch = 1;
}else {
$select = $cap[#re];
#ch = 0;
}
#k = #re;
while ( #k <= #qcap ){
#k = #k + 1;
$cap[#k - 1] = $cap[#k];
}
if ( #ch == 1 ) $select2 = "(任意指定)";
else $select2 = $select;
$cap[#qcap] = $select2;
return $select;
line:
execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "kodaline.mac";
#line = getininum ( hidemarudir + "\\htmini.txt" , "Line" , "line" );
#i = 0;
while ( #line > #i ){
$line = $line + getinistr ( hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) ) + "\n";
writeinistr hidemarudir + "\\htmini.txt" , "Line" , str ( #i ) , 0;
#i = #i + 1;
}
$line = leftstr ( $line , strlen ( $line ) - 1 );
return $line;
zenkaku:
writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" , $$1;
execmacro getinistr ( hidemarudir + "\\htmini.txt" , "Topmenu" , "macropath" ) + "htmzen.mac";
$out = getinistr ( hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" );
writeinistr hidemarudir + "\\htmini.txt" , "Zenkaku" , "line" ,0;
return $out;