Macro/投稿/75
をテンプレートにして作成
Land.to
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* 文字数・バイト数カウント [#d9de356f]
-ページ: [[Macro/投稿]]
-作者: [[ひよこ枕]]
-カテゴリー: js
-投稿日: 2006-01-08 (日) 21:21:22
** メッセージ [#cbee9934]
#code(javascript){{
// Count.js ひよこ枕
var CR = 0xd;
var LF = 0xa;
var oShell = new ActiveXObject("WScript.Shell");
var str,msg;
var c,prec=0;
var i;
var iSize = 0;
var i1Byte = 0;
var i2Byte = 0;
var iCRLF = 0;
var iCR = 0;
var iLF = 0;
str = Editor.GetSelectedString(0);
//選択文字のサイズ(半角1、全角2でカウント)、半角文字数...
for(i = 0; i < str.length; ++i) {
c = str.charCodeAt(i);
//半角文字にあたるコードの場合、1バイトとしてカウ...
if ( (c >= 0x0 && c <= 0x7d) || (c == 0xf8f0) || ...
//1Byte文字
iSize += 1;
//改行コード解析
if (c == CR) {
iCR += 1;
} else if (c == LF) {
//前の文字がCRだったら
if (prec == CR) {
iCR -= 1; //CR数を...
iCRLF += 1; //CRLF...
} else {
iLF += 1;
}
} else {
i1Byte += 1;
}
} else {
//2Byte文字
iSize += 2;
i2Byte += 1;
}
prec = c;//CRLF検査用に保存
//oShell.Popup("第" + i + "文字:" + c , 0 , "マ...
}
//出力文字列作成
msg = "";
msg += "サイズ :" + iSize + "バイト\n";
msg += "半角文字:" + i1Byte + "文字\n" ;
msg += "全角文字:" + i2Byte + "文字\n" ;
//改行数は0の場合出さないようにしておく
if (iCR > 0) msg += "CR改行 :" + iCR + "文字\n" ;
if (iLF > 0) msg += "LF改行 :" + iLF + "文字\n" ;
if (iCRLF > 0) msg += "CRLF改行:" + iCRLF + "文字" ;
oShell.Popup(msg,0,"文字数カウント結果",0);
}}
----
- (^-^ (^Q^ (..; (^_- (^^; (T-T (^^; &heart; -- ...
#comment
終了行:
* 文字数・バイト数カウント [#d9de356f]
-ページ: [[Macro/投稿]]
-作者: [[ひよこ枕]]
-カテゴリー: js
-投稿日: 2006-01-08 (日) 21:21:22
** メッセージ [#cbee9934]
#code(javascript){{
// Count.js ひよこ枕
var CR = 0xd;
var LF = 0xa;
var oShell = new ActiveXObject("WScript.Shell");
var str,msg;
var c,prec=0;
var i;
var iSize = 0;
var i1Byte = 0;
var i2Byte = 0;
var iCRLF = 0;
var iCR = 0;
var iLF = 0;
str = Editor.GetSelectedString(0);
//選択文字のサイズ(半角1、全角2でカウント)、半角文字数...
for(i = 0; i < str.length; ++i) {
c = str.charCodeAt(i);
//半角文字にあたるコードの場合、1バイトとしてカウ...
if ( (c >= 0x0 && c <= 0x7d) || (c == 0xf8f0) || ...
//1Byte文字
iSize += 1;
//改行コード解析
if (c == CR) {
iCR += 1;
} else if (c == LF) {
//前の文字がCRだったら
if (prec == CR) {
iCR -= 1; //CR数を...
iCRLF += 1; //CRLF...
} else {
iLF += 1;
}
} else {
i1Byte += 1;
}
} else {
//2Byte文字
iSize += 2;
i2Byte += 1;
}
prec = c;//CRLF検査用に保存
//oShell.Popup("第" + i + "文字:" + c , 0 , "マ...
}
//出力文字列作成
msg = "";
msg += "サイズ :" + iSize + "バイト\n";
msg += "半角文字:" + i1Byte + "文字\n" ;
msg += "全角文字:" + i2Byte + "文字\n" ;
//改行数は0の場合出さないようにしておく
if (iCR > 0) msg += "CR改行 :" + iCR + "文字\n" ;
if (iLF > 0) msg += "LF改行 :" + iLF + "文字\n" ;
if (iCRLF > 0) msg += "CRLF改行:" + iCRLF + "文字" ;
oShell.Popup(msg,0,"文字数カウント結果",0);
}}
----
- (^-^ (^Q^ (..; (^_- (^^; (T-T (^^; &heart; -- ...
#comment
ページ名: