Form alanları değişmiş mi ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Bay_Y
Üye
Mesajlar: 114
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Form alanları değişmiş mi ?

Mesaj gönderen Bay_Y » 25 Eki 2017 04:56

herkese merhabalar.

yapacağım formdaki alanların değişip değişmediğini anlamanın kolay bir yolu var mı ? Değişen alanlarla ilgili bir log tutmak istiyorum ama her alanın eski yeni halini bir yere yazıp kontrol etmek çok mantıklı gelmedi sanki daha kolay bir yolu varmış gibi geliyor yanılıyor muyum?
Konu ile ilgisi olan varsa paylaşırsa sevinirim.

"Edit1.Modified" özeliği var aslında güzelde birşey ama mesela değeri 3 siz bunu değiştirdiniz tamam değişti diyor sonra geri 3 yaptınız yine değişti diyor aslında haklı değişti ama ilk değeri ile aynı olduğu için ben değişmedi diye düşünüyorum. Benim gibi düşünecek bir koda ihtiyacım var çok fazla alan olduğu için hepsinin ilk durumlarını da saklamam da kontrol etmem de sorun olacağı için daha kestirme bir yol arıyorum.


Teşekkürler.

ertank
Üye
Mesajlar: 1171
Kayıt: 11 Eyl 2015 11:45

Re: Form alanları değişmiş mi ?

Mesaj gönderen ertank » 25 Eki 2017 05:15

Merhaba,

Sorunuzu anlayamadım. "Formdaki alanlar" ile ne kastediyorsunuz? Tasarım zamanında yerleştirdiğiniz Edit alanları mı? Yoksa DBEdit mi? Yoksa farklı birşey mi? Daha anlaşılır şekilde, belki ekran görselleri ile sorunuzu yeniden sormanız mümkün müdür?

Bay_Y
Üye
Mesajlar: 114
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Re: Form alanları değişmiş mi ?

Mesaj gönderen Bay_Y » 25 Eki 2017 05:23

Edit , ComboBox , ListBox gibi alanlar bahsettiğim.

ASlında söyleki ad soyad , tel adres gibi alanlar olduğunu düşünelim bunları ilk açıldığında yükledik ve kullanıcı bazılarını değiştirdi , şimdi şunlar değişmiş diyebilmek için bütün bu alanların ilk hallerini saklayıp sonrasında kontrol edip ayıklamak 3-5 alan için kolay ama çok fazla alan olduğunda sıkıntı ve sanki doğru yol değilmiş gibi kastettiğim böyle birşey bilmem anlatabildim mi ?

ertank
Üye
Mesajlar: 1171
Kayıt: 11 Eyl 2015 11:45

Re: Form alanları değişmiş mi ?

Mesaj gönderen ertank » 25 Eki 2017 08:31

Eğer DBAware (database ilişkili) bileşen kullanmıyor iseniz istediğinizi yapmanın tek yöntemi her bir bileşeni kontrol etmek olacaktır.

TEdit gibi bazı bileşenler TEdit.Modified şeklinde kullanıcı değişiklik yaptı mı bize bildirebilirler. Ancak TComboBox veya TListBox bunu yapamaz. Ancak siz OnChange() olaylarında kendiniz kod yazarak bu bilgiyi elde edebilirsiniz. Ya da sizin de belirttiğiniz gibi database kaydı ile mevcut bilgiyi kıyaslayarak bu bilgiyi elde edebilirsiniz.

Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 04:38
Konum: İstanbul

Re: Form alanları değişmiş mi ?

Mesaj gönderen adelphiforumz » 25 Eki 2017 11:15

Selamlar

Bir genel fonksiyon yapıp dinamik array olarak form üzerindeki tüm editible nesneleri
dinamik saklamak ve kayıt sırasında yine aynı sekilde önceki ve sonraki hallerini karşılaştırabilirsiniz.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana

Bay_Y
Üye
Mesajlar: 114
Kayıt: 10 Mar 2014 11:12
Konum: İstanbul

Re: Form alanları değişmiş mi ?

Mesaj gönderen Bay_Y » 26 Eki 2017 04:08

Herkese teşekkürlerimi sunuyorum , performans olarak hangisi iyi sonuç verir bilmiyorum ama deneyeceğim.

Cevapla