Yaseminfm Flatcast Yardım Destek Sitesi

ASP ÖGREN BÖLÜM 6

Önceki başlık Sonraki başlık Aşağa gitmek

ASP ÖGREN BÖLÜM 6

Mesaj tarafından ender Bir Paz Haz. 14, 2009 9:38 pm

STRING FONKSİYONU

VBscript ten yine evlere şenlik bir fonksiyon. Belirtilen sayıda karakterin tekrarını içeren string oluşturuyor.

Örnek:
Response.write STRING(5, "*") ’ sayfaya "*****" yazar


SPLIT FONKSİYONU

Bir metinden belirlenmiş ayraçlar (delimiter) vasıtasıyla belirtilen sayıda alt-dizgi içeren 0 tabanlı, tek boyutlu dizi üretir.

Sözdizimi: SPLIT(ifade, ayraç, sayi, karşılaştırmakodu).
(Sayi yerine -1 yazılırsa tüm belirlenen tüm alt-dizgiler işleme tabi tutulur.)
Ne iş yaptığını anlamak için örnek yapalım.

Örnek:
Dim mystr, dizi(3)
mystr = "BG|Türkiye nin|Bilisim güvenliği"
dizi = SPLIT(mystr, "|", -1, 1)
Reponse.Write dizi(0) ’ sayfaya "BG" yazar
Reponse.Write dizi(1) ’ sayfaya "Türkiye nin" yazar
Reponse.Write dizi(2) ’ sayfaya "Bilisim güvenliği" yazar

JOIN FONKSİYONU

Split fonksiyonuna göre zır işlemi yapar. Bir dizinin elemanlarını belirtilen ayraç ile birleştirip bir string üretir.

Sözdizimi: JOIN(ifade, ayraç)

Örnek:
Dim dizi(3), str, str2
dizi(0) = "Ben"
dizi(1) = "AHLAKI"
dizi(2) = "HASENE"
str = JOIN(mystr, "|")
str2 = JOIN(mystr, " ")
Reponse.Write str ’ sayfaya "Ben|AHLAKI|HASENE" yazar
Reponse.Write str2 ’ sayfaya "Ben AHLAKI HASENE" yazar
MANTIKSAL İFADELER


İf - Then

VBscript’in vereceğiniz bir durumun bulunup bulunmadığını sınamasını sağlar. Genel yazım kuralı şöyledir:

If şart Then
[şart doğru ise yapılacak işler] Else [şart doğru değilse yapılacak işler]End If

İf...then yapısının en son ve geniş kullanımı ise Elseif yapısı ile birden fazla şart içeren durumlardır.

<%
if method= "Faks" then
Response.Write "Lütfen Faks numaranızı giriniz "
Elseif method= "Email" then
Response.Write "Lütfen E-mail adresinizi giriniz"
Elseif method= "Telefon" then
Response.Write "Lütfen telefon numaranızı giriniz"
Else
Response.Write "Herhangi bir bilgi iletilmeyecektir"
End if
%>

Select Case


Olasılık sayısı artan daha karmaşık bir yapıda if...then yapısı karmaşık bir çözüm olacaktır. Böyle durumlarda Select...Case yapısı daha uygun bir çözüm olarak kullanılır . Aşağıda verilen örneğe göz atalım:

<%
Select Case Secim
Case "Faks"
Response.Write "Lütfen Faks numaranızı giriniz"
Case "Telefon"
Response.Write "Lütfen telefon numaranızı giriniz"
Case "E-mail"
Response.Write "Lütfen e-mail adresinizi giriniz"
End Select
%>

DÖNGÜLER


For..Next döngüsü

Programın bir işi belirli kere yapmasını istiyorsak, ona yapacağı işi bir sayaç değişkeniyle birlikte, For döngüsüyle bildiririz:
For sayaç = başlangıç To son Step adım ...yapılacak işler...Next



While...Wend

Ne var ki, program mantığı bazen bize böyle açık ve seçik bir sayaç kurma imkanı vermez. Sayaç olarak kullanacağımız değer, programın başka bir bölümü tarafından üretiliyor olabilir. Veya bu değer ziyaretçi tarafından belirlenmiş olabilir. Özetle yapılmasını arzu ettiğimiz işin ancak sayaç bir değerden azsa, çoksa veya eşitse yapılmasını, bu durum değişirse durmasını isteyebiliriz. Bunu While (..iken) komutuyla yapabiliriz. While döngüsünü kullandığımız zaman sayacı bizim arttırmamız gerekir. Sözgelimi, yukarıdaki programın 7 günün tümünü ekrana yazmasını değil de, mesela gün sayısı 5’den küçük ise yazmasını istiyor olabiliriz. Bu durumda kodumuzda For.. Next arasında kalan bölümde şu değişikliği yapabiliriz:
While sayac <= 5 Response.Write Gunler(sayac) Response.Write "
"sayac = sayac + 1wend

Do..Loop

Do (Yap) komutu ile kuracağımız döngüler iki ayrı türde olabilir: bu döngü ile bir dizi komutu, bir koşul doğru iken veya doğru oluncaya kadar yaptırabiliriz. Bu yöntemlerden her biri iki ayrı şekilde yazılabilir. Bir koşul doğru iken bazı işlerin biteviye yapılmasını istiyorsak, Do While yöntemini kullanırız:
Do While koşul koşul doğru iken yapılacak işlerLoop

Bu ifade ile VBscript koşul doğru olduğu sürece istediğimiz işi yapacaktır. Buradaki Loop kelimesi, döngünün başa dönmesini sağlar. Bu yöntemden şu şekilde de yararlanabiliriz:
Do koşul doğru iken yapılacak işlerLoop While koşul

Burada, Loop komutu şartın hâlâ doğru olup olmadığını sınar ve doğru ise verilen işleri yapar; artık değilse bir sonraki satıra geçer. Döngünün bir şart gerçekleşinceye kadar bir işi yapmasını ise Do Until yöntemiyle sağlarız. Bu durumda döngü şöyle yazılır:
Do Until koşul koşul gerçekleşinceye kadar yapılacak işlerLoop

Bu ifade ile VBscript koşul doğru oluncaya kadar istediğimiz işi yapacaktır. Buradaki Loop kelimesi, döngünün başa dönmesini sağlar. Bu yöntemden şu şekilde de yararlanabiliriz:
Do koşul gerçekleşinceye kadar yapılacak işlerLoop Until koşul




For Each... Next

For...Next kullanımının özel bir türüdür. Bir dizi veya koleksiyon içerisinde kullanılır. (Koleksiyon nedir ? Daha detaylı olarak anlatılacaktır. ) For döngüsü dizi veya koleksiyon içerisinde kalan eleman sayısı kadar gerçekleştirilir. Aşağıda ki örneği inceleyebilirsiniz.

<%

Dim eleman
Dim sehirler(2)
sehirler(0)="Ankara"
sehirler(1)="Adana"
sehirler(2)="Denizli"

For Each eleman In sehirler
Response.Write eleman & "
"
Next

%>

Kod Nasıl Çalışır ?
Döngü şehirler dizisi içerisinde yer alan her eleman ( Şehir için, her dizi elemanı ) için tekrarlanır. Eleman (şehir ) sayısı 3 olduğuna göre döngü 3 defa tekrarlanacak ve ekrana dizinin içerisinde yer alan elemanlar yazılacaktır

Döngüyü durdurmak isterseniz

Bir döngüden belirlediğiniz koşul gerçekleşsin-gerçekleşmesin çıkmanız gerekebilir. Bunu bir başka değişkendeki değişiklik zorunlu kılabilir. Bir döngüden çıkmak için Exit (çık) ifadesini kullanabilirsiniz. Bu ifade, döngünün yaptığı işler arasında, genellikle bir If deyimi ile birlikte yer alır. Örneğin:
For sayac = 1 to 10 [..bir takım işler yap..] If Degisken1 > Degisken 2 Then Exit For [..bir takım işlere devam et..]Next
avatar
ender
Tam Üye
Tam Üye

Boğa
Yaş : 29
Nerden : Gök yüzünün Bittiği yerden
Mesaj Sayısı : 173
Mesaj Rep : 537
Kayıt tarihi : 01/06/09
Doğum tarihi : 26/04/88

Ekstra
Kişisel İleti / Not Defteri:

Sayfa başına dön Aşağa gitmek

Önceki başlık Sonraki başlık Sayfa başına dön


 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz