2005年08月01日

入力されたデータの重複検査を簡単に行う方法

あなたが業務でプログラミングを行う場合、
本来の機能を実装するのはもちろんのことですが、
ヒューマンI/FやマシンI/Fから入力された
データの妥当性検査や、処理中のエラー検出と復旧の
処理などを想定出来る限り実装することが重要になります。

気が付けば、これらバカ避け機能のコーディング量が、
本来の機能のコーディング量をはるかに上回ることが
しばしばあることでしょう。

私が業務でプログラミングをはじめた頃に先輩や上司から、
「おまえのプログラムは目の粗いザルのようなものだ。
入れた途端に落ちてしまう。
ザルに入れたものを落とさないよう目を細かくすることが
趣味のプログラムと業務プログラムの違いなんだ。」
と言われました。

さて自分のことはおいといて今回は、
入力されたデータの重複を簡単に検査する方法を紹介します。
DelphiVCLの「TStringList」を利用し、
重複するデータを例外処理で検出します。
あたは既にこの方法をご存知かもしれませんね。
めんどくさがりの私も時々使っています。(笑い)

使用例
procedure TForm1.Button1Click(Sender: TObject);
var
 lList: TStringList;
begin
 // TStringList.Duplicatesの機能を利用し
 // 入力されたデータの重複検索を簡単に行う
 lList := TStringList.Create;
 try
  lList.Duplicates := dupError;
  lList.Sorted := True;
  try
   lList.Add('apple');
   lList.Add('lemon');
   lList.Add('orange');
   lList.Add('strawberry');
   lList.Add('apple');
  except
   // 重複が検出された場合
   // EStringListError例外をキャッチします
   MessageDlg(
    'データが重複しています', mtError, [mbOK], 0);
  end;
 finally
  lList.Free;
 end;
end;

関連書籍


Copyright guy@かしらもんじ でぇ〜

posted by guy at 06:55 | 妥当性検査編

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。