Techracho

IEでJavaScriptからButtonのtypeを変更できない

このエントリーをはてなブックマーク Share
2010.07.20    Windows, javascript, 馬場   タグ: , , , —    baba   

JavaScriptで動的にエレメントを作成するときは、

var div = document.createElement('div');

のようにやります。

たとえば、ボタンを作ってそのボタンにクリックイベントを追加、などの良くある処理は、jQueryを使って、

var button = $(document.createElement('button'))
.attr('type', 'button').text('ぼたん');
button.click(function() {
    alert('hello');
});
$('#hoge').next(button);

のようにやると思います。typeを設定しているのは、デフォルトだとsubmit扱いになってしまうからです。

しかしこれ、IEだとエラーになります。

type property can’t be changed

buttonのtypeはなぜか読み取り専用プロパティらしい・・・

ということで、ちょっとダサイですが、以下のようにやって解決。

var button = $('<button type="button">ぼたん</button>');

以上、ちょっとした注意点でした。

Excel VBAの開発タブを表示

このエントリーをはてなブックマーク Share
2010.07.13    Windows, 馬場   タグ: , —    baba   

※基本機能です

Excel 2003までは、「ファイル」→「VBAエディタ」といった操作で、VBAのエディタを起動することができました。

Excel 2007では、リボンの「開発」タブから該当機能を起動するのですが、デフォルトでは開発タブがありません。

Excelのオプションで、チェックボックスをONにすることで、表示されるようになりました。

開発タブを表示

開発タブを表示

さて、そろそろ2010製品版も試してみたいですね。
ベータ版はなかなか良かったので、期待。

文字コード技術入門

このエントリーをはてなブックマーク Share
2010.06.16    Windows, 読書関係, 馬場   タグ: , —    baba   

久しぶりに、自分の中でヒットした本があったのでご紹介します。結構有名だと思いますが・・・

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

著者/訳者:矢野 啓介

出版社:技術評論社( 2010-02-18 )

定価:¥ 2,709

Amazon価格:¥ 2,709

単行本(ソフトカバー) ( 400 ページ )

ISBN-10 : 477414164X

ISBN-13 : 9784774141640


ユーザビリティ、セキュリティなどの面で、プログラマには文字コードの知識が必須です。

しかし、最近は高級言語が主流なこともあり、文字のバイト列を意識することすら少なくなっています。「文字化けしたから対応しよう」程度の意識しか無い人も多いのではないでしょうか?

この本では、完全にプログラマー向けで、文字コードの歴史や技術、問題点、解決案などが紹介されています。
社内のプログラマには読ませてみようと思います。
Java の charAt() と codePointAt() の違いが分からないようでは困りますので。

巻末のほうにある、「txtファイルに見せかけたexeファイルの作り方」は面白いですね。
UnicodeのRLO (RIGHT-TO-LEFT-OVERRIDE) を使うことで、txt.exeをexe.txtに見せかけるやりかたです。

ちなみに、この方法を使ったファイルをGmailで送信しようとしたところ、以下のようなエラーが出ました。
見事に崩れていて面白いです。

GMailでのエラーメッセージ

GMailでのエラーメッセージ

PHP: Windowsでrename, unlinkができなくてハマる

このエントリーをはてなブックマーク Share
2010.06.03    PHP, Windows, 伊藤   タグ: , —    tomotaka   

伊藤です。

Linux/Mac上で開発されていたコードをWindows上でXAMPP(Apache, MySQL, PHP)を使って動かそうとしたところ、動かないコードがありました。
それはファイル操作のrenameです。

windowsではファイルオープン中にrenameやunlinkでファイルをリネームしたり、削除したりすることができないようです。

Rubyのメーリングリストでも、話題になっていました。(PHPとは関係ないですが、プラットフォームの問題だと思いますので同じでしょう)
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Windows+%A4%CE+IO

対策としては、きちんとcloseしてからrename, unlinkすればOKでした。

また、Windowsでは、rename(old, new)としたときにnewのパスに既にファイルが存在していると、
エラーになるという報告もありますので、併せて気をつけたいですね。
http://ml.php.gr.jp/pipermail/php-users/2005-October/027828.html

UNIX互換OSばかり使っていると、Windowsでの開発のハマりどころを忘れてしまいそうです^^;

ではでは

Windowsで消せないファイルを削除

このエントリーをはてなブックマーク Share
2010.05.27    Windows, 馬場      baba   

Windowsではファイルが消せないトラブルが良くありますね。

代表的なのは別プロセスが使用している場合ですが、ファイル名が不正になっているのが原因のこともあります。

http://support.microsoft.com/kb/320081/ja

今回は、Macで圧縮したファイルを文字化けせずに展開できるExplzhで解凍したファイルが、削除できなくなりました。

文字コードの関係で、フォルダの最後にスペースが入ってしまったのが原因です。

こうなってしまったらExplorerで削除する方法はないので、コマンドプロンプトで

rd /s "\\?\C:\Users\baba\Desktop\hoge "

のように、ダメなフォルダを指定します。

ファイルの場合は、rd /s の代わりに del を使えばOKです。

新しく作成するスレッドをSTAにする

このエントリーをはてなブックマーク Share
2010.05.19    Windows, 馬場   タグ: , —    baba   

WIndowsのCOMコンポーネントは、STA(シングルスレッドアパートメント)でないとエラーになります。

Windows Forms Applicationを作ると、デフォルトではMain()にSTAThreadが付いているはずです。このため、普段は問題ありません。

static class Program
{
    [STAThread]
    static void Main()
    {
    }
}

しかし、Threadを新規作成して、そのスレッドないでクリップボードやActiveXコントロールを使おうとすると、ThreadStateExceptionが発生します。

Threadオブジェクトのプロパティで設定しておきましょう。

var th= new Thread(new ThreadStart(threadMethod));
th.SetApartmentState(ApartmentState.STA);
th.Start();

Chromeのソースコードをダウンロード

このエントリーをはてなブックマーク Share
2010.05.17    Windows, 馬場   タグ: , , , —    baba   

今更ながら、Google Chromeのソースコードを入手して色々調べています。

ここにダウンロード方法がありますね。
http://dev.chromium.org/developers/how-tos/get-the-code

書いてある内容はシンプルで、SVNで以下をチェックアウトすればOKです。
http://src.chromium.org/svn/trunk/src

Googleプロジェクトなのに、SVNを使っていたりVisualStudioのプロジェクトだったりと、なかなかおもしろいです。

XAMPP Apacheが起動しない

このエントリーをはてなブックマーク Share
2010.05.16    Windows, 馬場   タグ: , —    baba   

普段のようにApacheを起動しようとしたら、うまくいかないことがありました。

エラーを見ると、ポート80が使われている様子。どうせSkypeだろうとおもったら、違いました。

netstat -oan

で、80番を握っているアプリを調べたところ、PID=4のSystemプロセスでした。

ウィルスかと思って止めたら、Windowsが落ちました。本物のSystemですね。

どういうことかと思ったら、ようするにIISが動いていました。

インストールしたつもりは無いのですが、タイミング的に考えると、どうやらVisual Studio 2010をインストールするときに、オプションで有効化されていたみたいです。

IISを無効にしてあげれば、XAMPPが起動します。

コントロールパネル「プログラムと機能」から、Windows機能の有効・無効化を実施

コントロールパネル「プログラムと機能」から、Windows機能の有効・無効化を実施

IISを無効化する

IISを無効化する

Silverlight 4 正規版開発環境

このエントリーをはてなブックマーク Share
2010.04.29    Windows, 馬場      baba   

先日、Visual Studio 2010 と Silverlight 4 の正式版がリリースされました。
Betaのもっさり不安定感は払拭され、かなり良く動くようになっています。

しかし、Visual Studio 2010 は、初期状態では Silverlight 3 までの開発しか対応していません。

Silverlight 4 の開発には、アドオンをインストールする必要があります。

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009

そして、このアドオンは英語版 Visual Studio にしか対応していません。

BizSpark なので、ダウンロードし直せば済みましたが、パッケージ買って今すぐ開発するぜ!という人は、気をつけないといけませんね。

※日本語版をインストール → 英語評価版をインストール → アドオンをインストール してもOKです。
 一度アドオンを入れれば、日本語版でもアドオンが使えるようになっています。謎仕様です。

ScreenOCR

このエントリーをはてなブックマーク Share
2010.04.26    C#, Windows, 馬場   タグ: —    baba   

Visual Studio 2010で遊んでみたくなったので、またちょっとしたものを作ってみました。

画面上で簡易的にOCRを実行するアプリです。

http://www.bpsinc.jp/blog/mini-software/screenocr

実行するのにOffice Document Imagingのインストールが必要で、若干面倒ですが、良かったら試してみて下さい。

古い投稿 »

COPYRIGHT [C] 2009 BEYOND PERSPECTIVE SOLUTIONS LTD. ALL RIGHTS RESERVED.