Delphi Can

Orjinalini görmek için tıklayınız: Tip adını döngüde kullanma
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
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 Big Grin
İ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.