Delphi Can
Tip adını döngüde kullanma - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Tip adını döngüde kullanma (/showthread.php?tid=3170)



Tip adını döngüde kullanma - CesuR - 18-01-2019

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)


Cvp: Tip adını döngüde kullanma - CesuR - 18-01-2019

Ü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


Cvp: Tip adını döngüde kullanma - CesuR - 19-01-2019

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



Tip adını döngüde kullanma - CesuR - 19-01-2019

Bu güzel açıklama için teşekkürler.