次のように姓名をアルファベットで入力したらイニシャルを教えてくれるプログラムを作りましょう。下はYAMADA Taro (山田太郎) さんの例です。
まずはコンポーネントを配置してください。
コンポーネント | Name プロパティ |
---|---|
上のエディット | EditFamily |
中のエディット | EditFirst |
「入力」ボタン | ButtonEnter |
下のエディット | EditInit |
B-3節で学んだ Copy 関数を使っても、
Copy(EditFamily.Text, 1, 1)
という形で先頭の1文字を取り出すことができます。しかし、1文字だけを取り出すならもっと簡単な方法があります( Copy 関数は複数文字の文字列を取り出すのに向いています)。 という形で先頭の1文字を取り出すことができましたが、1文字だけを取り出すならもっと簡単な方法があります。(Copy 関数は複数文字の文字列を取り出すのに向いています。)
実は、上のエディットの内容が「YAMADA」であるとき、各文字は次のように対応しており、何文字目かを指定するだけで該当文字を取り出すことができるのです。
EditFamily.Text[1] | EditFamily.Text[2] | EditFamily.Text[3] | … |
Y | A | M | … |
このように、一般に文字列型 (String 型) の変数は、文字列中の文字を配列要素のようにして指定することができます。
では、プログラムを作ってみましょう。空欄を埋めてプログラムを完成させてください。
procedure TForm1.ButtonEnterClick(Sender: TObject); begin EditInit.Text := ________________________________________________; end;