TToolbutton.free

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

TToolbutton.free

Mesaj gönderen Abrak »

sabahtan itibaren denemediğim şekil kalmadı genede çözemedim en son çare yardıma ihtiyacımın olduğunu anladım :oops:

Çalışma sırasında 1..n kadar toolbutton oluşturuyorum

Kod: Tümünü seç

var
tempbuton:TToolbutton;
begin
tempbuton := TToolButton.Create(toolbar); 
tempbuton.Parent :=  toolbar;
tempbuton.Caption:= edit1.Text;
tempbuton.Style := tbsCheck;
tempbuton.Grouped := true;
{Burda Bir sorunum Yok}
Daha sonra captionlarına göre silme ihtiyacı duyuyorum ve sorunum burda başlıyor

Kod: Tümünü seç

var
i:integer;
begin
for i:=0 to toolbar.ButtonCount-1 do
begin
if toolbar.Buttons[i].Caption = 'abcde' then toolbar.Buttons[i].Free;
end;

Ama malasef hata veriyor birçok şekilde denedim ama en mantıklısı bu geldiği için bu örnekte sordum ilgilenen arkadaşlara teşekkür ederim;
andronoid
Üye
Mesajlar: 35
Kayıt: 26 Tem 2004 06:44

Mesaj gönderen andronoid »

Kod: Tümünü seç

ToolBar1.ComponentCount
ToolBar1.ControlCount
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

andronoid eminim aceleniz vardı yoksa bu şekilde bir cevap uslubu kullanmazdınız.
Ayrıca benim control sisteminde bir sıkıntım yoktu genede sağol
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

:!: Listeden silme yapılacak durumlarda liste eleman sayısı olumsuz yönde değişecektir. Buna göre şunu hesaplayın.

:idea: 10 elemanlı bir listemiz olsun. For döngüsü 0..10 dersek ne olur. Şartlar değişsin veya değişmesin 11 kere dönecektir.

:idea: Bu döngü esnasında 5 ve 6 numarlı elemanları sildiğimizi düşünelim. Ne olacak şimdi. Geriye kalacak olan 9 elemanlı bir listede, 11 elemanlıymış gibi döngü kurarak hata yapmış olduk.

:idea: Listeden eleman silineceği durumlarda; şarta/duruma göre döngü süresinin değişken olabildiği While veya Repeat kullanmalısınız...

:idea: Ek olarak mümkünse sondan başa doğur giderseniz, listedeki aradan silme yapıldığında ekstra kontrollerle uğraşmak zorunda kalmazsınız. Çünkü eleman sayısı kadar eleman sıra numarası da önemli olabilir.

:arrow:

Kod: Tümünü seç

var
  i:integer;
begin
  i := toolbar1.ButtonCount-1;
  Repeat
    if toolbar1.Buttons[i].Caption = Edit1.Text then toolbar1.Buttons[i].Free;
    Dec(i);
  Until i < 0;
:wink: Çalışmalarınızda başarılar...
Resim
Resim ....Resim
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

mrmcop Teşekkür ederim ipuçları için.
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Cevapla