Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 3.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Değişikliği algılama
#1
Selam;
Listview yeni kayıt girişi veya kayıt silindiğinde kullanıcı forumdan çıkmamdan önce kaydetmesi için uyarı verdiriyorum;
Fakat herhangi bir hücrede değişiklik yapıldığını bir türlü yakalayamadım değişikliği nasıl yakalayabilirim?

Silindiğinde

procedure TForm1.ListviewDeletion(Sender: TObject; Item: TListItem);
begin
  Save := 'Evet';
end;

Kayıt girişi yapıldığında

procedure TForm1.ListviewInsert(Sender: TObject; Item: TListItem);
begin
  Save := 'Evet';
end;


Çıkış yaptığında uyarı

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if (Listview.Items.Count > 0) and (Pos(Save, 'Evet') > 0) then
  begin
    AlertMesaj('Değişikliği kaydediniz...     ', 3);
  end
  else
  begin
Hayat bazen güzel olabiliyor.
Cevapla
#2
Ben olsam kolaya kaçardım,
listview elemanlarını, açıldığında bir stringliste atarım, çıkarken döngü ile karşılaştırırım.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
(19-12-2016, Saat: 10:42)Dostk Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSelam;
Listview yeni kayıt girişi veya kayıt silindiğinde kullanıcı forumdan çıkmamdan önce kaydetmesi için uyarı verdiriyorum;
Fakat herhangi bir hücrede değişiklik yapıldığını bir türlü yakalayamadım değişikliği nasıl yakalayabilirim?

Silindiğinde

procedure TForm1.ListviewDeletion(Sender: TObject; Item: TListItem);
begin
  Save := 'Evet';
end;

Kayıt girişi yapıldığında

procedure TForm1.ListviewInsert(Sender: TObject; Item: TListItem);
begin
  Save := 'Evet';
end;


Çıkış yaptığında uyarı

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if (Listview.Items.Count > 0) and (Pos(Save, 'Evet') > 0) then
  begin
    AlertMesaj('Değişikliği kaydediniz...     ', 3);
  end
  else
  begin

Merhaba,
Bunlara ilaveten OnEdited olayını da kullanmalısınız. Çünkü değişim; Silme, ekleme ve düzenleme olduğunda çalışması gereken bir metoddur.

procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;
 var S: string);
begin
 Save := 'Evet';
end;
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi