husonet yazdı:
Table var olan kayıt kadar button create etmelisin

Form üzerine 50 adet buton yerleştireceğim, dolayısı iletable'da 50 ürün ile sınırlı olacak...Ama kullanıcı illa ki 50 butonun hepsini kullanacak diye bir kural olmayacak, belki 30-35 buton ile işini halledebilecek, bu yüzden kullanmadığı butonlar pasif olarak form üzerinde yer alacak, butonların enabled özelliklerini o yüzden tarattırma ihtiyacı hissettim...
Kod: Tümünü seç
procedure TForm3.FormCreate(Sender: TObject);
var
i:Integer;
begin
table1.First;
while not (table1.Eof) do
begin
for i:= 0 to pred (componentcount) do
if (components[i] is TButton) then
if TButton(Components[i]).Enabled=false then
begin
TButton(Components[i]).Enabled:= true;
TButton(Components[i]).Caption:= Table1YEMEKADI.Text;
table1.Next;
end;
end;
end;
Kodu bu şekilde değiştirdim, fakat mesela 4 ürün kaydediyoruz, ilk üçünü doğru kaydetmesine rağmen, 4.ürünü geri kalan butonların hepsinin caption'ına aktarıyor, burada döngüyü bir yerden kesmem gerek sanırım ama nereden olabileceğini tam çözemedim...
Bir de mesela kullanıcı ürünlerin hepsini sildi diyelim, o zaman bizim de caption'ları ilk haline getirmemiz gerekecek, yani enable= false ve caption=' ' şeklinde...Bu ihtimali nereye yazmam gerekir, bir de bunu nasıl ifade etmeliyim, EmptyTable'mı veya benim bilmediğim başka bir komut mu bu işi görür, yani döngüye "table1 boş ise" komutunu nasıl vereceğim?...Ve tüm kodun en başına mı vermem lazım o bilmediğim komutu?...