- XMLHttpRequestを生で書く時 (2012-05-16) このエントリーを含むブックマーク

昨今、XMLHttpRequestを利用して、Ajaxを実現する場合、jQueryなどライブラリを使うことが多いですが、諸処の事情により、生で書く必要がある場合、以下のように書くと良いでしょうか。とりあえずメモ。

// XMLHttpRequestを発行する
function http_get(url, onSuccess, onError) {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url);
  xhr.onreadystatechange = function (r) {
    if (xhr.readyState == 4) {
      if (xhr.status == 200 || xhr.status == 201) {
        onSuccess(xhr.responseText, xhr);
      } else {
        onError(xhr);
      }
    }
  };
  xhr.send(null);
}

- WSHでFileオブジェクト (2012-05-14) このエントリーを含むブックマーク

WSHのFileSystemObjectを使う時に、Fileオブジェクトのプロパティにどんなものがあるのか忘れてしまうので、ここにメモしておきます。

基本的に、以下のようにして、Fileオブジェクトを取得します。(JScriptの方法)

// FileSystemObjectを生成
var fso = new ActiveXObject("Scripting.FileSystemObject");
// Fileオブジェクトを取得
var fobj = fso.GetFile("c:\\test\\aaa.txt");
// オブジェクトを利用する
WScript.Echo(fobj.Size); // ファイルサイズをダイアログに表示

以下、プロパティとメソッドの概要です。

プロパティやメソッド説明
Attributesファイル属性
DateCreatedファイルが作成された日時
DateLastAccessedファイルの最終アクセス日時(ファイルシステムに依存)
DateLastModifiedファイルの最後更新日時
Driveドライブ名
Nameファイル名
ParentFolder親フォルダ
Pathファイルのパス名
ShortNameファイルの8.3形式の名前
ShortPathファイルの8.3形式のパス
Sizeファイルサイズ
Typeファイルの種類
Copy(dest[,overwrite])ファイルをコピーする
Delete()ファイルを削除する
Move(dest)ファイルを移動する
OpenAsTextStream()テキストファイルとして開く

以下、参考)

- JScriptでZIPファイルの作成 (2012-04-26) このエントリーを含むブックマーク

WSH/JScriptでZIPファイルを作成する方法を紹介。仕組みとしては、Windowsのエクスプローラーの力を利用します。まず、空のZIPファイルを作っておいて、その中にファイルをコピーするという要領です。

function toZip(zipfile, files) {
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var shell = new ActiveXObject("Shell.Application");
  // ZIPファイルの箱を作る
  var targetZip = fso.CreateTextFile(zipfile, true);
  targetZip.Write("PK" + String.fromCharCode(
                 5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));
  targetZip.Close();
  // ファイルを追加する
  var zipAsFolder = shell.NameSpace(
                 fso.GetAbsolutePathName(zipfile));
  for (var i in files) {
    var file = files[i];
    // ZIPファイルに追加
    zipAsFolder.CopyHere(fso.GetAbsolutePathName(file));
    // 追加作業待ち
    while (true) {
        WScript.Sleep(100);
        try {
            fso.OpenTextFile(zipfile, 8, false).Close();
            break;
        }
        catch (e) { /* writing */ }
    }
  }
}

ただし、圧縮対象内にサブフォルダなどがあり、同名ファイルがあると上書きしてしまうので注意。

【参考にしたページ】

- JScriptで再帰ファイル一覧の取得 (2012-04-26) このエントリーを含むブックマーク

WSH/JScriptを使って再帰的にファイル一覧を列挙したい場面があるので、ファイル一覧を文字列の配列として取得する関数を作ってみました。

// 指定パス以下のファイル全部を配列形式で取得する
function enumFiles(target) {
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  if (fso.FileExists(target)) {
    return [target];
  }
  if (!fso.FolderExists(target)) return [];
  var result = [];
  // 指定パスのファイル一覧を得る
  var dir = fso.GetFolder(target);
  // ファイルを一つずつ処理する
  var e = new Enumerator(dir.Files);
  for ( ; !e.atEnd(); e.moveNext()) {
    var file = e.item();
    result.push(file.Path);
  }
  // 再帰的にディレクトリを処理する
  e = new Enumerator(dir.SubFolders);
  for ( ; !e.atEnd(); e.moveNext()) {
    var r = enumFiles(e.item());
    result = result.concat(r);
  }
  return result;
}

- 2012/04/24/割れたGalaxySのディスプレイ (2012-04-29) このエントリーを含むブックマーク

メインで使っているAndroid2.3搭載のGalaxySのディスプレイが割れました。机から落としただけです。過去に何度も落としているのですが、今回は当たり所が悪かったようです。とは言え、ディスプレイの右上が三割程度ひび割れただけで、問題なく使えています。これを機に新しい端末に乗り換えて、この子はテスト専用の端末にしようかとも計画中です。

ちなみに修理するといくらかかるか聞いてみたところ、日本だと15,800円程度、マレーシアだと、450RM(12,600円程度)ということです。一応使えるので、今のところ、様子見です。

無残にも割れたGalaxy S
無残にも割れたGalaxy S

4/29追記 †

実は、同時期に妻のiPhone4も割れたんです。ただ、iPhoneは安く直るので、すぐに修理に行きました。こちらは、もう直っています。

我が家の無残なスマートフォン
我が家の無残なスマートフォン
コメントの一覧
topozo写真を見た感じカバーガラスが割れたようですね。同型(GalaxyS)のホワイトなら余ってるのでいりますでしょうか? (2012-04-25 17:39:18)
クジラ飛行机おぉ、ナイスな提言ありがとうございます!感謝&感謝です。 (2012-04-25 23:34:03)

作成:1970-01-01 09:00:00/更新:2008-02-04 14:16:51
くじらぶろぐD by kujirahand RSS
konawiki 0.31