| |
|
|
|
第11回 日記アプリケーションを作る ―その7 既存日記の編集機能の実装)さて現在はファイル一覧機能をと入力機能まで作成が完了した。しかしリストで日付を選択してもその日の日記を入力画面で読み込むようになっていない。今回はこの部分の機能を作成しよう。 しくみを考える一覧画面と入力画面に関してここまで実装した機能はこのとおり
これらの機能を組み合わせて、日付ファイルを指定して開くために以下のように指定しよう。
「編集」の場合の処理は以上のような感じだ。もう1つ「新規作成」の場合も考えておこう。「新規作成」は今日の日記を書くということだ。だから編集と同じようにして「今日」の日付を渡せばいい。 では実際にプログラムを直していこう。 編集日時を受け入れる準備まずは、日付を渡される準備をしておこう。ここでは日付を受け取る変数を用意しておく。 ソリューションエクスプローラの「editForm」を右クリックして「コードの表示」を選択してコードを表示しよう。そして以下のコードを追加する。 Imports System.IO
Public Class editForm
Public opendateString As String
Private Sub saveMenu_Click(ByVal sender As System.Object, …
:
ポイントはPublicとして宣言してあることだ。Publicとして宣言してあることで、editFormの外部、つまりlistFormからこの変数にアクセスできるようになる。
ファイルを読み込ませる機能の使い方さて、すでに定義されているファイル読み込み機能は、入力画面の日付を変更したら実行されるように定義してある。 今回はこの機能を別途利用したいわけだが、ではこの機能をどのように使ったらいいだろうか? 例えば考えられる方法として以下のようなものがある。
どちらも有効な方法だ。今回は比較的処理が簡単な後者の方法をとることにする。では実際に機能を追加してみよう。
まずこの機能が呼ばれるのは、入力画面が表示された直後にすぐ行われなければならない。そこで、FormのLoadイベントを実装する。コード画面の上の左側にあるプルダウンリストから「(editForm イベント)」を選択し、右側からは「Load」を選択する。すると、editForm_Loadメソッドが表示される。 では、ここにコードを実装していこう。 まず入力画面の日付(editDateコントロール)を変更するには、日付型(Date)で日付を指定してやらなければならない。しかし渡されてくる日付は文字列であるため、文字列型から日付型に変更してやらなければならない。これを実現する関数がParse関数である。Parseは必要に応じて変数の型を変えることができるので覚えておこう。 Private Sub editForm_Load(ByVal sender As Object, …
Dim opendate As Date
If Me.opendateString = "" Then
opendate = Today()
Else
opendate = Date.Parse(Me.opendateString)
End If
Me.editDate.Value = opendate
End Sub
ここでは、もし日付の文字列が指定してなければ今日の日付を、指定してあれば指定してある文字列から日付型でデータを取り出し、最後にeditDateコントロールの日付をプログラムから変更している。 一覧画面の「編集」機能の修正では、次に一覧画面のほうを修正しよう。今度はlistFormのコードを表示する。 こちらでは、画面を表示する前に現在リストから選択されている日付を、先ほど作成した opendateStringに渡してやる。 Private Sub editMenu_Click(ByVal sender As System.Object, …
Dim myeditForm As New editForm
If Me.diaryList.SelectedIndex >= 0 Then
myeditForm.opendateString = Me.diaryList.SelectedItem.ToString()
End If
myeditForm.ShowDialog()
End Sub
まずは、リストボックス(diaryList)のSelectedIndex をチェックしている。これは何番目が選択されているかというものだが、もしリストに何も入っていない場合、「-1」が格納される。リストに何も入ってない場合には何も渡すことができないのであらかじめチェックしている。 後は、SelectedItemで選択されている項目を取得し、それをToString関数で文字列に変更して編集画面(myeditForm) のopendateStringに渡している。 新規作成機能の追加ではついでに新規作成機能を追加しよう。一覧画面のデザイン画面を表示して、新規作成のメニューをダブルクリックしてコードを表示する。 以下のようにコードを実装しよう。 Private Sub newMenu_Click(ByVal sender As System.Object, …
Dim myeditForm As New editForm
myeditForm.opendateString = Today.ToString("yyyy年MM月dd日")
myeditForm.ShowDialog()
End Sub
やっていることは、編集メニューと変わりない。ただ、日付は本日(Today関数で取得)の日付をしている。日付の作り方は、編集画面の保存機能を実装したときと同じである。 テスト実行ではF5キーを押して実行してみよう。テストはこんな感じ。
きちんと機能しているだろうか。うまく動いていればここまでの機能はOKだ。 まとめ実装したコードはそれほど多くはないが、今回のからくりは非常に重要だ。画面を移動する際にうまくデータを渡す処理は非常に一般的である。今回紹介した方法も1つの方法として覚えていくといいだろう。 さて、ようやく日記の基本機能が実装されてきたが、まだ入力画面の右上のPictureBoxコントロールがぽっかりと取り残されている。次回は画像ファイルの読み込みと保存機能を追加していこう。 <執筆者プロフィール>高橋 忍
<書籍情報>Windows Mobile 5.0のアプリケーション開発について、もっと詳しく知りたくなったら ![]() Windows Mobile 5.0 アプリケーション開発 Beginner's Book 高橋 忍・著/280ページ/2色印刷/B5変形/CD-ROM付
This article
posted by staff
on 2006/10/19 13:10
Track back URLhttp://www.willcom-fan.com/adm/mt-tb.cgi/156 Track backs: |
最近の記事【新機種レビュー】WILLCOM 03から新色「ブラックトーン」が登場! その注目ポイントは?タッチパネル対応の画面。横スライド式のQWERTYキー... 【新機種レビュー】カメラが付いた! ポップ&カジュアルなデザインの音声端末/HONEY BEE 2(WX331KC) ウィルコムが“ミツバチ”をイメージしたポップ&カジュア... スライド、ラメ、防水 ― ウィルコムから個性的な新音声端末が続々登場! 2008年10月28日、ウィルコムから音声端末3製品と... 手描きチャットで応募するイラストコンテスト開催! 10月28日に発表されたウィルコムの新端末。それと同時に紹介された新サービス... 音楽を2倍、2倍のキャンペーン 「カメラを買うと、ポケットカメラが付いてくる」 そんな通販番組が昔あったが、... 最近のトラックバック携帯可能な無線LANアクセスポイント「どこでもWi-Fi」from あろーい日記 http://www.wi WILLCOM D4に大容量バッテリーで。 from プチ株とPDA・PCと。 WILLCOM D4に大容 アカデミックパックとくまふぉんと。 from プチ株とPDA・PCと。 WILLCOM 03につい [W-ZERO3]辛口連発!? WILLCOM 03、WILLCOM D4を本サイトライター陣が評価 ウィルコムに期待することとは?/座談会 - 後編 from Kzou’s Diary (^^ゞ 当サイトのライター陣で行 「新つなぎ放題プラン」 from ねこもばGadget! β版 へっぽこ実験ニュースサイト - WILLCOM 03応援中!! 【料金プラン】音声端末で「 このサイトについてウィルコムFANは、ウィルコム携帯端末の活用情報を提供するサイトとして株式会社アスキー(現アスキー・メディアワークス)が2006年3月15日より運営しています。続きを読む... |