Siz de olmasak naapıcaz bilemiyorum yani - Şimdiden saolun.
Kod: Tümünü seç
inifile:=Tinifile.Create(dir.Directory+'\'+dir_list.Items[dir_list.itemindex]+'\'+'Hosting Detay.ini');
inifile.ReadSection('FİRMA BİLGİLERİ',listbox1.items);
procedure TForm1.oku_hosting_detay2Click(Sender: TObject);
var i:integer;
const NamePrefix1 = 'Giris';
NamePrefix2 = 'Deger';
begin
//GİRİŞ DEĞİŞKENLERİNİ FORM'a Yerleştir
for i := 0 to listbox1.items.count-1 do
begin
TEdit.Create(Self).Name := NamePrefix1 + IntToStr(i);
with TEdit(FindComponent(NamePrefix1 + IntToStr(i))) do
begin
text:=Listbox1.items[i];
Left := 0;
Top := i * 20;
Width := 160;
color:=clbtnface;
Parent := TabSheet1;
end;
end;
//GİRİŞ DEĞİŞKENLERİNİ FORM'a Yerleştir
//GİRİŞ DEĞİŞKENLERİNİN DEĞERLERİNİ FORM'a Yerleştir
for i := 0 to listbox1.items.count-1 do
begin
TEdit.Create(Self).Name := NamePrefix2 + IntToStr(i);
with TEdit(FindComponent(NamePrefix2 + IntToStr(i))) do
begin
text:=inifile.readstring('FİRMA BİLGİLERİ',Listbox1.items[i],'');
Left := 165;
Top := i * 20;
Width := TabSheet1.Width - left ;
Anchors:=[akLeft,akTop,akRight];
Parent := TabSheet1;
end;
end;
//GİRİŞ DEĞİŞKENLERİNİN DEĞERLERİNİ FORM'a Yerleştir
Kod: Tümünü seç
function silComponent(AParent: TComponent; Name: string): TComponent;
var
n: integer;
begin
Result:=nil;
if AParent.ComponentCount=0 then Exit;
for n:=0 to AParent.ComponentCount-1 do
begin
if AParent.Components[n].Name=name then AParent.Components[n].free;
end;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
//showmessage(inttostr(ComponentCount));
for i:=0 to ComponentCount - 1 do
begin
if (Components[I] is TEdit) and (pos('Giris',Components[I].Name) <> 0 ) or (pos('Deger',Components[I].Name) <> 0 ) then
begin
listbox2.items.add(Components[I].Name);
end;
end;
for i:=0 to listbox2.items.count-1 do
begin
silComponent(Self,listbox2.items[i]);
end;
end;
Şimdi sorun şurada. Butona basınca Bi listeye - benim create ettiğim (INI dosyasındaki section sayısı kadar olan) tedit lerin isimlerini aktarıyorum ve bunları silmek istiyorum. Listeye aktarmak o kadar da mühim diil - Hatalarımı kolay görmek Açısından yaptım sadece. Ancak Create ettiğim yani Deger ve Giris isimleri içeren Tedit leri silComponent fonksiyonu kullanarak siliyor ama hemen ardından şu hatayı veriyor.
List index out of bounds (27)
Kod: Tümünü seç
showmessage(inttostr(ComponentCount));
sonucu da 28. İpucu olsun... - Kolay Gelsin