Outlok tarzı program

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

Outlok tarzı program

Mesaj gönderen hacikisi »

Değerli arkadaşlar. Dbedit1 e tarih gireyim, dbedit2 ye saat gireyim, memoya ise notumu yazayım. sistem tarihi ve saati girilen tarih ve saatle aynıysa mesela c:\melodi.mp3 dosyası çalışsın.
bunun üzerinde hafta sonu epey uğraştım ancak kodları bir türlü düzgüz yazamadım. yardımcı olacak arkadaşlara şimdiden teşekkürler.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba ilk önce tarih bilgisi olan Edit'i daha sonra Saat bilgisi olan Edit'i karşılaştır. Koşulların uyuyorsa istediğin işlemleri yaptır.

Bunun için if komutu ve Timer bileşeni sizin için yeterli olacaktır.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bu anllattığım şekilde Tablo daki alanlar üzerindede işlem yapabilirsin.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

Mesaj gönderen hacikisi »

abiciğim uğraştım ancak kodları yazamadım bu konuda yardımınızı istemiştir. teşekkürler
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Sana şu şekilde yardımcı olabiliriz. Büyük bir ihtimalle Algoritma hatası yapıyorsundur. Yazmış olduğun Kodu buraya yaz bizde bakalım hatanız nerede ?

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

Mesaj gönderen hacikisi »

evdeki bilgisayarımda yarın size prg. getirip mailinize göndereyim. tşk.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Mail'a atılan sorulara cevap vermiyoruz. Forum'a atmanız yeterli. Çünkü benim okumam zaman alabilir başka arkadaşlar benden önce yanıtlama imkanı bulabilirler. Ayrıca Forum kurallarını da okuyalım lütfen.

Teşekkür Ederim

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

hatırladığın kadarıyla

Mesaj gönderen hacikisi »

hatırlayabildiğim kadarıyla kodları yazayım.

if (datetostr(date)=Edit1.Text) and (timetostr(time)=Edit2.Text) then
begin
MediaPlayer1.FileName:='c:\music.mp3';
MediaPlayer1.Play;

ben burda editi kontrol ettirmek istemiyorum. tablodaki o alanı yani tarih alanını kontrol etsin tutuyorsa timeyi de kontrol etsin o da tutuyorsa müzik çalsın. tablodaki alanı komple (aktif kayıt olması gerekmiyor) nasil kontrol ettireceğim.
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

merhaba!

SQL ile tablodan tarih ve zamanı uyan tüm kayıtları çağır.
eğer tablonun recordcount u 0 dan büyükse (ki bu otarih ve saatte çalma işlemi gerçekleştirmesi gerektiği anlamına geliyor) çalma işlemini gerçekleştir. Bu koduda timer in ontimer olayına yazarsan timerı da bir dakikaya ayarlarsan işlem tamam gibime geliyor.
biraz daha açıklayıcı olması için şöle bişi yapabiliriz.

Kod: Tümünü seç

procedure Tform1.timer1inontimerolayı();
begin
  query1.close;
  {burada sql ifadeni hazırlayacaksın}
  query1.open;
  if query1.recordcount>0 then
  begin
     {aha burdada mediaplayeri çalıştıracaksın.}
  end;
end;

sanırım bu problemini çözer :)
kolay gelsin iyi çalışmalar.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba

Hacikisi öncelikle Forum kurallarını okuyunuz Yeni Mesaj şeklinde forum'a 2 nci bir mesaj atmayınız.

Anladığım kadarıyla Dosya'daki kayıtları tarayamıyorsunuz bunun için Döngü kullanarak yapabilirsiniz SQL kullanarak da yapabilirsiniz.

Ben döngü için örneğinizi düzenliyorum. Yanlış yazmış olabilirim test yapma imkanım yok.

Kod: Tümünü seç

       Table1.First;
       While not Table1.Eof Do
       Begin
              if (datetostr(date)=(table1tarih.asdatetime) and (timetostr(time)=(Table1saat.ASDateTime) then 
              Begin
                        ShellExecute(0,0,pchar('c:\rehber\data\music.mid'),nil,nil,SW_HIDE);
                        Break;
              End;
              Table1.Next;
        End;
Yukarıda yazmış olduğum kod ile bütün table taratırsınız. Koşullara uyan bir kayıt varsa döngüden istediğiniz işlem yapılır ve döngüden çıkarsınız.


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam... daha önce okullar için benzer bir çalışma yapmıştım... Sonra da DivXTurk altyazı zamanlaması kontrolü içinde aynı metodu uygulamıştım...

- Metod şu... Asla her zaman diliminde veritabanında sorgu yapmayın veya listede pozisyon araması yaptırmayın... :!:

- Yani saniyede bir kere gibi veya benzer bir zaman diliminde, her seferinde kayıtlar içinde bu zamana ait mesaj var mı diye sorarsanız yolda kalırsınız... :oops:

- Programınız çalıştığında ilk olarak verilerinizi saat/tarih sırasına sokun... Sonra bir gösterge tayin edin ve programın ilk çalıştığı veya zamanlayıcının aktif edildiği ilk anda bir kerelik sorgu yaptırıp şimdiki saatten bir sonrakine pozisyon olarak bu göstergeyi bağlayın...

- Sorgulamanız bu göstergedeki kayda ait zamanın gelip gelmediği şeklinde olsun... :idea: Bu şekilde saat sorgusu yapar veritabanınızı rahat bırakırsınız... :wink:

- Karşılaştırma real tipinde olacağından hiçbir zaman = (eşitlik) kontrolü yaptırmayın... Daima büyük mü diye kontrol ettirin... :idea:

- Şimdilik benden bu kadar... Vaktim dar, vakit oldukça daha değişikik trickler sunarım...
Resim
Resim ....Resim
Cevapla