BİLİŞİM - BİLGİSAYAR - EĞİTİM
  Doğum Günü Hesabı
 

Doğum Günü Hesabı

VBScript’in dil olarak bize sağladığı bazı kolaylıkları ASP teknolojisi ile birleştirebiliriz. ASP sayfalarımızda istediğimiz gibi HTML kodları da kullanırız. Bu örnekte, bu iki unsuru da birarada göreceğiz. Aşağıdaki kodu dogumgunu01.asp adıyla kaydedin:

<% @LANGUAGE=VBscript %>

<%

Option Explicit

Response.Expires = 0

Dim serverSaat, kalanSaat

serverSaat = Time

' aşağıdaki satırda işaretler arasındaki yere kendi doğum gününüzü yazın

kalanSaat = DateDiff("h",Now,#7/8/2000#)

%>

<HTML>

<HEAD>

<TITLE>Dogum Günü Hesabı!</TITLE>

<META http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<META http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<BODY>

<H3>

<CENTER>

<p>Selam:</p>

<p>Şu anda saat: <%=ServerSaat%></p>

<%

If kalanSaat > 0 Then

    Response.Write "Doğum gününüze " & kalanSaat & " saat var." & VbCrLf

ElseIf kalanSaat < 0 Then

    Response.Write "Doğum gününüz " & kalanSaat & " geçmiş buluyor." & VbCrLf

Else

    Response.Write "<b>Doğum gününüz kutlu olsun!</b>" & VbCrLf

End If

%>

</CENTER>

</H3>

</BODY>

</HTML>

Bu kodda bulunan ASP nesnelerini ve metodlarını kolayca görüyor olmalısınız. Tanımlamadığımız bir değişken kullanmayı veya değişken adlarını yanlış yazmayı önleyen Option Explicit ifadesi dikkatinizi çekiyor olmalı. Sayfamızda bir hesap yapılacağı için Browser tarafından geçici Internet dosyaları arasında (cache) saklanmasını istemediğimizi, Response.Expires’ın değerini 0 yaparak belirtiyoruz. iki değişken tanımlıyoruz (serverSaat ve kalanSaat) ve bunlardan birincisine Server’ın o andaki saatini Time fonksiyonu ile atıyoruz. İkinci değişken ise hesaplama sonucu belirlenecek. Bu arada ASP programının hangi tarihe kaç saat kaldığını hesaplamasını istiyorsak, kalanSaat’i belirleyecek formüle o tarihi yazıyoruz. Bu formüle dikkatle bakalım:

kalanSaat = DateDiff("h",Now,#7/8/2000#)

DateDiff ve DateAdd, VBScript’in vereceğiniz iki tarih arasında, yine vereceğiniz biçime göre farkı bulmasını veya toplamasını sağlar. Buradaki “h” hesap sonucunun saat olarak verilmesini istediğimiz gösterir. “d” ise sonucu gün olarak istediğimiz anlamına gelir. Now, Server’ın o andaki saatidir; ”#” işaretleri arasında ise hesabın yapılacağı tarih, veya buradaki örnekte doğum gününüz yer alıyor. kalanSaat değişkeninin değeri bu hesaplama sonucu olarak doğum gününüze kalan saat olacaktır.

Kodumuzun geri kalan bölümünde ise elde ettiğimiz sonucu Browser’a yollayan bir If seçimi var: doğum gününüze kalan saat 0’dan büyükse veya küçükse bunu farklı cümlelerle belirtiyoruz. Kalan süre 0 ise, bugün doğumgününüz demektir! (ASP ile bu kadar uğraşırsa, insanın doğum gününü filan unutması normaldir. üzülmeyin!)

Daha önce VBScript’in metin ve değişkenleri birbirine “&” işareti ile eklediğini görmüştük. VBScript ile yazdırdığımız satırların sonuna kimi zaman <BR> kodu koyarak, yeni satırın bir satır aşağıdan başlamasını sağladığımızı hatırlıyor olmalısınız. Burada & VbCrLf şeklinde gördüğümüz ifade de bunu sağlar. Bu, Visual Basic’in “alt satıra geç, başa git!” (Carriage Return, Line Feed) komutudur.

<asp0011.tif>

Dedik ki, DateDiff ve DateAdd fonksiyonlarının, sonucu gün olarak vermesini istiyorsanız, “d” argümanını kullanmanız gerekir. Şimdi burada öğrendikleriniz bu programı doğumgününüze kalan saati değil de günü hesaplayacak şekilde değiştirebilir misiniz? (Ortaya çıkartacağınız kodu bu kitapçığın kodları arasındaki dogumgunu02.asp dosyası ile karaşılaştırabilirsiniz.)

<asp0012.tif>

 

Çift Tırnak Gerekince!

Kimi zaman ASP yoluyla ziyaretçininr Browser’ına HTML kodu göndermek gerektiğinde HTML’in gerektirdiği çift tırmak işaretini yazdırma sorunuyla karşılaşırız. VBScript’in gereği olan çift-tırnak işaretinin içine koyacağımız HTML’in gereği olan çift tırnak, ASP hatasına yol açar, C'den türetilen dillerde ters bölü işaretiyle yaptığımız türden, kontrol karakterlerinin metin olarak anlaşılmaması işini (ESCape-ing'i) VBScript’te türlü şekillerde yapabiliriz. Burada, yerine göre, üç yöntemden yararlanabiliriz işe yarar:

 1. Tırnak işareti gereken yerde iki kere tırnak yazmak;

2. İçerdeki tırnak yerine tek-tırnak kullanmak

3. İçerdeki tırnak yerine & Chr(34) & kullanmak. (Bu yöntemi kullandığımızda "dışardaki" tırnak diye bir şey kalmadığına dikkat etmek gerekir.)

Örnekler:

objMetin.WriteLine("<%@ LANGUAGE=""VBScript""%>")

objMetin.WriteLine("<%@ LANGUAGE='VBScript'%>")

objTsOut.WriteLine("<%@ LANGUAGE=" & Chr(34) & "VBScript" & Chr(34) & "%>")

 
 
  Bugün 147 ziyaretçi (233 klik) www.bilisim-egitim.tr.gg  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol