プログラミング

コンピュータプログラミングはBasicとか8bit CPUの頃のMASMとかあの辺、あとはマックでのHyperCardぐらいで停滞してましたが・・・ってかHyperCardってやっぱり凄く使いやすかったんですよねぇ・・ボタンとかウィンドウプログラムってこんなに簡単にしかも直感的にできるのか!ってぐらいに。 で、最近はiPhoneをガシガシ使用し始めたのでiPhoneアプリでもいっちょやってみるかと思って勉強したんですけども、どうもオブジェクト指向とかC言語とか、ムズイんですよ。アプリもappleの申請通らないとダメだし。 まぁそんな怪しいアプリは作るつもりはありませんが、それならいっそのWEBアプリならイイじゃねぇ?ってことでここ最近はDashcode を使用してiPhone用のWEBアプリを自習してたんですが・・・電話ボタンに任意の番号をプログラムコードから設定できるようにしたかったんですが、その方法がなかなか判らなかったのですが・・・サンプルコードを眺めていたら(このやり方が正しいかは判りませんが)以下のコードであっさりできました!

function flipToSettings(event)
{
    var views = document.getElementById('stackLayout');
    var settings = document.getElementById('view2');
    text.innerText = "日本語で";
    telnn = "tel:0345-3444-4556";
    mapposi = "http://maps.google.com/maps?q=東京厚生年金会館";
    if (views && views.object && settings) {
        views.object.setCurrentView(settings);
    }
}

function calltel(event)
{
  window.location = telnn;
}

上記のコードは stackLayout/view2 という画面を開く時に、 telnn って変数に電話番号の文字列をセットして置くんです。そして実際に stackLayout/view2 の中に配置したBotton の onclick イベントに適当なfunction(今回の場合はcalltel って名前)に上記のように書けばOK! このコードに辿り着いた元ネタは電話ボタン(callButton)を追加すると、自動で挿入されるCallButton.js の下記の部分です。

CallButton.prototype.dialNumber = function()
{
    var encodedPhoneNumber = encodeURI(this._phoneNumber);
    window.location = "tel:" + encodedPhoneNumber;
}

なので、あとはコードをシンプルにするために標準の電話ボタンは使用せずに、普通の横長ボタンにcalltel を関連づければOK!そして上記のコードにもヒントがありますがマップボタンでも任意の位置をプログラムコードから同じ方法で送れます! window.location コマンド便利過ぎる!(って言うかiPhone safariがいろいろ自動で解釈してくれるんでしょうね) ただしこのコードが正しいコーディング規則に沿ってるか判りませんし変数の初期化とかもここでは省いてるんで参考程度に読んでください。 あー誰かdashcodeを使用したiPhone の WEBサイトの構築方法の本とか書いてくれませんかねぇ・・・  dashcodeの情報がほとんど無いです>< 数少ない本の中では向井領治さんの「iPhoneサイト制作ハンドブック」が参考になりました!

iPhoneサイト制作ハンドブック iPhone&iPod touch対応

iPhoneサイト制作ハンドブック iPhone&iPod touch対応