![]() |
入力された文字列が8文字未満なら「パスワード登録」ボタンが押せないが |
![]() |
文字列が8文字以上になると「パスワード登録」ボタンが押せる、というプログラムを作りましょう。 |
まずは、フォームにコンポーネントを配置してください。
コンポーネント | Name プロパティ |
---|---|
エディット | EditPass |
スピンエディット | SpinEditPass |
「パスワード登録」ボタン | ButtonEnter |
入力が8文字以上になるまではボタンは押せないようにするので、ボタンの Enabled プロパティを False にしておきます。
まず、入力文字数をリアルタイムに表示する処理を考えます。その処理はエディットの OnChange イベントハンドラに記述します。下の空欄を埋めてプログラムを完成させてください。ここに、Length (文字列) は、その値として文字列の長さ (文字数) を返す関数です。
procedure TForm1.EditPassChange(Sender: TObject); begin ________________ := Length(________________); end;
作成したら実行し、無事に文字数が表示されるかどうか確認してください。
うまく行ったら、今度はその文字数にあわせてボタンが押せるようになったり (Enabled プロパティが True になったり) 押せなくなったり(Enabled プロパティが False になったり)する処理を加えます。次の空欄を埋めてプログラムを完成させてください。
procedure TForm1.EditPassChange(Sender: TObject); begin ________________ := Length(________________); if ________________ >= 8 then begin ________________ := ________; end else begin ________________ := ________; end ; end;
完成したら実行してみましょう。また、アルファベットではなく漢字のパスワードも入れてみましょう。漢字1文字はアルファベット何文字分と数えられていますか?