Jeans & Development:2010年 07月の記事

JScriptで、InputBoxとMsgBoxを使う。 [プログラミング]

2010年7月19日

一つ前の記事で、「VBScriptのInputBoxは便利」と書いたが、改めてJScriptにはこれ相当の機能が無いことを思い出した。MsgBox相当は、WScript.Echo()である程度の代用が効くが、InputBoxに似た機能は無い。しかし、以前書いたように、ScriptControlを使えばVBScriptの関数をJScriptから呼び出すことができる。

以前書いたコードはInputBoxに特化したもので、しかも汎用性が無かった。汎用性を持たせたのが、次のスクリプト。

var VbsFunction=function(func){
	return function(){
		var args=Array();
		args[0]=func;
		for (var i=0;i<arguments.length;i++) args[i+1]=arguments[i];
		return VbsFunction.run.apply(null,args);
	};
}
VbsFunction.run=function(){
	var script="VbsFunction.sc.run('func"+(arguments.length-1)+"'";
	for (var i=0;i<arguments.length;i++) script+=",arguments["+i+"]";
	return eval(script+");");
}
VbsFunction.sc=WScript.CreateObject("MSScriptControl.ScriptControl");
VbsFunction.sc.language="vbscript";
for (var i=0;i<10;i++) {
	var script=" function func"+i+"(p0";
	for (var j=1;j<=i;j++) script+=",p"+j;
	script+=")\r\n  func"+i+'=eval(p0+"(';
	for (var j=1;j<=i;j++) {
		if (1<j) script+=",";
		script+="p"+j;
	}
	VbsFunction.sc.addcode(script+")\")\r\n end function\r\n");
}

var InputBox=VbsFunction("InputBox");
var MsgBox=VbsFunction("MsgBox");
(10/07/20 改定)
この20行ほどのコードで定義されたVbsFunction()を使えば、VBScriptのすべての関数を、JScriptから利用することができる。利用方法は、最後の2行を参照。InputBoxとMsgBoxの2つが使えるように、記述してある。

DNAの相補鎖を求めるスクリプト [General]

2010年7月15日

ちょっと、仕事用に。分子生物学用のツール。合成DNAを設計する時などで相補鎖の配列を求めたいとき、Clone Managerなどのツールを起動しなくても、手軽に求められるようなVBScriptを作成した。

option explicit
dim sequence,temp,i
sequence=""
do
  temp=inputbox("DNA sequence (5' -> 3')?","Convert to complementary strand.",sequence)
  sequence=""
  for i=len(temp) to 1 step -1
    select case mid(temp,i,1)
    case "G"
      sequence=sequence & "C"
    case "g"
      sequence=sequence & "c"
    case "A"
      sequence=sequence & "T"
    case "a"
      sequence=sequence & "t"
    case "T"
      sequence=sequence & "A"
    case "t"
      sequence=sequence & "a"
    case "C"
      sequence=sequence & "G"
    case "c"
      sequence=sequence & "g"
    end select
  next
loop until sequence=""

VBSのInputBoxは、結構便利。

タコ占い [General]

2010年7月11日

ドイツの水族館で飼われているタコのPaulが、2010年サッカーW杯での勝敗を占って、すべて的中させたことは多くの方々がご存知の通り。

8回占って、すべて当てた。でたらめな予想ですべて当てるのは、2の8乗で256分の1の確率である。これが偶然なのか、そこに何か理由があるのか考えてみるのは面白い。

PHPのソースを色分けするスクリプト [プログラミング]

2010年7月11日

jp_SearchJeansTagsで使った、PHPコードを色分けする部分のコードは、次の通り。他でも使えそうなので、メモをかねてここにアップしておくことにする。

jp_AddButtons [Jeans]

2010年7月11日

記事編集時のボタンを追加するプラグイン、jp_AddButtonsを作成。

2010-07-11-jp_AddButtons.png

Jeans CMS ver 0.9.0を公開 [Jeans]

2010年7月4日

ver 0.8.9の公開後、微調整を行って0.9.0とし、公開しました。Sourceforgeのページからダウンロードできます。
http://sourceforge.jp/projects/jeanscms/releases/
管理画面のスタイルシートなどを、少し変更しています。また、管理ページ用の、HTMLでできたヘルプファイルが表示されていなかった不具合を、修正しました。skins/admin/help.htmlを編集するだけで、必要な箇所に「?」のアイコンが出ます。これをクリックすると使い方などが別画面で表示されます(Nucleusと同じ)。

英語を公用語にした(する)企業へのエール [General]

2010年7月1日

日産・楽天・ユニクロなどの企業が、英語を社内公用語にしようとしている。こういったやり方は、今後、ある程度広がりを見せるものと思う。これに関するブログ記事で気が付いた物は以下の通り。

英語公用語化について (内田樹の研究室)
三木谷さんってここまで頭わるかったっけ?(楽天が社内公用語を英語化の件)
英語公用語化について一言/A few words on the language in your office

上記のリンク先ですでに述べられていることを繰り返しても仕方が無いので、ここには私の経験から来る意見を書いておきたい。