Kullanıcıya uyarı verme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 05:37

Kullanıcıya uyarı verme

Mesaj gönderen mhmmt »

selamlar herkes,

şimdi delphi ve firebird kullanıyorum

Kullanıcıya istenen tarihten 3 gün öncesinden uyarı verdirmek istiyorum.
hastalara not ekledım kullanıcı sısteme gırdıgınde şu hastanın notu dıye gösterecek

ben kullanıcı girişi butonuna tıkladıgında ;
not tarih - sistem tarihi =3 diye kafamda kurdum ama koda dökemedim

şimdiden teşkkürler.
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Kullanıcıya uyarı verme

Mesaj gönderen ihalilcoban »

Merhaba.

Öncelikle şunu belirtmek isterim; not tarih - sistem tarihi =3 bu şekilde kullanırsanız- ki kullanım şekli yanlış- program her açılışta veya butona her tıklandığında hatırlatma için uyarı verecektir. Bunu önlemek için o mesajın okunup okunmadığıyla ilgili bilgiyi de veritabanına eklemelisiniz.

Kendi projelerimde kullandığım yöntemi paylaşayım. Forma bir adet dataset bileşeni ekle (Dataset kullandığını varsayıyorum). Tabloya bağlantıyı yap. Sonrasında uyarıyı vermesini istediğin butonun içerisine;

Kod: Tümünü seç

DM.BEKLEYEN_ISLEM.Close;
DM.BEKLEYEN_ISLEM.SelectSQL.Clear;
DM.BEKLEYEN_ISLEM.SelectSQL.Text:=
'select * from ISLEM_TBL WHERE SON_ODEME_TARIHI<='''+DateToStr(IncDay(now, 3))+''' and (ODEME_DURUMU='+'''Ödenmedi'''+') ';
DM.BEKLEYEN_ISLEM.Open;
kodunu ekle. Sonra istersen ilgili formun OnShow olayında butonu click yap ki kullanıcı butona basmak zorunda kalmasın.



Not: DM datamodule nin kısaltması. Datamodule kullanmıyorsanız DM yi silerek kodu kullanın. BEKLEYEN_ISLEM datasetin adı kendinize göre düzenleyin.

Kolay gelsin.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Kullanıcıya uyarı verme

Mesaj gönderen Lord_Ares »

İhalilcoban arkadaşımızın yazdığına ilaveten, bence uyarılar adında bir tabloda yarat. Çünkü, birden çok hastanın hatırlatması olduğunda herbirine tek tek uyarı verdirmek, kullanıcı açısından baya can sıkıcı olabilir. Programın ilk açılışta ana tablondaki tarihleri kontrol etsin. Yaklaşan gün varsa uyarı tablona eklesin ve ana ekranda yaklaşan günleriniz var uyarılar tablosunu kontrol edin gibi bir uyarı versin. Kişi uyarılar tablosuna gidip görebilsin. Programının her kapanışında da günü geçen uyarıları tablodan silersin.
mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 05:37

Re: Kullanıcıya uyarı verme

Mesaj gönderen mhmmt »

ihalilcoban ve lord_ares hocam öncelikle teşekkür ederim vakit ayırıp ilgilendiğiniz için.

Projeden genel bahsedeyim size daha net olacaktır.

Databasede kullanıcılar , hastalar ve uyarılar tablolarım var

kullanıcı giriş yapıyor,
hasta ekliyor hastayı ekledıkten sonra lısteden arayıp seciyor hastanın adını o hastaya bir uyarı tarıhı ve not eklıyor.
bir hastaya birden cok not ekleyebiliyor.

benim istediğim ;

***kullanıcı giriş yapıyor ana sayfa gireceği zaman o kullanıcıya uyarı tarihinden 3 gun önceden bir uyarı vermesı
kullanıcıda bu uyarının bırdaha gelıp gelmemesını secebılecek.(tekrar göster ve atla gıbı)

tesekkurler.
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Kullanıcıya uyarı verme

Mesaj gönderen ihalilcoban »

mhmmt yazdı: 17 Kas 2018 12:15 ihalilcoban ve lord_ares hocam öncelikle teşekkür ederim vakit ayırıp ilgilendiğiniz için.

Projeden genel bahsedeyim size daha net olacaktır.

Databasede kullanıcılar , hastalar ve uyarılar tablolarım var

kullanıcı giriş yapıyor,
hasta ekliyor hastayı ekledıkten sonra lısteden arayıp seciyor hastanın adını o hastaya bir uyarı tarıhı ve not eklıyor.
bir hastaya birden cok not ekleyebiliyor.

benim istediğim ;

***kullanıcı giriş yapıyor ana sayfa gireceği zaman o kullanıcıya uyarı tarihinden 3 gun önceden bir uyarı vermesı
kullanıcıda bu uyarının bırdaha gelıp gelmemesını secebılecek.(tekrar göster ve atla gıbı)

tesekkurler.
Merhaba.

Projenizin yapısını az çok tahmin ettiğim için kullandığım yapıyı örnek verdim. Dediğim gibi yaparsanız istediğinizi elde edersiniz. İlgili forma bir adet dataset bir adet datasource ve bir adet de transaction ekleyip uyarılar tablosuna bağlayın ve gerekli diğer bağlantıları yapın. Sonra ilk mesajımda belirttiğim kod yapısını kendinize uyarlayarak bir buton içerisine atın. Ana formunuzun onshow olayında butonu tetikletip mesaj penceresini açtırın.

Kolay gelsin.
mhmmt
Üye
Mesajlar: 12
Kayıt: 15 Kas 2018 05:37

Re: Kullanıcıya uyarı verme

Mesaj gönderen mhmmt »

Çözüm:

uyari.Close;
uyari.SQL.Clear;
uyari.SQL.Text:='select * from uyarilar, hastalar WHERE current_date -3 <=U_TAR ';//and (OKUMA_DURUMU='+'''OKUNMADI'''+') ';
uyari.Open;
MessageDlg('Hasta Adı :'+uyari.FieldByName('H_AD').AsString +#13+
'Hasta Soyadı :'+uyari.FieldByName('H_SOYAD').AsString +#13+
'Uyarı Notu :'+uyari.FieldByName('U_NOT').AsString +#13+
'Uyarı Tarihi :'+uyari.FieldByName('U_TAR').AsString,mtinformation,[mbYes ,mbNo],0);
Cevapla