Formumda birden fazla stringgrid var. İşlem yapmak istediğim stringgrid adını bir döngüde kullanmak için veremedim. Şöyle ki,
Örnek stringgirid adı :StringGrid45
var
Grid: TStringGrid;
x: integer;
begin
X:=40 to 45 do
begin
Grid +( inttostr(x) );
end;
End;
Şöylede denedim olmadı grid.name:='StringGirid' + inttostr(x)
Üstadım aslında amacım şuydu bir prosedürüm var
Procedure deneme (Grid:Tsringgrid);
Bunu kullanırken Deneme(Stringgrid40) şeklinde gridin adını geçiyorum. Bunu döngü kullanarak vermek.
X:=0 to 40 do
stringgrid+( inttostr(x) ) .cell... gibi
Prosedürde direk adı verebilirken niye findcomponent kullanmak zorunda kalıyoruz da direk veremiyoruz onu anlamaya çalışıyorum

İlginiz ve paylaşımınız için teşekkürler. Fakat ben kendimi anlatamadım, sizde yanıltmış oldum.. Şöyle örneklersem sizide yanıltmamış olurum.
Aşağıdaki prosedürü çağırırken nasıl çağırıyoruz.
Kutu-boya (
Stringgrid40, 1, 2, clred )
Burada kırmızıyla belirttiğim isim TStringgrid ' in name özelliği değil mi , name deki bilgide text değilmi ?
Ozaman niye şöyle çağıramıyoruz
Grid_adı:= 'Stringgrid' + ( inttostr(45);
Kutu-boya (
Grid_Adı , 1, 2, clred )
Eğer o şekil çağırabilseydim şöyle kullanacaktım.
x:=40 to 100 do begin
Grid_Adı.visable:=false;
end;
Yani direk ismini neden veremiyoruz da findcomponent kullanmak zorunda kalıyoruz onu merak ettim . Veya verebiliyoruz mu ?
procedure kutu_boya(Grid:TStringGrid; satir,sutun:integer; kutu_rengi:TColor);
var
a:TRect;
begin
a:=Grid.CellRect(sutun,satir);
with Grid.Canvas do begin
Brush.Color:=kutu_rengi;
FillRect(a);
end;
end;
Bu güzel açıklama için teşekkürler.