Weblog

2007.01.15: Enterキーが押されたら次の入力項目へ

フォーム上でEnterキーが押されたときにTabキーが押されたように次の入力項目へ移動させるにはどうしたら良いか。通常はテキストフィールドでEnterを押してしまうと送信されてしまう。ネット上でいろいろ探したけど、MSDNでEnterキーを押された時に無視する方法が載っていたけど、それを次のように改良してみた。KeyCodeをEnter(13)からTab(9)に書き換えてやるというもの。単純だけどIE上ではバッチリ動くので仕事では問題無さそう。
使い方は、フォームのonKeydownイベントにEnter2Tab()を割り当ててあげるだけ。
<script type="text/javascript">
function Enter2Tab() {
  if (event.keyCode == 13) {
    if (window.event.srcElement.type != 'submit' &&
      window.event.srcElement.type != 'textarea') {
      event.keyCode = 9;
    }
  }
}
</script>
<form onKeydown="Enter2Tab();">
<!-- ここに何か入力項目がある -->
</form>



2006.07.24: Rails Migrate で エラー (Windows版)

MySQL のテーブルを Migrate で作成しようとして
rake db:migrate [Enter]
を実行するとエラーとなる。
gem install mysql は、MS-WIN32 を入れたので大丈夫だと思ったのだが例外エラーがでた。
libmysql.dll が無いらしい。

ディスク内を検索してみると複数あった。
xampp を使っているので php や mysql にあった。
どうやら、Pathが通ってないと ruby からは参照できないようなので Path を通す。
エラーが無くなって無事に Migrate が通った。


2005.12.19: ASP.NET でクライアントの Excel を起動する

ASP.NETで社内イントラネット用にWebアプリケーションを構築。MS-SQL ServerのデータをExcelで印刷することになった。その時にJavascriptを使ってクライアント側のExcelを起動してマクロを走らせた。
実行する為には、WEBサーバをIEの《信頼済みサイト》に登録する必要があります。
面倒なCOM系の設定は不要なようだ。
(サーバ:Windows2000、クライアント:WindowsXP Pro SP2)

《コードサンプル》
function xlRun(xlFile, xlMacro, xlCmd, xlPara) {
  var xlApp = new ActiveXObject("Excel.Application");
  xlApp.DisplayAlerts = false;
  xlApp.Visible = true;
  xlApp.Workbooks.Open(xlFile, 0, true);
  xlApp.Run(xlMacro, xlCmd, xlPara);
  xlApp.Quit();
  xlApp = null;
}

《簡単な説明》
フルパスで指定されたExcelファイルをRead-Onlyで開いて、マクロを実行する。
ASP.NET上では、Button1などにonClickイベントを割り当てる。

xlFile

Excelファイルをフルパスで指定する。ネットワーク上の公開フォルダも可。

xlMacro

実行するマクロの名前

xlCmd, xlPara

マクロに渡す引数




2005.11.20: [bugfix] Blogn Plus Module captcha 0.2.2

本家の blogn BBS にて C.J. さんから bug報告を頂きました。
早速、対応したものをアップしておきます。

《bugfix》
・fnmatch関数が無いと怒られる。
環境に依存し易い fnmatch関数の使用を止めて、素直にpreg_match関数を使う。
・管理者の設定画面が白紙になる。
管理者かどうかの変数 $blogn_admin を きちんと global 宣言して対応。
以上の2点になります。

C.J.さん、ありがとうございます。

《おまけ》
・管理者の設定画面でサンプル表示が出来ます。
色の具合を確認しながら設定できるようになりました。

添付ファイル:
captcha022.zip


2005.11.07: OpenSUSE 10.0 入れてみました

OpenSUSE

自宅にサーバを立てようかと思ってインストールしてみたけど、いいですねぇ。ドイツ製だからというわけじゃないんだろうけど、しっかりしているね。エラーメッセージもきちんと日本語化していたのには驚いた。
ただ、やはりまだ情報が少ないのが困りもの。

まだ、工事中だけど、インストールメモを作ってます。


2005.10.31: BlognPlus Module captcha 0.2.1 bugfix

昨日からバタバタとご迷惑おかけします。

[bugfix]
・control.php が管理者権限なしでも動いてしまうのを修正。

アップグレード:
導入済みの人は、captcha.ini 以外を上書きアップして下さい。

添付ファイル:
captcha021.zip


2005.10.31: Captcha 0.20 更新しました

Blogn Plus 用の captcha を更新しました。
Blogn管理画面のモジュール管理から設定を変更できるようにしました。

アップグレード方法:
captchaフォルダを上書きして下さい。

添付ファイル:
captcha020a.zip 167KB
※readme-utf8.txt に追記。


2005.10.30: Captcha モジュール v.0.1.0 [Beta]

まだ、Beta扱いですが Nucleus にある Captchaモジュール NP_Captcha をまねて作成してみました。
コメントスパム対策の効果度は低いかも知れませんが、表示されている画像の中で文字が躍っているのは楽しいものです。デザイン的にも気に入っています。

詳細は、添付ファイル内の readme-utf8.txt をご覧下さい。

デモ: このような画像とテキストボックスが付きます。
Captcha Demo

添付ファイル:
captcha010.zip


2005.05.24: はじめての * Nucleus Plugin *

12種類作ったトップの絵を1日ごとに変えるために数字を出力してくれるプラグインを作りました。う~ん、自己満足。
<?php
class NP_NumberGen extends NucleusPlugin {

  function getName()        { return 'NumberGen'; }
  function getAuthor()      { return 'airwhite'; }
  function getURL()         { return 'http://airwhite.net/'; }
  function getVersion()     { return '0.1'; }
  function getDescription() { return 'Number Generator (Daily, Random)'; }

  function init() {
    list($usec$sec) = explode(' 'microtime());
    srand((float$sec + ((float$usec * 100000));
  }

  function doSkinVar($skinType$kind='Random',$number=1) {
    switch ($kind) {
      case 'Daily':
        echo sprintf("%02d",(date("z") % $number) + 1);
        break;
      case 'Random':
        echo sprintf("%02d",rand(1,$number));
        break;
      default:
        echo "01";
    }
  }

}
?>


2005.05.23: JIS X 5010 QR基本仕様に正誤表

先日、JISより購入した
JIS X 5010(2004): 二次元コードシンボル-QRコード- 基本仕様
ですが、平成17年5月1日付けで3ページ目に正誤表がありました。

自作されたクラスなどにどのように影響があるのかは不明ですが添付しておこうと思います。

JIS X 5010 QR 基本仕様 正誤表

(「著作憲法により無断での複製、転載は禁止されています」の一文はこのページにはありませんでした。)