Anneler Günü Hatırlatması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Anneler Günü Hatırlatması
Slm arkadaşlar bir sorum var.Forumda çok aradım ama birtürlü aradığım şeyi bulamadım...sonunda sormaya karar verdim eğer varsa ve göremediysem özür dilerim öncelikle. soruma gelince...
ben anneler gününde vt'deki kayıtlardan 'cinsiyeti' alanı kadın ve 'cocuk' alanı evet olanların sql sorgusu ile listelenmesini istiyorum fakat anneler gününün belirli bir tarihi yok atıyorum mayıs ayının 2. pazarı gibi bu tarihi nasıl elde edebilirim nasıl bir şart uygulamalıyım sorguda öğretmenler günü için aynı şeyi yaptım ancak tarih sabit olduğu için kolay oldu fakat bunda takıldım lütfen yardım edin herkese teşekkürler...
Saygılarımla...
ben anneler gününde vt'deki kayıtlardan 'cinsiyeti' alanı kadın ve 'cocuk' alanı evet olanların sql sorgusu ile listelenmesini istiyorum fakat anneler gününün belirli bir tarihi yok atıyorum mayıs ayının 2. pazarı gibi bu tarihi nasıl elde edebilirim nasıl bir şart uygulamalıyım sorguda öğretmenler günü için aynı şeyi yaptım ancak tarih sabit olduğu için kolay oldu fakat bunda takıldım lütfen yardım edin herkese teşekkürler...
Saygılarımla...
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Veritabanı tarafında SQL icinde ikinci pazarı hesaplatmak oldukca zor olacaktir. Kullandığınız veritabanını bilmiyorum ama muhtemelen veritabanı da sizi bu zor SQL cümlesini yazmakta yanlız bırakacaktır.
Diğer bir yandan size anneler gunun hangi tarih olduğu veritabanı tarafında lazım olmayacaktir. Yani anneler gunu ile veritabanında hangi tarih karşılaştırılabilir ki? Sizin SQL cümlesi çocuğu olan cinsitei kadın olan kişileri tespit etmek olacak...
Delphi tarafında ise bir dongu ile ikinci pazarı bulup gerekli yerde kullanabilirsiniz..
ikinci pazar için de en basitinden o yılın 1 mayisiniz başlangıç alıp (01.05.2006) dongu icinde 1'er gun arttirarak ve dayofweek fonksiyonu ile de o gunun pazar olup olmadığına bakarsınız. ilk Pazarı bulunca donguyu kesip 7 gun ilave ederek ikinci pazarı bulmuş olacaksınız....
Kolay gelsin...
Diğer bir yandan size anneler gunun hangi tarih olduğu veritabanı tarafında lazım olmayacaktir. Yani anneler gunu ile veritabanında hangi tarih karşılaştırılabilir ki? Sizin SQL cümlesi çocuğu olan cinsitei kadın olan kişileri tespit etmek olacak...
Delphi tarafında ise bir dongu ile ikinci pazarı bulup gerekli yerde kullanabilirsiniz..
ikinci pazar için de en basitinden o yılın 1 mayisiniz başlangıç alıp (01.05.2006) dongu icinde 1'er gun arttirarak ve dayofweek fonksiyonu ile de o gunun pazar olup olmadığına bakarsınız. ilk Pazarı bulunca donguyu kesip 7 gun ilave ederek ikinci pazarı bulmuş olacaksınız....
Kolay gelsin...
* http://www.fahrettin.org Manzara Fotoğraflarım...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
Sayın Fahrettin hocam aydınlattığınız için teşekkürler.evet dediğiniz gibi anneler gününü vt deki bir alan ile karşılaştırmayacağım sorumu yanlış yazmışım bunun için özür diliyiorum asıl düşündüğüm formn açılışında bu günün anneler günü olup olmadığını bulmak ve eğer anneler günü ise bir if döngüsü ile cinsiyeti bayan ve çocuğu olanları alacak sql cümlesi yazmaktı ama dayofweek fonksiyonunu hiç kullanmadım ve nasıl kullanıldığını bilmiyorum sitede dökümanlarda vardı ama yine fazla bişey anlamadım o yüzden örnek bir basit kod sadece dayofweek ile gönderebilrmisiniz???
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Kod: Tümünü seç
http://www.delphiturkiye.com/forum/search.php?mode=results
http://www.google.com.tr/search?hl=tr&q=delphi+dayofweek&meta=
http://delphi.about.com/library/rtl/blrtlDayOfWeek.htm
http://4programmers.net/Delphi/DayOfWeek
http://www.wwlnk.com/boheme/delphi/vbtodel/daf0210.html
.
.
.
.
.
.
forumda dayofweek icin arama yaparsaniz ornek kod bulacaksınız...
Kolay gelsin...
Kolay gelsin...
* http://www.fahrettin.org Manzara Fotoğraflarım...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...
Kod: Tümünü seç
var:
bulunanpazar,i: integer;
tarih: date;
begin
bulunanpazar:=0;
repeat
begin
if dayofweek(tarih)=1 then bulunanpazar:=bulunanpazar+1;
incday(tarih);
end;
until bulunanpazar=2;
Merhaba,
Aşağıdaki örneği programınıza adapte etmeye çalışın.
uses kısmına dateutils i eklemeyi unutmayın.
DayofWeek fonksiyonu verilen tarihin gününe göre
Pazar ...............1
P.tesi ...............2
Salı ................3
Çarşamba ........4
Perşembe ........5
Cuma ..............6
Ctesi ...............7
karşılarındaki rakamı gösterir.
NthDayofWeek fonksiyonu ise girilen günün kaçıncı haftada olduğunu gösterir. Mesela Mayıs 2006 için örnek verirsek.
1 Mayıs Pazartesinin 1. haftası
8 Mayıs Pazartesinin 2. haftası
15 Mayıs Pazartesinin 3. haftası
22 Mayıs Pazartesinin 4. haftası
29 Mayıs Pazartesinin 5. haftası
olarak döner.
Kolay gelsin.
Aşağıdaki örneği programınıza adapte etmeye çalışın.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
tarih:string;
SorguTarihi:tdatetime;
begin
tarih:='14.05.2006' ;
if (nthdayofweek(strtodate(tarih) )=2) and (dayofweek(strtodate(tarih))=1) then
begin
label1.Caption:='Bugün :'+datetostr(strtodate(tarih));
label2.Caption:='ve özel bir gün !!!! Çünkü Bugün Anneler Günü ';
SorguTarihi:=strtodate(tarih);
label3.Caption:='Sorgulanacak Tarih :'+datetostr(SorguTarihi);
end
else
label1.Caption:='Anneler günü değil';
end;
DayofWeek fonksiyonu verilen tarihin gününe göre
Pazar ...............1
P.tesi ...............2
Salı ................3
Çarşamba ........4
Perşembe ........5
Cuma ..............6
Ctesi ...............7
karşılarındaki rakamı gösterir.
NthDayofWeek fonksiyonu ise girilen günün kaçıncı haftada olduğunu gösterir. Mesela Mayıs 2006 için örnek verirsek.
1 Mayıs Pazartesinin 1. haftası
8 Mayıs Pazartesinin 2. haftası
15 Mayıs Pazartesinin 3. haftası
22 Mayıs Pazartesinin 4. haftası
29 Mayıs Pazartesinin 5. haftası
olarak döner.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Aslında direk SQL ile bunu gerçekleştirebilirsiniz.
FireBird için örnek:
Diğer VT'lerde de benzer şekilde yapılabilir.
İyi çalışmalar.
FireBird için örnek:
Kod: Tümünü seç
Select * FROM TABLO
WHERE EXTRACT(WEEKDAY FROM TARIH) = 0 AND EXTRACT(DAY FROM TARIH) BETWEEN 8 AND 14 AND EXTRACT(MONTH FROM TARIH) = 6
İyi çalışmalar.
benim yazdığım kodda bir atama hatası var, satırını da eklerseniz, çalışır.
Kod: Tümünü seç
tarih := strtodate('01.05.2006');
...
...
...
if date=tarih then showmessage('Bugün Anneler günü');