文字を見つけよう

いろいろと、文字の書かれた文字の中から特定の文字を見つけて見ましょう。とても簡単にできます。まず Standard ページにある、Edit, Button, Memo をそれぞれフォームに貼り付けてください。こんな感じになると思います。

まず、Memo1 に書かれている Memo1 という文字を消してしまいましょう。これにはオブジェクトインスペクタを使います。オブジェクトインスペクタで、まず Memo1 を選択して Line プロパティのところをクリックしてください、すると、そこだけ少しへこんだと思います。そして、その右端にある「...」をクリックしてください。詳しくは下の図を見てください。

その「...」をクリックして出てきたものに書かれている「 Memo1 」を消せば、フォームにある Memo1 も消えます。これで、準備ができました。それでは、フォームに貼り付けたボタンをダブルクリックして、以下のように書いてください。

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  i := Memo1.Lines.IndexOf(Edit1.Text);
  if i = -1 then
    ShowMessage('ありませんでした') // ;がありません
  else
    ShowMessage(IntToStr(i+1)+'行目にありました');
end;

if 文で、条件が真の時に実行される文の末尾に気をつけてください、がありません。これは、よく間違うと思います。else の前には ;がないと覚えておくといいと思います。case 文の時は else の前に;があってもいいです。これで完成しました。実行して、Memo に適当な文字を入れて、検索してみてください。こんな感じになりました。

例えば、フォームにボタンを貼り付けるとき、Standard ページにあるボタンをクリックしてから、フォームをクリックしますよね。 複数のボタンを貼り付けたい時は、一回一回、Standard ページのボタンをクリックしてからでないと、フォームにボタンが張り付ついてくれません。そんな時、Standard ページのボタンを「 Shift 」を押しながらボタンをクリックすると、フォームに連続でボタンを貼り付けることができます。まとめてボタンを貼り付ける時は、とても便利なので、ぜひ使ってみてください。解除する場合は、そのStandard ページのボタンなどが並んでいる一番左の矢印をクリックすれば解除できます。


up next
Last update: 2002/3/2