|
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
|