For döngüsünde satır boş ise o satırı pas geçme...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen dogan »

Selam;

Listviewde giriş ve çıkış tarih alanlarım var, for döngü ile listviewde işlem yaparken bu tarih alanı da kontrol ediyorum;

Tarih alanım boş ise hata alıyorum, bu alan boş ise o satırı pas geçecek işlemlere nasıl devam ettire bilirim...

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  Date1, Date2: TDate;
begin
  try
    with ListView1 do
    begin
      if Items.Count > 0 then
      begin
        for I := 0 to Items.Count - 1 do
        begin
          Date1 := StrToTime(Items[I].SubItems[5]);
          Date2 := StrToTime(Items[I].SubItems[7]);
          if Date1 >= Date2 then
          begin
            Showmessage('tarihler eşit veya büyük olamaz');
          end
          else
          begin
            // İşleme Devam
          end;
        end;
      end;
    end;
  except
  end;
end;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen mrmarman »

Soru sorarken kurduğunuz cümle içerisinde BU ALAN BOŞ İSE dediniz? Bu size birşey ifade etmiyor mu?

Önce hangi alandan bahsettiğinizi,
sonra bunun hangi tipte olduğunu
son olarak da nerede atama yaptığınızı düşünün, cevap kendiliğinden belirecektir.

Çok zor değil, sadece azıcık düşünmek iyi gelecektir.
Resim
Resim ....Resim
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen dogan »

mrmarman yazdı:Soru sorarken kurduğunuz cümle içerisinde BU ALAN BOŞ İSE dediniz? Bu size birşey ifade etmiyor mu?

Önce hangi alandan bahsettiğinizi,
sonra bunun hangi tipte olduğunu
son olarak da nerede atama yaptığınızı düşünün, cevap kendiliğinden belirecektir.

Çok zor değil, sadece azıcık düşünmek iyi gelecektir.

Hocam düşünmez olur muyum :D length ve Not ile çözeyim dedim fakat çıkamadım işin içinden...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen mrmarman »

Başka bir açıdan sorayım, tarih yoksa derken EĞER Items.SubItems[5] = '' anlamına gelmiyor mu?
Resim
Resim ....Resim
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen hido »

Denermisin.

Kod: Tümünü seç

if Not Date1 >= Date2 then
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen thelvaci »

Sorun StrToTime metodunun aldığı parametrenin bir time verisi içermemesi durumunda oluşur. Bu durumda, ilgili parametreyi StrToTime metoduna parametre olarak geçmeden önce içeriğini kontrol edebilirsiniz muharrem beyin dediği gibi yahut try..except blokları içine alabilirsiniz ilgili çevrim metodlarını.
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen dogan »

try - except zaten kullanıyorum örnek: 3 satır boş ise 4 satır alanı dolu ise try - except dolayı işlem bu sefer bu satırı da pas geçiyor...
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen dogan »

mrmarman yazdı:Başka bir açıdan sorayım, tarih yoksa derken EĞER Items.SubItems[5] = '' anlamına gelmiyor mu?



Muharrem hocam gözünü seveyim yardımcı olur musun kafayı yiyeceğim...
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: For döngüsünde satır boş ise o satırı pas geçme...

Mesaj gönderen thelvaci »

Güzel kardeşim, bizim söylediklerimiz senin için yardım teşkil etmiyor sanırım. try..except koymuşsun ama nereye koymuşsun bir bak istersen. StrToTime metodunda bir hata olduğunda tüm döngüden çıkar senin kodun.
Cevapla