Listview de for ve break işlemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Listview de for ve break işlemi

Mesaj gönderen Serhat »

Selam;

Listview de mp3 için for döngüsü ile id leri karşılaştırıyorum, id eşleşince bir sonraki kayıtın bilgilerini alıyorum.
En son da finally işleminde id numarasını da almak istiyorum, fakat Break işleminden sonrada for döngüsü yaklaşık üç kayıt daha devam ettiğinden bana sürekli olarak üç kayıt sonraki yanlış id umarası geliyor bu durumu nasıl çözebilirim?

Kod: Tümünü seç

procedure TMainForm.ListViewNext(Sender: TObject); // Sonraki kayıt
begin
  try
    with PListView do
    begin
      try
        for I := 0 to Items.Count - 1 do
        begin
          if IdNumara = StrToInt(Items[I].SubItems[3]) then
          begin

          Kodlar ----->>>>          

            Break;
          end;
        end;
      finally
        IdNumara := StrToInt(Items[I + 1].SubItems[3]);
      end;
    end;
  except
  end;
end;
ikra
Üye
Mesajlar: 900
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Listview de for ve break işlemi

Mesaj gönderen ikra »

For döngüsünden ciktiginiz andan itibaren sayac dogru degeri göstermez. Ya ikinci bir degisken kullanip I sayacinin degerini bu degiskene atin, yada while döngüsü kullanip I degiskenini inc yapin.
kıdemsiz üye
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: Listview de for ve break işlemi

Mesaj gönderen Serhat »

ikra yazdı:For döngüsünden ciktiginiz andan itibaren sayac dogru degeri göstermez. Ya ikinci bir degisken kullanip I sayacinin degerini bu degiskene atin, yada while döngüsü kullanip I degiskenini inc yapin.

Araştırdım fakat listview de while döngüsü ilgili kaynak bulamadığımdan bende for ile çözmeye çalıştım :mrgreen:
ikra
Üye
Mesajlar: 900
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Listview de for ve break işlemi

Mesaj gönderen ikra »

Böyle birseyi hazirlamamak ile cok büyük ayip etmisler. Bunun icin söyle bir baslik acilip sabitlenmesi lazim: ne olacak delphi'nin hali
kıdemsiz üye
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Listview de for ve break işlemi

Mesaj gönderen mrmarman »

Id okuduğun yer finally'den kurtar, break satırının üzerine koy.
Resim
Resim ....Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Listview de for ve break işlemi

Mesaj gönderen thelvaci »

ikra yazdı:Böyle birseyi hazirlamamak ile cok büyük ayip etmisler. Bunun icin söyle bir baslik acilip sabitlenmesi lazim: ne olacak delphi'nin hali
Ne olacak bu Delphi'nin hali mi, yoksa ?
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: Listview de for ve break işlemi

Mesaj gönderen Serhat »

mrmarman yazdı:Id okuduğun yer finally'den kurtar, break satırının üzerine koy.
mrmanman hocam dediğiniz gibi de yapmıştım, değişen bir şey olmuyor break den sonrada döngü biraz devam ediyor finally ekstradan denendim :)
ikra
Üye
Mesajlar: 900
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Listview de for ve break işlemi

Mesaj gönderen ikra »

Kod: Tümünü seç

procedure TMainForm.ListViewNext(Sender: TObject); // Sonraki kayıt
begin
    with PListView do
    begin
        for I := 0 to Items.Count - 1 do
        begin
           IdNumara := StrToInt(Items[I + 1].SubItems[3]);
           if IdNumara = StrToInt(Items[I].SubItems[3]) then
           begin

          Kodlar ----->>>>          

            Break;
          end;
        end;
    end;
end;
kıdemsiz üye
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Listview de for ve break işlemi

Mesaj gönderen SimaWB »

thelvaci yazdı:
ikra yazdı:Böyle birseyi hazirlamamak ile cok büyük ayip etmisler. Bunun icin söyle bir baslik acilip sabitlenmesi lazim: ne olacak delphi'nin hali
Ne olacak bu Delphi'nin hali mi, yoksa ?
Bence de sorun KESİNLİKLE Delphi'de değil!
There's no place like 127.0.0.1
Cevapla