<!--
function main(flg){
bunsho=document.genko.screen.value;
tate=document.genko.tate.value-0;
yoko=document.genko.yoko.value-0;
if(flg==1){
kekka4="<tt>"+outstr(bunsho, tate)+"</tt>";
document.write(tate+" × "+yoko);
document.write("<br><br>"+kekka4);
}
else{
kekka1=cntmoji(bunsho);
kekka2=cntline(bunsho, tate);
kekka3=cntpage(kekka2, yoko);
rtn="文字数"+kekka1;
rtn=rtn+"\n行数"+kekka2;
rtn=rtn+"\n枚数"+kekka3;
alert(rtn);
}
}
/////////文字数を数える///////////////////////////
//戻り値:文字数
//////////////////////////////////////////////////
function cntmoji(str){
crlf=0;
cnt=0;
str=str.replace(/\r\n/ig,"\n");
len=str.length;
cnt=str.split("\n").length-1;
len=len-cnt;
return len;
}
////////ページ数を数える//////////////////////////
//cntlineを横行数で割る
//戻り値;○枚と△行
//////////////////////////////////////////////////
function cntpage(gyou, yoko){
amari=gyou%yoko;
pagesu=(gyou-amari)/yoko;
mes=pagesu+"枚と"+amari+"行";
return mes;
}
////////行数を数える//////////////////////////////
//outstrの戻り値の改行数を数える
//戻り値:トータル行数
//////////////////////////////////////////////////
function cntline(str, tate){
strtmp=outstr(str, tate);
cnt=strtmp.split("\n").length-1;
return cnt;
}
////////改行した文字列出力////////////////////////
//戻り値:改行した文字列
//////////////////////////////////////////////////
function outstr(str, tate){
thisstr=""; //今調べ中の文字列
cursor=0; //カーソル(thisstrの先頭)
rtnstr=""; //原稿用紙サイズで折り返した文字列
str=str.replace(/\r\n/ig,"\n");
strary=str.split("\n"); //改行ごとに分ける
for(i=0;i<strary.length;i++){
cursor=0;
while(cursor<=strary[i].length){
thisstr=strary[i].substr(cursor, tate);
while(1){
nextstr=strary[i].substr(cursor+tate, 1);
//禁則処理
if(nextstr=="」"
|| nextstr==")"
|| nextstr=="』"
|| nextstr=="》"
|| nextstr=="】"
|| nextstr=="。"
|| nextstr=="、"){
thisstr=thisstr + nextstr;
cursor++;
}else{
break;
}
}
if(thisstr!="" || cursor==0){
rtnstr=rtnstr+thisstr+"<br>\n";
}
cursor=cursor+tate;
}
}
return rtnstr;
}
////////文字数カウンタ切り替え///////////////////////////
function ChangeAry(n){
switch(n){
case 0: document.genko.tate.value=20;
document.genko.yoko.value=20;
break;
case 1: document.genko.tate.value=42;
document.genko.yoko.value=17;
break;
}
}
//-->
|