<p>めんどくさがりなくろねこはシステムの必須入力チェックとフル桁入力チェックは業務入力チェックの前に出来ないかと考えた。<br />チェックの順番は、当然にタブ順がふさわしい。</p>
<p>タブ順を自分で管理するのはめんどくさい。エンターキーで[story:ProgramingFAQ_del0001] の様な処理が出来るんだからきっと何か良い方法がある！<br />と調べた結果が<strong>GetTabOrderList</strong>だった。これを使うと単純なチェックはカスタマイズしたコントロールに持たせたチェックで終わらせることが出来そうだ！しかし、この関数いつからあるんだろう？</p>
<p>※TBC～はくろねこ製のオリジナルコンポーネントのメソッドで、CheckRequiredとCheckFillCharはそれぞれ必須入力チェック、フル桁入力チェックである。</p>
<pre class="brush: delphi; highlight: [9];" title="タブ順に処理をするサンプル(入力チェックプログラム)">procedure TForm1.CheckInputData(Sender: TObject);
var
  i: integer;
  CtrlList: TList;
  ctrl: TWinControl;
begin
  CtrlList := TList.Create;
  try
    GetTabOrderList(CtrlList);
    for i := 0 to CtrlList.Count - 1 do
    begin
      ctrl := CtrlList[i];
      if (ctrl is TBCCustomEdit) then // エディット
      begin
        if not TBCCustomEdit(ctrl).CheckRequired(true) then exit;
        if not TBCCustomEdit(ctrl).CheckFillChar(true) then exit;
      end;
      if (ctrl is TBCCustomComboBox) then // コンボボックス
      begin
        if not TBCCustomComboBox(ctrl).CheckRequired(true) then exit;
      end;
    end;
  finally
    CtrlList.Free;
  end;
end;
</pre>