B-2 文字列の長さの取得−Length関数−

【基礎課題 B-2】

入力された文字列が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文字はアルファベット何文字分と数えられていますか?