|
練習はこれくらいにして今回は簡単な「住所録」を作ってみます。住所録のデータ構成を考えてみます。以下のようにするとします。
名前 | 変数名 | 内容 |
登録番号 | N | 整数 1,2,3,… 他と重複しない |
名前 | PNAME | 文字(最大半角20文字) |
名前(かな) | PKANA | 文字(最大半角20文字) |
郵便番号 | ZIP1 | 文字(半角3文字)郵便番号前半部 |
郵便番号 | ZIP2 | 文字(半角4文字)郵便番号後半部 |
住所1 | ADR1 | 文字(半角80文字) |
住所2 | ADR2 | 文字(半角80文字)マンション名等 |
電話番号 | TEL | 文字(半角14文字) |
FAX番号 | FAX | 文字(半角14文字) |
携帯番号 | PHONE | 文字(半角14文字) |
備考 | BIKO | 文字(半角80文字) |
次に、住所録プログラムに何が必要かを考えます。
1)設定
2)データ入力
3)データ表示
4)データ編集
他にも、印刷であるとか、他ソフトとのやり取り等が考えられますがここではまずこれ位にします。単純に、最初はメニュー表示を行って、それぞれのメニュー項目で各機能へとばす、という事にします。
プロジェクト「d008」の準備を行います。「C:\DelphiProgram\jww」フォルダの中に「d008」というフォルダを作成し、Delphi6を起動します。メニュー「プロジェクト」→「オプション」を実行し、下記の設定を行います。
[アプリケーション]頁
タイトル | d008−住所録 |
[アプリケーション]頁
アイコン |
ImageEditorで作成した
アイコンを指定 |
[ディレクトリ/条件]頁
パス及びディレクトリ | C:\DelphiProgram\db\d008 |
メニュー「ファイル」→「名前を付けて保存」
「C:\DelphiProgram\db\d008」の中に「Unit1.pas」を保存
メニュー「ファイル」→「プロジェクトに名前を付けて保存」
「C:\DelphiProgram\db\d008」の中に「d008.dpr」として保存
◆
Form1の画面は、大きさを扱いやすいよう小さくし、オブジェクトインスペクタで Form1 のプロパティを設定します。
|
BorderIcons |
[biSystemMenu,
biMinimize] | 最大化出来ないように |
BorderStyle | bsSingle | リサイズ出来ないように |
Caption | 住所録 | タイトルバーに表示されます |
Color | clWhite | 画面色 御自由にどうぞ |
Font内
Name | MS ゴシック |
プロポーショナルフォントは
文字配置調整が微妙なので |
Font内
Size | 10 | 小さいと少し見難い為 |
Icon | (TICon) |
ImageEditorで作成した
アイコンを指定 |
Scaled | False |
動作環境によっての文字の
大きさ変動を少し抑えられる |
|
メニュー「表示」→「プロジェクトマネージャ」
を実行し、コード画面の左側にドッキングさせておきます。
画面レイアウトは下記のようにしました。
各ボタンをクリックしたら、それぞれの画面を表示するようにします。終了の場合は「close」します。[×]で閉じる場合もありますのでボタンの方は「close」するだけで、データベースを閉じる等は、FormCloseイベントの方に記述します。通常の画面表示=フォームを表示の場合は、Form3.ShowModal のように行いますが、(1)以外は別の画面を表示しながら作業をしたいので、Form3.Show として実行します。同じ画面を何個も表示させたい場合は Formを Create する必要がありますが、ここではそういう事は必要ありませんので行いません。
ComboBox1がありますが非表示状態にしています。これはテーブルが存在するかどうかをチェックするのに利用しているだけです。
(1)データベース設定
画面レイアウトは下記のようにしました。
データベースへのユーザー名・パスワードは標準状態のままですが、自分で指定する場合には、ここで設定出来るようにしておいても良いと思います。
サーバー名の変数名は「DBserv」、フォルダは「DBfold」、データベース名は「DBname」としています。「UnitV.pas」内で定義しています。
ここでも「OK」をクリックしたらデータベースを作成するようにしています。
(2)データ入力
画面レイアウトは下記のようにしました。
英数字しか入力できないものは「ImeMode」プロパティを「imDisable」にしてIMEを無効状態にします。また、上記の文字列の最大文字数に従って、「MaxLength」プロパティを指定します。
画面を表示する際に、テーブルが存在しない場合には、テーブルを作成するようにしています。[登録]をクリックしたら、テーブルにデータを追加します。
(3)データ編集
画面レイアウトは下記のようにしました。
登録番号欄に入力をして[データ取得]をすると、「クリア」処理をしたあと、その番号のデータを読み込んで各欄に表示します。データが存在しない場合はクリアされたままとなります。
画面を表示する際に、テーブルが存在しない場合には、テーブルを作成するようにしています。[編集登録]をクリックしたら、既に登録してあるテーブルのデータを編集登録します。
(4)データ一覧表示
画面レイアウトは下記のようにしました。
1頁100データの表示とします。あまりに多すぎると時間が掛かってしまいますので。登録番号順に表示する事としています。
プログラムの内容についてはソースプログラムを参照して下さい。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
シェアウェア
Script!World
データベース
A B C D
E F G H
I J K L
M N O P
Q R S T
U V W X
Y Z
|