Bir yordam, belli bir işi yapan ve bir değer döndürebilen betik komutları kümesidir. Kendi yordamlarınızı tanımlayabilir ve bunları betiklerinizde tekrar tekrar çağırabilirsiniz. Yordam tanımlarınızı, bu yordamları çağıran .asp dosyasına yerleştirebileceğiniz gibi sıkça kullanılan yordamlarınızı ortak kullanılan bir .asp dosyadına yerleştirip #include deyimiyle diğer .asp dosyalarına dahil edebilirsiniz. Ayrıca, bir ActiveX paketini de bu işlev için kullanabilirsiniz.
Yordam Tanımlama
Yordam tanımları <SCRIPT> ve </SCRIPT> etiketleri arasında yer alır ve belirtilen betik dilinin kurallarına uymak zorundadır. <SCRIPT> etiketini, birincil betik dilinden ayrı bir betik dilinde yazılan yordamlar için kullanın. Birincil betik dilinde yazılan yordamlar için ise, <% ve %> betik ayraçlarını kullanın.
HTML in <SCRIPT> etiketini kullanırken, betiğin sunucu tarafında işlenmesi için iki özelliği kullanmalısınız. <SCRIPT> etiketini kullanmanın sözdizimi:
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
yordam tanımı
</SCRIPT>
RUNAT=SERVER özelliği, ağ sunucusuna betiğin sunucuda işlenmesi gerektiğini söyler. Eğer bu özelliği kurmazsanız, betik istemci tarayıcı da işlenir. LANGUAGE özelliği bu betik bloğu için kullanılacak olan betik dilini belirtir. Betik motorunuz olan herhangi bir betik dilini kullanabilirsiniz. VBScript belirtmek için VBSCRIPT, JScript belirtmek içinse JSCRIPT değerini kullanmanız gerekir. Eğer LANGUAGE özelliğini kurmazsanız, betik bloğu birincil betik dilinde yorumlanır.
Betik bloğundaki komutlar seçilen betik dilinde bir ya da daha fazla tam yordam oluşturmalıdır. Örneğin aşağıdaki komutlar JScript dilindeki BirYordam yordamını tanımlamaktadır:
<HTML>
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
function BirYordam()
{
Response.Write(”BirYordam çağırıldı!”)
}
</SCRIPT>
Önemli: Sunucu tarafında <SCRIPT> etiketleri arasında tam yordamların parçaları olmayan betik komutları kullanmayın. Bir yordamın bölümü olmayan komutlar, tahmin edilemeyecek sonuçlar doğurabilirler, çünkü çalıştırılma sıraları tahmin edilemez. Ayrıca, ASP çıkış komutunu (<%=) da bir yordam içinde kullanamazsınız. Bunu yerine, Response.Write kullanmalısınız.
Yordam Çağırma
Yordam çağırmak için, yordamın adını bir komutta kullanın. VBScript den JScript yordamları çağırıyorsanız, yordam isminden sonra parantez kullanın; yordamın hiçbir parametresi yoksa boş parantez kullanın. JScript den VBScript ya da JScript yordamları çağırıyorsanız, yordam adından sonra mutlaka parantez kullanın.
VBScript de yordam çağırırken Call anahtar kelimesini de kulanabilirsiniz. Yalnız, çağırdığınız yordamın parametreleri varsa bu parametreler de parantezler dahilinde verilmelidir. Call anahtar kelimesini kullanmazsanız parametreler etrafına parantez koymanıza da gerek yoktur. Call sözdizimi ile herhangi bir standart ya da kullanıcının tanımladığı işlevi çağırmak isterseniz, işlevin döndürdüğü değer atılır.
Aşağıdaki örnekte iki değişik betik dili (VBScript ve JScript) kullanılarak yordam yazılması ve çağırılması örneklenmiştir:
<%@ LANGUAGE = VBSCRIPT >%
<HTML>
<BODY>
<% Call Yaz %>
<BR>
<% Call TarihYaz() %>
</BODY>
</HTML><%
Sub Yaz
Response.Write “<TABLE>”
Response.Write “<TR><TH>Name</TH><TH>Value</TH></TR>”
Set Params = Request.QueryString
For Each p in Params
Response.Write “<TR><TD>” & p & “</TD><TD>” & _
Params(p) & “</TD></TR>”
Next
Response.Write “</TABLE>”
End Sub
%><SCRIPT LANGUAGE=JScript RUNAT=Server>
function TarihYaz()
{
var x
x = new Date()
Response.Write(x.toString())
}
</SCRIPT>
Dizilerin Yordamlara Parametre Olarak Gönderilmesi
VBScript de bir dizinin tümünü bir yordama göndermek için, dizi isminden sonra boş parantez kullanın; JScript de ise boş köşeli parantez kullanın.
Not; Bu yazı 04 Aralık 2003 tarihinde http://www.sorucevap.com/uyeler/dersler.asp?maxiturk adresinde tarafımca yayınlanmıştır.
Kolay Gelsin