Tarih ve Saat Kontrolü Yapıp Hatırlatan

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
FXERKAN
Üye
Mesajlar: 178
Kayıt: 26 Tem 2003 11:06
Konum: Sivas - Konya
İletişim:

Tarih ve Saat Kontrolü Yapıp Hatırlatan

Mesaj gönderen FXERKAN »

benim yapmaya çalıştığım şey herkesin yaptığı ama benim yapamadığım basit bir şey.

hatırlatıcı bir program. yani girilen tarih ve saatte girilen bir metni gösterecek.

bunun için bir master table (tarih değerleri burada) birde ikinici table (saat ve görüntülenecek bilgilerin olduğu) table var.

forumda sormuş olduğum gridden çıkan takvim özelliğini yaptım.

tarih seçildikten sonra 1.tabloya tarih ekleniyor. daha sonra ikinci tabloda saat ve hatırlatma giriliyor.

ben bir timer yardımı ile sürekli tabledeki tüm saatleri kontrol ettiriyorum ki acaba şu andaki zaman dilimiyle aynı olan var mı diye. ancak bir türlü tam doğru sonucu vermedi. tek kayıt olunca sorun yok ama kayıt sayısı artınca olmuyor. ve işte timerda kullandığım kod

procedure TForm1.saat_kontrolTimer(Sender: TObject);
var
boyut, i : integer;
bitir : boolean;
begin

boyut := tbl_yap.RecordCount;
i:=1;

if boyut < 1 then saat_kontrol.Enabled := false;

if boyut = 1 then
begin
if (tbl_yapSAAT.Text = time) then showmessage('HATIRLATMA' + #13 + tbl_yapYAPILACAK.Text);
end;

if boyut > 1 then
begin

repeat
begin

if i >= boyut then
begin
showmessage('uygun saat olmadığı için başa dönüldü');
tbl_yap.First;
i:= 1;
end else
begin

if (tbl_yapSAAT.Text = time) then
begin
showmessage('HATIRLATMANIZ VAR' + #13 + tbl_yapYAPILACAK.Text);
end else
begin
i:=i+1;
tbl_yap.Next;
end;

end;

until (bitir=true);


end;

end;


anlayan arkadaşların acil yardımlarını bekliyorum
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Butun kayitlari elden gecirerek dogru kayitlari bulma yontemi pek kullanisli ve de tavsiye edilen bir yontem degildir.

Bunun yerine bir query ile bu isi cozebilrsiniz.

Ayricafarkli iki table yerine tek bir table'da yek bir alani tipi datetime olarak kullanmaniz yeterli. Bahsettiginiz kadarlik bir yapi icin iki tablo gereksiz.

Gerek hatirlatmalari veritabanina girerken gerekse de Yazacaginiz query ile sorgularken dikkat etmeniz gereken eger karsilastirmayi time fonksiyonu ile yaparsaniz uygun kaydi yakalama sansiniz cok dusuk olacaktir. Saniyorum sizin yazdiginiz koddaki sorun da bu olsa gerek. Time fonksiyonu veritabanina kaydettiginiz salise bazindaki verileri yine time ile salise bazinda bir degiskenle karsilastirirken bunlarin tam olarak esit denke gelme sansi bence cok dusuk. O yuzden kuracaginiz yapida sadece saat ve dakikayi tutup o anki saat ve dakika'nin sisteme var olup olmadigina bir query ile bakmanizi tavsiye ederim.
Kullanıcı avatarı
FXERKAN
Üye
Mesajlar: 178
Kayıt: 26 Tem 2003 11:06
Konum: Sivas - Konya
İletişim:

Mesaj gönderen FXERKAN »

ya abi bu cevap içinde teşekkür ederim. alınmayın ama bişey soracaktım

abi galiba siteyi sürekli cebinizde dolaştırıyorsunuz. yani sanki sitede bi yapay zeka var gibi bugün sorduğum tüm sorulara hemen cevap verdiniz valla helal olsun.

ben dediğinizi deniyim nede olsa olmazsa siz sürekli burdasınız. :D
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

sen genede fikir türet, sana bir sölenirse 5 cevap türetmen lazım, yoksa tembelliğe alışırsın. :) ve sakın unutulmamalıki burada sadece fikir verilir. program yazılmaz
kolay gele

Not :
Bu kadar çok soru soruyorsan siteden kurtulmanın tek yolu her sorduğun soruya karşılık en az 3 cevap vermelisin :lol: :lol: sitedeki arkadaşlar neden burlarda sürekli sanırım anlatabildim :P :lol:
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

estagfurullah,

aslinda sordugun sorulara hızlı cevap vermem tesadufi olarak denk geldi.

Bi daha kolay kolay olmaz zaten. :)

Kolay gelsin...
Cevapla