入力画面とエラーチェック

DialogBox から名簿データを入力するウインドウのレイアウトを設計します。
出来るだけエラーが混入しないようにデータの入力に Combo Box を利用します。
入力されたデータのエラーチェックを行います。

前田稔(Maeda Minoru)の超初心者のプログラム入門

分散型入力

ビジネスアプリケーションでは「入力データのエラー」は非常に重要な問題です。
人間の作業にエラーはつきもので、細心の注意を払ってもエラーがまぎれ込むのを防げません。
入力されたデータのエラーをチェックすることも大事ですが、その前にエラーが入り込む余地が無い(少ない)入力システムを 構築することがより重要です。
少しでもエラーが入り込む余地を無くすために、入力レイアウトには細心の注意を払います。
今回は分散型入力を想定して、誰もが簡単に入力できるようなプログラムを目指します。
  1. 分散型入力では、専用のオペレータだけで無く「老人から子供まで」誰でもが扱えることが必要です。
    と言ってもパソコンから入力することが前提ですから、限界があるのはやむを得ません。
  2. 一度に入力するデータ件数は少ないのが一般的で、操作性よりも「誰でも間違いなく」入力出来ることが要求されます。
  3. 後からエラーが見つかっても本人に確認を取ることが困難で「その場での徹底した入力確認」が必要です。
  4. メールアドレスはパスワードの代わりにも使うので、同じ値を二度入力しています。
  5. 入力チェックが通ると「最終確認画面」で最終確認を行います。

入力する項目

  1. 姓と名
  2. 年齢
  3. 性別(Combo Box から選択)
  4. 生年月日(元号は Combo Box から選択)
  5. 郵便番号
  6. 住所(都道府県名は Combo Box から選択)
  7. 電話番号
  8. メールアドレス-1
  9. メールアドレス-2


キャプションとID

  1. キャプションとIDを次のように設定しました。
    BOX キャプション ID
    DialogBox ダイアログ IDD_DIALOG1
    EditControl IDC_EDIT1
    EditControl IDC_EDIT2
    EditControl 年齢 IDC_EDIT3
    ComboBox 性別 IDC_COMBO1
    ComboBox 元号 IDC_COMBO2
    EditControl IDC_EDIT4
    EditControl IDC_EDIT5
    EditControl IDC_EDIT6
    EditControl 郵便番号-1 IDC_EDIT7
    EditControl 郵便番号-2 IDC_EDIT8
    ComboBox 都道府県 IDC_COMBO3
    EditControl 住所-1 IDC_EDIT9
    EditControl 住所-2 IDC_EDIT10
    EditControl 電話番号-1 IDC_EDIT11
    EditControl 電話番号-2 IDC_EDIT12
    EditControl 電話番号-3 IDC_EDIT13
    EditControl メール IDC_EDIT14
    EditControl メール再 IDC_EDIT15
    Button 次へ IDOK
    Button キャンセル IDCANCEL
    EditControl エラー IDC_ERROR


都道府県テーブル

Combo Box に表示する都道府県のテーブルです。
Combo Box の詳細は Combo Box から選択して Edit Box で表示する を参照して下さい。
LPCTSTR tbl_3[]=
{ "北海道", "青森県", "岩手県", "宮城県", "秋田県",
  "山形県", "福島県", "茨城県", "栃木県", "群馬県",
  "埼玉県", "千葉県", "東京都", "神奈川県", "新潟県",
  "富山県", "石川県", "福井県", "山梨県", "長野県",
  "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県",
  "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県",
  "鳥取県", "島根県", "岡山県", "広島県", "山口県",
  "徳島県", "香川県", "愛媛県", "高知県", "福岡県",
  "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県",
  "鹿児島県", "沖縄県",
};


エラーチェック

  1. 必要な項目が入力されているかチェックする。
  2. ニューメリックチェックをする。
  3. 生年月日の正当性をチェックする。
  4. 年齢と生年月日の妥当性をチェックする。
  5. 郵便番号をチェックする。(桁数、妥当性)
  6. 郵便番号と住所の関連をチェックする。
  7. メールアドレス-1とメールアドレス-2の照合チェックをする。
  8. エラーが見つかったときは EditBox にメッセージを表示して、エラーを起こした項目にフォーカスを設定する。

和暦のチェック

元号 西暦 元号 西暦(終わり)
明治1 1868/9/8 明治45 1912/7/30
大正1 1912/7/30 大正15 1926/12/25
昭和1 1926/12/25 昭和64 1989/1/7
平成1 1989/1/8 平成?

明治5年12月2日まで旧暦を使用。
明治5年12月3日を明治6年1月1日とした。

古来日本では太陰太陽暦(旧暦)を利用していたが、
明治5年11月9日太政官布告により太陽暦(グレゴリオ暦)に改暦された。

大正・昭和の「改元の詔書」によると「明治45年7月30日と大正元年7月30日」及び
「大正15年12月25日と昭和元年12月25日」はともに存在します。
しかし、「元号を改める政令」で昭和64年は「1月7日」まで平成元年は「1月8日」からです。

年月日の妥当性チェック

大の月、小の月、うるう年のチェックをします。
年月日の詳しい説明は カレンダの話 を参照して下さい。

超初心者のプログラム入門(Win32API C++)