
listbox a sayaç eklemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
listbox a sayaç eklemek
arkadaşlar sizin gibi profesyoneller için basit bir soru ama benim gibi yeni başlayan için zor bir soru. forma bir listbox, edit ve butonlar koydum. butonların biriyle ekleme, biriyle listedeki tüm elamanları silme ve diğeriylede ikinci editten girilen sıra numarasındaki elemanı silme yapıyorum. ama burdaki problem şu; mesela listede 5 tane eleman var ve bunlar 1......,2.....,3... vd. şeklinde sıralanmışlar. ben resimde görüldüğü gibi 4. elemanı listeden sildiğimde listedeki 1,2,3 diye giden sayacın da bir eksilmesini isityorum. ama sadece aradaki eleman eksiliyor ve listedeki elemanların numaraları aynı kalıyorum. bu eksilmeyi nasıl yapabilirim?


-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: listbox a sayaç eklemek
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
ListBox1.DeleteSelected;
for i := 0 to listbox1.Items.Count-1 do begin
s:=listbox1.Items[i];
delete(s,1,1);
listbox1.Items[i]:=inttostr(i+1)+s;
end;
end;
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: listbox a sayaç eklemek
Kod: Tümünü seç
procedure DelSelected(pListBox: TListBox);
var i: integer;
begin
i := 0;
with pListBox do
while i <= Count - 1 do
begin
if Selected[i] then
begin
Items.Delete(i); Refresh; // Delphi 7'de Refresh gerekli, Count'u güncellemiyor
if Count = 0 then Break;
if i > Count - 1 then Dec(i);
Selected[i] := True;
end;
Items[i] := InttoStr(i + 1) + '.' + Copy(Items[i], Pos('.', Items[i]) + 1, Length(Items[i]) - Pos('.', Items[i]));
Inc(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DelSelected(ListBox1);
end;