Merhaba Webkolog takipçileri!
Bugün web geliştirme önemli duraklardan biri olan ASP (Active Server Pages) teknolojisine göz atıyoruz. ASP, özellikle dinamik web siteleri oluşturmak için yaygın olarak kullanılan, Microsoft tarafından geliştirilmiş sunucu taraflı bir betik ortamıdır. ASP sayfaları genellikle VBScript ile yazılıyor. ASP'nin temel programlama mantığını anlamak, sunucu taraflı çalışmanın nasıl başladığına dair önemli bir bakış açısı sunuyor. Gelin, ASP'nin (ve dolayısıyla VBScript'in) temel yapı taşlarını birlikte inceleyelim: veri tipleri, operatörler, değişkenler, deyimler, diziler ve döngüler!
Veri Tipleri: Bilgiyi Saklamanın Yolları
ASP'de (ve VBScript'te) temel olarak her şey bir Variant veri tipidir. Ancak Variant, içerdiği değere göre farklı alt tiplere bürünür. İşte en yaygın kullanılan alt veri tipleri:
- Byte: 1 baytlık işaretsiz tamsayı. 0 ile 255 arasında değer alabilir. Küçük pozitif sayılar için idealdir.
- Integer: 2 baytlık işaretli tamsayı. -32.768 ile 32.767 arasında değer alabilir. Genellikle sayılar için varsayılan seçimdir.
- Long: 4 baytlık işaretli tamsayı. -2.147.483.648 ile 2.147.483.647 arasında değer alabilir. Daha büyük tamsayılar için kullanılır.
- Double: 8 baytlık ondalık sayı tipi. Çok geniş bir aralıkta ondalıklı sayıları temsil edebilir. Bilimsel ve finansal hesaplamalarda karşımıza çıkar.
- String: Karakter dizilerini saklar. Karakter sınırı verilmezse 2 milyar karaktere kadar atama yapılabilir. String değerler her zaman çift tırnak ("") içinde belirtilir.
- Date: 8 bayt yer kaplar. 1/1/100 ile 31/12/9999 arasındaki tarih ve 0:00:00 ile 23:59:59 arasındaki saat atamaları yapılabilir. Tarih değerleri hash işaretleri (##) arasında da belirtilebilir.
<% Dim Dogum_tarihi Dogum_tarihi = #21/03/1986# Response.Write Dogum_tarihi %>
- Boolean: 2 baytlık bir veri tipi olmasına rağmen sadece True (Doğru) veya False (Yanlış) değerleri alabilir. Karar verme mekanizmalarında sıkça kullanılır. Atanan sayı 0 ise False, değilse True kabul edilir.
Değişkenler: Bilgiyi Sakladığımız Kutular
Değişkenler, programlama yaparken verileri geçici olarak sakladığımız isimlendirilmiş hafıza alanlarıdır. ASP'de (ve VBScript'te) değişkenleri kullanmadan önce tanımlamak iyi bir programlama pratiğidir, ancak zorunlu değildir (eğer sayfanızın başında Option Explicit
kullanmıyorsanız). Değişken tanımlamak için genellikle Dim
anahtar kelimesi kullanılır.
<%
Dim kullaniciAdi
Dim yas, sehir
Dim fiyat
Dim aktifMi
kullaniciAdi = "Webkolog"
yas = 38
sehir = "İstanbul"
fiyat = 49.99
aktifMi = True
Response.Write "Kullanıcı Adı: " & kullaniciAdi & "<br>"
Response.Write "Yaş: " & yas & "<br>"
Response.Write "Fiyat: " & fiyat & "<br>"
Operatörler: Değişkenlerle İşlem Yapma Gücü
Operatörler, değişkenler veya değerler üzerinde matematiksel, mantıksal veya karşılaştırmalı işlemler yapmamızı sağlar. İşte ASP'de kullanılan başlıca operatörler:
- Atama Operatörü:
=
(Atama): Bir değeri bir değişkene atar.X = 5
- Aritmetik Operatörler:
+
(Toplama):Response.Write 20 + 5 ' Çıktı: 25
-
(Çıkarma):Response.Write 10 - 5 ' Çıktı: 5
*
(Çarpma):Response.Write 3 * 5 ' Çıktı: 15
/
(Bölme):Response.Write 9 / 2 ' Çıktı: 4.5
</code> (Tam Bölme): Sonucu tamsayı olarak verir (ondalıklı kısmı atar).
Response.Write 9 \ 2 ' Çıktı: 4
^
(Üst Alma): Bir sayının kuvvetini alır.Response.Write 4 ^ 2 ' Çıktı: 16
Mod
(Modüler Aritmetik): Bir bölme işleminden kalanı verir.Response.Write 5 Mod 2 ' Çıktı: 1
- String Birleştirme Operatörü:
&
(Birleştirme): İki veya daha fazla stringi yan yana birleştirir.Response.Write "Kadı" & "köy" ' Çıktı: Kadıköy
- Mantıksal (Logical) Operatörler:
Boolean değerler üzerinde işlem yaparlar ve genellikle koşullu ifadelerde kullanılırlar.
And
(Ve): Her iki koşul da doğruysa True döner.Response.Write (True And False) ' Çıktı: False
Or
(Veya): Koşullardan en az biri doğruysa True döner.Response.Write (True Or False) ' Çıktı: True
Not
(Değil): Bir koşulun tersini alır.Response.Write (Not True) ' Çıktı: False
Xor
(Özel Veya): İki koşuldan sadece biri doğruysa True döner.Response.Write (True Xor False) ' Çıktı: True
- Karşılaştırma Operatörleri:
İki değeri karşılaştırır ve sonuç olarak True veya False döndürür.
=
(Eşittir)<>
(Eşit Değildir)<
(Küçüktür)>
(Büyüktür)<=
(Küçük Eşittir)>=
(Büyük Eşittir)
Deyimler: Akışı Kontrol Etmek
Deyimler (Statement'lar), programınızın belirli koşullara göre farklı yollar izlemesini veya belirli blokları çalıştırmasını sağlar. En yaygın kullanılan kontrol deyimleri şunlardır:
If...Then
Deyimi
Belirli bir koşulun doğru olup olmadığını kontrol eder ve buna göre kod yürütür.
- Basit
If
:
<%
Dim puan
puan = 75
If puan >= 70 Then Response.Write "Geçtiniz!"
%>
If...Then...Else
: Koşul doğruysa bir işlemi, yanlışsa başka bir işlemi yapar.
<%
Dim sicaklik
sicaklik = 22
If sicaklik > 25 Then
Response.Write "Hava sıcak."
Else
Response.Write "Hava ılık."
End If
%>
If...Then...ElseIf
: Birden fazla koşulu ardışık olarak kontrol eder.
<%
Dim notOrtalamasi
notOrtalamasi = 85
If notOrtalamasi >= 90 Then
Response.Write "Notunuz: A"
ElseIf notOrtalamasi >= 80 Then
Response.Write "Notunuz: B"
ElseIf notOrtalamasi >= 70 Then
Response.Write "Notunuz: C"
Else
Response.Write "Notunuz: F"
End If
%>
Select Case
Deyimi
Bir değişkenin veya ifadenin birden fazla olası değeri olduğunda, If...ElseIf
zincirine daha okunabilir bir alternatif sunar.
<%
Dim haftaGunu
haftaGunu = 3 ' 1: Pazartesi, 7: Pazar
Select Case haftaGunu
Case 1
Response.Write "Bugün Pazartesi."
Case 2
Response.Write "Bugün Salı."
Case 3
Response.Write "Bugün Çarşamba."
Case 4
Response.Write "Bugün Perşembe."
Case 5
Response.Write "Bugün Cuma."
Case 6, 7 ' Birden fazla değeri tek bir Case'de kontrol edebiliriz
Response.Write "Bugün Hafta Sonu!"
Case Else
Response.Write "Geçersiz gün."
End Select
Diziler: Birden Fazla Değeri Tek Değişkende Saklamak
Diziler (Arrays), birden fazla değeri tek bir değişken adı altında, sıralı bir şekilde saklamamızı sağlar. Her bir değere bir indeks (sıra numarası) aracılığıyla erişilir. ASP'de diziler 0 tabanlıdır, yani ilk elemanın indeksi 0'dır.
- Sabit Boyutlu Dizi Tanımlama:
<%
Dim ogrenciler(3) ' 4 elemanlı bir dizi (0, 1, 2, 3 indeksleri)
ogrenciler(0) = "Ayşe"
ogrenciler(1) = "Fatma"
ogrenciler(2) = "Mehmet"
ogrenciler(3) = "Ali"
Response.Write "İkinci öğrenci: " & ogrenciler(1) & "<br>"
Response.Write "Son öğrenci: " & ogrenciler(UBound(ogrenciler)) & "<br>" ' UBound: Dizinin en yüksek indeksini verir
%>
</code></pre>
</li>
<li><b>Dinamik Boyutlu Dizi Tanımlama ve Yeniden Boyutlandırma:</b>
<pre><code>
<%
Dim sayilar() ' Boş bir dinamik dizi
ReDim sayilar(2) ' Diziyi 3 elemanlı yapar (0, 1, 2)
sayilar(0) = 10
sayilar(1) = 20
sayilar(2) = 30
ReDim Preserve sayilar(4) ' Diziyi 5 elemanlı yapar, mevcut değerleri korur
sayilar(3) = 40
sayilar(4) = 50
Response.Write "İlk sayı: " & sayilar(0) & "<br>"
Response.Write "Son sayı: " & sayilar(4) & "<br>"
%>
</code></pre>
<p><code>ReDim Preserve</code> anahtar kelimesi, dizinin boyutunu değiştirirken mevcut verilerin kaybolmamasını sağlar.</p>
</li>
Döngüler: Tekrarlayan İşlemler için
Döngüler, belirli bir kod bloğunu bir koşul doğru olduğu sürece veya belirli bir sayıda tekrarlamak için kullanılır. Bu, aynı işlemi defalarca yazmaktan bizi kurtarır.
For...Next
Döngüsü
Belirli bir sayıda tekrar etmesi gereken işlemler için idealdir.
<%
For i = 1 To 5
Response.Write "Sayı: " & i & "<br>"
Next
' Çıktı:
' Sayı: 1
' Sayı: 2
' Sayı: 3
' Sayı: 4
' Sayı: 5
For j = 10 To 0 Step -2 ' Azalarak sayma
Response.Write "Geri sayım: " & j & "<br>"
Next
For Each...Next
Döngüsü
Bir dizi veya koleksiyonun her bir elemanı üzerinde işlem yapmak için kullanılır.
<%
Dim meyveler(2)
meyveler(0) = "Elma"
meyveler(1) = "Armut"
meyveler(2) = "Muz"
For Each meyve In meyveler
Response.Write "Sevdiğim meyve: " & meyve & "<br>"
Next
While...Wend
Döngüsü
Belirli bir koşul doğru olduğu sürece çalışır. Koşul en başta kontrol edilir.
<%
Dim sayac
sayac = 0
While sayac < 5
Response.Write "Sayac değeri: " & sayac & "<br>"
sayac = sayac + 1
Wend
%>
Do While...Loop
Döngüsü
En az bir kez çalışması garantilidir, çünkü koşul ya döngünün başında ya da sonunda kontrol edilebilir.
- Koşul başta kontrol ediliyor:
<%
Dim x
x = 0
Do While x < 3
Response.Write "X değeri: " & x & "<br>"
x = x + 1
Loop
%>
- Koşul sonda kontrol ediliyor (
Do...Loop While
): Bu durumda döngü en az bir kere çalışır.
<%
Dim y
y = 5
Do
Response.Write "Y değeri: " & y & "<br>"
y = y + 1
Loop While y < 3 ' Koşul yanlış olsa bile bir kez çalıştı
%>
ASP ve VBScript'in bu temel programlama yapıları, dinamik web sayfaları oluşturmak için gerekli olan mantıksal akışı ve veri yönetimini sağlar. Günümüzde modern web geliştirme teknolojileri çok daha gelişmiş olsa da, bu temel kavramlar birçok programlama dilinde benzer şekillerde karşımıza çıkar. Bu yüzden, buradaki mantığı kavramak, gelecekteki öğrenme yolculuklarınız için sağlam bir zemin oluşturacaktır.
Umarım bu makale, ASP dünyasına keyifli bir giriş yapmanıza yardımcı olmuştur!
Webkolog'u takipte kalın!
Hepinize bol kodlu ve başarılı projeler dilerim!
0 yorum:
Yorum Gönder