Pages

2009年11月27日金曜日

JavaScript JQuery JqueryId を利用する際の注意

JQuery では 独自のIDを各オブジェクトに持たせて管理するようにしている。

これがちょっと勘違いしてしまいがちで、


  • foo


  • というものがあった場合に

    $('li') で取得できる。
    これは配列ライクに取得するので、 li == $('li') とはならない。

    これは解りやすいんだけども、これと同じようにもし

    $.data($(this)) という場合には $(this) != this となる。
    雰囲気的には同一なものを参照するには $(this[0]) == this というニュアンスになる。

    以下実際にハマったパターン。。。

    $.data($(this).parent())

    で全く違うIDが来るので何故。。。と思っていたらこうだったw

    $.data($(this).parent()[0]

    これすぐ忘れてしまう。。。

    2009年11月26日木曜日

    今回は下記プラグインを利用しました。

    PHPにはPDTを利用しており PDTのバージョンは2.1 でした。

    入れたプラグイン名は 「Smarty Support for PDT」 です。

    ダウンロードは下記URLより。
    http://code.google.com/p/smartypdt/

    ダウンロードページから
    http://code.google.com/p/smartypdt/downloads/list



    smartypdt-0_9_0.zip をダウンロードして解凍してできたfeaturesとpluginsディレクトリをecilpseディレクトリに保存しました。
     ※ecipseの中には上記2つのディレクトリは既にありますので、確認メッセージが出ると思いますが、ファイルは無いはずです。

    PHPEclipseをやめてPDTにした。。。。

    お友達になろうと頑張ったけどダメだったので大人しくPDTにしました。。。
    スッキリ♪

    ここが嫌だよPHPEclipse ※から始まる行の場合半角スペースの幅がおかしい。。。

    「※」から行が始まる場合何故なのか「※」より前の半角スペースが通常の半角スペースの半分位になる。。。

     何のためかさえも不明である。。。

    現象を確認したのは拡張子.tplのHTMLです。

    ここが嫌だよPHPEclipse 黒背景にできない。。。

    黒背景は結構やってる人が多いと思うだけどな。。。

    目が疲れるので、黒背景モードは必ず用意していてほしい。。。
    以外に用意されてないエディタ多いような。。。 日本だけ?

    ここが嫌だよPHPEclipse ファイル保存時に末尾の半角スペースが消えてほしい

    自分はインデントはタブではなくて半角スペース4つでやってるんですが、EmEditorを利用している時はファイル保存時に行末尾の半角スペースは自動的に削除するという機能があったんですが、PHPEclipseには無い。。。

    凄くスッキリしてよかったのにな。。。

    2009年11月25日水曜日

    PHPEclipse ParseErrorが何故か出る。。。

    ファイル右クリックの「外部PHPパーサーを実行」で出なくなる。。。
    何がきっかけかは不明。。。

    2009年11月19日木曜日

    カレンダーアプリ Pure Glid Calendar Widget を入れてみた


    ☆今回はかなりヒット商品です☆
    前からカレンダーには不満だったので、これでちょっとスッキリしました♪
    Laik Agenda Widget と組み合わせればさらにGOODです♪

    Pure Glid Calendar Widget と一緒に作者で Laik Agenda Widget と良く似たのも出しているので、それを入れれば見た目もさらによくなると思います。

    やっと色分けもできて帯が出るようになったのが本当にうれしい。。。
    ラインの太さも今は最大の5ですが変更できるようです。

    2009年11月17日火曜日

    Flash ActionScript3 でtrim関数を作ってみた

    PHPのtrimと同様の関数を作成してみた。

    FlexBuilderだと mx.utils.StringUtil クラスにtrimメソッドが用意されているが、Flashには mx.utils.StringUtil が無いので。。。

    PHPのtrimでも全角スペースは対象としていないので、今回はあえて全角スペースは対応させていたい。

    内容は 先頭、末尾の 半角スペース or  改行 or キャリッジリターン を削除するというものになる。

    ▼サンプルと関数

    var Str1 = "\n\n\r\r" + '     tests   ' + "\n"
        + '  yrdydyry   ' + "\n\n\r\r";

    trace(Str1);
    trace(trim(Str1));

    function trim (str) {
        var regexHead:RegExp = new RegExp('^[ \n\r]*');
        var regexFoot:RegExp = new RegExp('[ \n\r]*$');
     
        return str.replace(regexHead, '').replace(regexFoot, '');
    }

    2009年11月16日月曜日

    FlashDevelopを入れてみた

    今回入れたのは FlashDevelop Ver3.0.6 です。

    ・まず本体は下記からダウンロード
    http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page

    All Downloads ⇒ FlashDevelop 3.0.6 RTM released

    ・続いて Flex SDK を下記からダウンロード
    http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

     Stable Builds ⇒ 「3.4.1.10084 Fri Sep 18, 2009」 ⇒ Adobe Flex SDK


    ・ダウンロードしてきた lashDevelop-3.0.6-RTM.exe をインストール。

    ・ダウンロードしてきた flex_sdk_3.4.1.10084.zip をフォルダを作成して解凍
    ※自分の場合 D:\usr\local\flex_sdk_3.4.1.10084 へ解凍した

    ・FlashDevelopを起動して Tools ⇒ Program Settings で AS3Context を選択して Flex SDK Location という項目があるので、そこに D:\usr\local\flex_sdk_3.4.1.10084 を設定。

    ・次に FlashViewer を選択して External Player Path という項目があるので、そこにFlashPlayerのパスを設定する。
    ※自分の場合は「D:\usr\local\flex_sdk_3.4.1.10084\runtimes\player\win\FlashPlayer.exe」でした。

    2009年11月12日木曜日

    ActionScript3(Flash) ComboBoxのフォント色が変わならい。。。

    1フレーム目でComboBoxのdataProviderをセットした後にすぐ文字色を変更しようとすると変わらない。。。何なんこれ。。。

    RadioButtonのフォントカラーは変わるのに。。。

    ソースはこんな感じ。

    this._root.sendDate.dataProvider = new DataProvider(this.getDateList());

    var format3 = new TextFormat();
    format3.color = 0xCCCCCC;
    this._root.sendDate.setStyle("textFormat", format3);

    どうやら予め設置されたコンボボックスの色を変更するのがダメみたい。
    4フレーム目で実行してみると色が変わるところを見たらオブジェクトが生成される前にTextFormatを指定しようとしているみたいだ。。。

    コンポーネントインスペクタのパラーメータにフォントカラーとかがあったらいいのにな。。。
    何か方法あるのかな。。。

    addChildでrootに追加したものはコンボボックス生成の際に指定するから色がちゃんと変わってる。。。

    フォームオブジェクトなんかは基本的にスクリプトから追加するのがセオリーって事なのかな。。。
    結局クラス内でフォームオブジェクトを管理するようにした。

    var textFormat:TextFormat = new TextFormat();
    textFormat.color = 0xCCCCCC;
    this._forms.sendDate = new ComboBox();
    this._forms.sendDate.name = 'sendDate';
    this._forms.sendDate.dataProvider = new DataProvider(this.getDateList());
    this._forms.sendDate.dropdown.iconField = null;
    this._forms.sendDate.labelField = "label";
    this._forms.sendDate.textField.setStyle("textFormat", textFormat);
    this._forms.sendDate.dropdown.setRendererStyle("textFormat", textFormat);
    this._forms.sendDate.width = 130;
    this._forms.sendDate.move(160, 469);
    this._root.addChild(this._forms.sendDate);

     こんな感じ。 。。
    この時に気付いたんだけど、 rootにaddChildで追加してnameでインスタンス名付けてるのに、this._root.sendDateで参照できない。。。undefinedになる。。。

    フレームも跨いで現れるし、どういう追加になってるんだろうか。。。

    Flash ActionScript3 文字色を変更してみよう

    テキストを設置する。

    次に設置したテキストをプロパティから「ダイナミックテキスト」へ変更する。

    するとインスタンス名が付けれるようになるので、「name01」とでも付けておく。

    次に1フレームでも何でもいいからステージ上に下記スクリプトを書く。

    var format = name01.getTextFormat();
    format.color = 0xFF0000;    // とりあえず赤色
    name01.setTextFormat(format);

    実行すると色が変更されている。
    まずname01のTextFormatというオブジェクトを取得して、そのオブジェクトには色々なプロパティがあるので、そいつを編集する。

    そして編集したものを今度はセットしてやるというわけ。

    その色々なプロパティはここを参考に
    http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/text/TextFormat.html

    Googleマップでプチ発見!!現在地が移動するじゃないか♪

    Googleマップアプリでちょっとした発見をしました。

    恐らくAndroid1.5の時は現在地ってメニューからクリックしても現在地を調べてはくれるけどそのまま携帯を持ったまま移動すると現在地マークは移動するけど地図はスクロールしてくれなかったはずなんです。

    でもAndroid1.6 になってからは移動してくれるようになってました♪
    でも地図上をクリックするとまた現在地をメニューからクリックするまでオートスクロールしませんけど。。。

    何秒後にまたオートスクロールしだすとかって設定あったらいいのにな。。。

    あとスポットが登録できたらな。。。

    2009年11月11日水曜日

    Google Maps Navigation でiPhoneより有利になれるか?

    Android2.0 が出るにあたってもう一つ話題なのが、ナビアプリの「Google Maps Navigation」である。
    どうやら名前の如くナビゲーションしてくれるアプリみたいなんですが、これがあればカーナビなんかがいらなくなるというものなようです。
    ちなみにルート検索だけなら既にありますが、「Google Maps Navigation」ではストリートビューと合わせて表示するようなんです♪

    日本にはどれくらいのタイミングで対応してくれるかは不明ですが、恐らくする??無理??お願いして。。。

    Android2.0はマルチタッチにも対応するしAndroid機種も一気に来年増えるっぽいしiPhoneも再来年にはレア機になるんでしょうかね。。。

    なってほしいですね。。。

    今のHT-03Aはハード面でも課題が多いので、どんどん色んな企業が切磋琢磨で頑張ってほしいです♪

    そしてiPhone今までお疲れさまでした…。

    携帯なら自転車でロードバイクとか流行ってるし載ってる人にはモバイルホルダー付けてやれば結構使い道あるんじゃないでしょうか?バイクにも便利だろうし☆
    http://internet.watch.impress.co.jp/docs/news/20091029_325068.html

    DroidAnalytics でGoogleAnalyticsを携帯でも楽しもうとしてみた

    今回入れてみたのはコレ。

    DroidAnalytics
    $0.99

    どうやらGoogleAnalytics用のアプリで携帯からもアクセス統計情報を確認しようというもののようです。

    GoogleAnalyticsとはGoogleのサービスで発行されたJavaScriptをサイト上に埋め込んでおくとアクセス数を統計として色んな角度から見れるもの。
    つまりサイトを運営していない人には全く無縁なツールです。

    さっそく入れてみました♪




    日本語にもちゃんと対応しているみたいです。
    1$位なので買ってみようかな。。。初購入です(@@

    返品ばかりでしたから。。。

    2009年11月10日火曜日

    ActionScript3 で文字コードSJISを利用する

    System.useCodePage = true;

    を1フレーム目の一番上にでも書いておく。
    以上。。。

    ActionScript3 URLLoaderDataFormat.VARIABLES の使い方が解らない。。。

    var load:URLLoader = new URLLoader();
    load.dataFormat = URLLoaderDataFormat.VARIABLES;
    load.addEventListener(Event.COMPLETE, this.ExecResAction);
    load.load(request);


    上記のようなスクリプトを書いていたら下記のようなエラーが出ました。。。


    Error: Error #2101: URLVariables.decode() に渡される文字列は、名前/値のペアを含む、URL エンコーディングされたクエリー文字列でなければなりません。

    原因は

    load.dataFormat = URLLoaderDataFormat.VARIABLES;


    どうやら dataFormat は不用意に指定しない方が良いのかもしれません。。。
    この行を削除するとうまく動くようになりました。

    ActionScript3 日にちの取得はgetDayじゃなくてgetDateだ。。。

    最初下記のようにしていたらなんか日が1ケタになってる。。。
    なぜ。。。10分位ハマった orz

    var date:Date = new Date();
    (date.getMonth()+1) + '月' + date.getDay() + '日',

    で、調べてみたらgetDayじゃなくてgetDateか。。。
    そらそうか。。。

    var date:Date = new Date();
    (date.getMonth()+1) + '月' + date.getDate() + '日',

    2009年11月5日木曜日

    無料アプリ 「Laik Agenda Widget」 を入れてみた

    アプリ名: Laik Agenda Widget
    パッケージ名: laik.widget.agenda

    デフォルトのカレンダーウィジェットでは場所を取るくせに1件2件位しか予定を出してくれないのですが、 これは日を跨いで複数件表示してくれるので、ナイスでした。
    当分これを使ってみます♪




    2009年11月2日月曜日

    連絡先一覧には全件表示されない

    Android1.5の時から確認できたけど1.6でも改善はされてない。

    連絡先一覧には何を基準にしているのか全件表示はされていません。。。
    検索したらもちろん表示されていないのも出てくるんですが、ひらがな入力した時に候補として出てくるところには出てこないものもあります。。。

    これはバグでしょう。。。
    電話なのだから電話機能をまず普通にしてほしいですね(T。T

    Followers