Herkese hayırlı işler.
Aslında bu konuda yeni bir başlık açmak konusunda tereddütlerim vardı, çünkü bu soru her ne kadar DBMemo'nun bir sorunu olsa da, aslında şifrelemeyle ilgili soru (yani şu başlık : viewtopic.php?t=14695&highlight=)
Yukarıdaki konu başlığında, verileri şifrelemek için bir yöntem belirtmiştim. Ancak o zamanlar yapmış olduğum denemelerde yalnızca DBEdit kullanmıştım.
Ne var ki, bu OnSetText, OnGetText olay işleyicilerini kullanarak şifreleme / deşifreleme yaparken, DBMemo kullandığımda, OnGetText olay işleyicisi ateşleniyor ancak OnSetText olay işleyicisi ateşlenmiyor. Dolayısıyla DBMemo veritabanında şifrelenmiş bir alanın değerini güzel gösteriyor ancak DBMemoyu edit ettiğimizde, tekrar şifreleme yapmıyor.
DBMemo kullanmaktan kaçınayım dedim. Onun yerine DBEdit kullanmaya çalıştım. Ancak bu defa da boyut sorunu oldu (yani DBEdit'in boyunu neye ayarlarsam ayarlayayım yüksekliği hep tek satır yüksekliği oluyor).
Acaba bu sorun hakkında bir fikri olan var mıdır?
Saygılarımla,
DBMemo ve TField.OnSetText olay işleyicisi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Çözüldü
Sayın Arkadaşlar,
Sorunu şu şekilde çözdüm. İlgili IBDataSet'in before post olayında önce DBMemo bileşeninin bağlı olduğu alanın OnGetText olay işleyicisini nil'e atıyorum.
Daha sonrasında
ile şifrelenmiş halini metni alana atıyorum ve daha sonra after postta OnGetText olayını tekrar eski haline getiriyorum.
Belki birilerinin işine yarar.
Saygılarımla,
Sorunu şu şekilde çözdüm. İlgili IBDataSet'in before post olayında önce DBMemo bileşeninin bağlı olduğu alanın OnGetText olay işleyicisini nil'e atıyorum.
Daha sonrasında
Kod: Tümünü seç
AnIntegerField.AsString := Sifrele(DBMemo.Text);
Belki birilerinin işine yarar.
Saygılarımla,