ASP Süreçler (Prosedürler)

ASP, PHP, PERL, CGI, HTML gibi web programcılık dilleri hakkında yardım, tartışma ve paylaşımlar.
Cevapla
Kullanıcı avatarı
UnreaL
Fast Friend
Fast Friend
Mesajlar: 207
Kayıt: 24-12-2005 17:26

ASP Süreçler (Prosedürler)

Mesaj gönderen UnreaL »

VBScript'te programın akış kontrolünde kullanacağınız bir diğer grup araç ise örneğin Javascript veya Perl'de fonksiyon dediğimiz gruplandırılmış ve isimlendirilmiş işlem kümeleridir. Bu kümeler programın bir yerinde topluca dururlar ve programın başka bir yerinden isimleriyle çağrılırlar; veya bu kümelere isimleriyle referans yapılır.

VBScript'te bu kümelenmiş kod gruplarına Prosedür (Süreç) denir. iki türlü olur: fonksiyon (Function) ve Subroutine (sab-rutin okunur; kısaca Sub diye yazılır ve sab diye okunur). Bu iki süreç arasındaki başlıca fark, fonksiyondan kendisini çağıran komuta daima bir değer döner; Sub'dan dönmeyebilir. Sub, yapacağı işi yapar ve programın kontrolünü kendine atıf yapılan noktaya devreder. VBScript'de bir programa farklı yerlerde sık sık aynı işi yaptırıyorsak, bunu bir Sub ile yaptırırız; fakat programımıza bir değer gerekiyorsa, bu değeri bir fonksiyona hesaplattırırız. Her ikisi de kendilerine atıfta bulunan veya kendilerini göreve çağıran satırdan (komuttan, deyimden) verilebilecek değerleri kabul edebilirler.


<%
Sub prosedürün_ismi (arguman1, arguman2, .. , argumanN)
' kodlar, kodlar, kodlar...
End Sub
%>


argümansız;

<%
Sub yildirim_gursesin_anisina()
Response.write "leylaklar dökülür, güller ağlasın"
End Sub
%>


Fonksiyon adlarının sonuna, bizden beklediği değer varsa onları belirleyen değişken adlarını parantez içinde yazarız. Fonksiyon bizden bir değer beklemiyorsa açılan kapanan (boş) parantezlere ihtiyaç yoktur. ancak bir çok VBScript programcısı bunu adet edinmiştir. Sub'ların çağrılması, fonksiyondan farklıdır. Sub'ın icra edilmesini istediğiniz noktaya sadece adını yazarız. Sub'lar işleyebilmek için bizden değer bekliyorsa, bu değerleri Sub adının yanına, parantez içine almadan ve virgülle ayırarak, yazarız. Örneğin, Hesapla isimli ve bizden iki değer bekleyen bir Sub şöyle çağrılır:

Argümanlı sub işletimi

<%
' tercih 1
Call prosedur_ismi ( arguman1, arguman2, .. , argumanN )
' tercih 2
prosedur_ismi arguman1, arguman2, .. , argumanN
%>


Argümansız sub işletimi

<%
' başka işler...
Call yildirim_gursesin_anisina()
' veya
yildirim_gursesin_anisina
%>


Bu Sub işini bitirdiği anda programın akışı, Sub'a atıf yaptığımız noktada devam eder.

EXIT SUB

Son olarak <% exit sub %> deyimini yad ederek bitirelim. Bu deyimi bir sub bloğu içinde kullanırsanız program akışı, bu deyimi görür görmez o sub bloğundan çıkar ve bu sub hangi satırdan çağrılmışsa o satırdan sonraki kodları icra etmeye koyulur. Buna ihtiyacmız olur mu? Evet, olur. Zaten bu deyim, bir şartlı sınama bloğu içinde kullanılır genellikle. Belli bir koşul gerçekleştiğinde veya gerçekleşmediğinde sub içerisinde, diğer deyimlerin işlenmeden çıkılmasını sağlar. Aşağıdaki banal örneğe bakalım:

<%
pay = 5
payda = 2
Call bol ( pay, payda )
pay = 16
payda = 0
Call bol ( pay, payda )

Sub bol ( x , y )
If y=0 Then
Response.Write x & " \ " & y & ": müjde! divijın bay ziro.. bumm.."
exit Sub
End If
bolum = x \ y ' tam bölme
kalan = x mod y
Response.Write x & " \ " & y & " bölümü : "
Response.Write "bölüm: " & bolum & " : kalan: " & kalan & "<br>"
End Sub
%>



TARİH VE SAAT


Belki de Web'in zamana çok bağlı oluşu dolayısıyla, Visual Basic'in hemen hemen bütün zaman-tarih fonksiyonları VBScript'te de kullanılır.

Date: Bugün tarihini verir. (25.03.2000 gibi)
Time: O andaki saati verir. (22:24:40 gibi)
Now: O andaki tarih ve saati birlikte verir. (25.03.2000 22:24:40 gibi)

VBScript'in buna ek olarak Weekday (haftanın günü), WeekdayName (günün adı) ve Monthname (ayın adı) fonksiyonları da vardır. Bu fonksiyonlar değerlerini Date fonksiyonuna göre alırlar. Örneğin,

<%= WeekdayName(Weekday(Date))%>

komutu bize bugün Cumartesi ise "Cumartesi" değerini verir.

<%= MonthName(Month(Date))%>

komutu bize bu ay Mart ise "Mart" değerini verir. VBScript'in bunlara ek olarak Day (gün), Month (ay) ve Year (yıl) fonksiyonları da değerlerini Date fonksiyonundan alarak, size bir rakam verirler. Eğer tarih 25 Mart 2000 ise:

<%= Day(Date)%>... 25
<%= Month(Date)%>... 3
<%= Year(Date)%>... 2000


değerini verir. VBScript, bu değerleri doğruca işletim sisteminden alır. Dolayısıyla işletim sisteminin bölgesel ayarları Türkiye için yapılmışsa, gün adları Türkçe olarak dönecektir. Ayrıca, tarih ve saat biçimleri de bölgesel ayarlara bağlı olarak, ay önde, gün arkada veya tersi, saat de 12 saat veya 24 saat esasına göre döner. ASP programlarınızı kişisel Web Server'da denerken kendi bilgisayarınızın tarih ve saatini; gerçek Internet'te çalıştırırken Server'ın tarih ve saatini alırsınız. Sayfalarınızda ay ve gün adlarını Türkçe görüntülemek için, önce Server'ın bölgesel ayarlarını sınamanız ve eğer isimler Türkçe gelmiyorsa, bunları çeviren Sub'lar veya fonksiyonlar yazmanız gerekebilir.
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 2 misafir