お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"インクリメンタルサーチ"






◆説明◆
 StringGrid と Edit を利用してのインクリメンタルサーチです。
 例えば、StringGrid の Cells[1,1] に "A"、
            Cells[1,2] に "AB"、
            Cells[1,3] に "ABC"、
            Cells[1,4] に "B"、
 などと入力されている状態から、御試用してみて下さい。

◆サンプルコード◆
procedure TForm1.Edit1Change(Sender: TObject);
var
   RC, Len, L: Integer;
   StG, EdT: String;
   Fnd: Boolean;
begin
   if Edit1.Text = '' then StringGrid1.TopRow := 1 else
   begin
      Len := Length(Edit1.Text);
      RC := 1;
      Fnd := False;

      while (Fnd = False) and (RC < StringGrid1.RowCount) do
      begin
         for L := 1 to Len do
         begin
            StG := Copy(StringGrid1.Cells[1,RC], 1, L);
            EdT := Copy(Edit1.Text, 1, L);

            if StG = EdT then
            begin
               StringGrid1.TopRow := RC;
               if L = Len then Fnd := True;
            end;
         end;

         inc(RC);
      end;
   end;
end;
                                    J-OH!(VEC05267)

Original document by J-OH!       氏 ID:(VEC05267)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum