May
15ASP fonksiyonlarının kullanımı için çok basit 2 fonksiyonun çalışma mantığını inceleyeceğiz.
Üzerinde çalıştığım sitede kendime zaman kazandırmak için yazdığım 2-3 fonksiyonu paylaşmak ve çalışma mantığını anlatmak istedim. İlk fonksiyon(lar) ımız ile başlayalım.
Genelde bir çok recordset açtığımızda kapatmak gereği duyarız. (Bir arkadaşımız az önce yorum yazmış aklıma geldi) Bunun için defalarca
yazmak bize eziyet olur. Gelin bunu kısacık bir kod haline getirelim.
Yukarıdaki kodları bir sayfada kaydedin ve sayfalarınıza o sayfayı include ile çağırın. Kullanımı ise gayet basit.
Update (güncelle) yada insert (yeni kayıt) için close kullanılmadığından onun içinde şöyle birşey düşündüm.
Buda aynı mantık arkadaşlar. close(setadi) yerine noth(setadi) olarak kullanacaksınız. Değerlerde gördüğünüz bir satırda null değer gönderdim, çünkü sadece nothing değerini aktardığımda hata aldım bende böyle bir çözüm buldum.
İkinci fonksiyonumuz ise son derece kullanışlı. Çoğu zaman veritabanından bilgi çektiğimizde bunu kısaltmak isteriz. Mesela bir kayıtı menüye almak isteriz. Ama menümüz 30 karakterlik sınır vardır. Biz ise bunu belirtmediğimiz süre içinde menümüz kayacak ve görüntü bozukluğu yaratacaktır. Belki Left fonksiyonu çoğu zaman işinizi görecektir ama görselliği sevdiğimden dolayı uzun olan kelimelerin sonuna ... (üç nokta) eklemek, cümlenin tamamlanmadığını ifade etmek istedim. Onun içinde şöyle bir fonksiyon yazdım.
Bu fonksiyonu ise şöyle kullanabilirsiniz;
Dikkat edin arkadaşlar, göndereceğiniz ilk değer sizin çıktı almak istediğiniz cümleniz olmalı (string yada numeric size kalmış), ikinci değer ise soldan kaç karaktere kadar izin verecekseniz onu belirtmeniz gereken değerdir.
Test edildi, projede uygulandı
Sağlıcakla kalın.
Genelde bir çok recordset açtığımızda kapatmak gereği duyarız. (Bir arkadaşımız az önce yorum yazmış aklıma geldi) Bunun için defalarca
setadi.close
set setadi = nothing
set setadi = nothing
yazmak bize eziyet olur. Gelin bunu kısacık bir kod haline getirelim.
Function close(setname)
if isnull(setname) = false then
close = setname.close : set setname = nothing
End If
End Function
if isnull(setname) = false then
close = setname.close : set setname = nothing
End If
End Function
Yukarıdaki kodları bir sayfada kaydedin ve sayfalarınıza o sayfayı include ile çağırın. Kullanımı ise gayet basit.
Set setad = ODBC.Execute("Select id from tabloadi;")
'işlemler
close(setad)
'işlemler
close(setad)
Update (güncelle) yada insert (yeni kayıt) için close kullanılmadığından onun içinde şöyle birşey düşündüm.
Function noth(setname)
if isnull(setname) = false then
noth = null : set setname = nothing
End If
End Function
if isnull(setname) = false then
noth = null : set setname = nothing
End If
End Function
Buda aynı mantık arkadaşlar. close(setadi) yerine noth(setadi) olarak kullanacaksınız. Değerlerde gördüğünüz bir satırda null değer gönderdim, çünkü sadece nothing değerini aktardığımda hata aldım bende böyle bir çözüm buldum.
İkinci fonksiyonumuz ise son derece kullanışlı. Çoğu zaman veritabanından bilgi çektiğimizde bunu kısaltmak isteriz. Mesela bir kayıtı menüye almak isteriz. Ama menümüz 30 karakterlik sınır vardır. Biz ise bunu belirtmediğimiz süre içinde menümüz kayacak ve görüntü bozukluğu yaratacaktır. Belki Left fonksiyonu çoğu zaman işinizi görecektir ama görselliği sevdiğimden dolayı uzun olan kelimelerin sonuna ... (üç nokta) eklemek, cümlenin tamamlanmadığını ifade etmek istedim. Onun içinde şöyle bir fonksiyon yazdım.
Function write(a,b)
c = Len(a) 'Gelen string değerin uzunluğunu bul
If b >= c then 'Eğer belirtilen değer string uzunluğundan büyükse
write = a 'Aynen yazacaktır
Else 'Büyük değilse
write = ""&left(a,b)&".." 'Soldan belirtilen karakter kadar yaz ve .. sonuna ekle
End If
End Function
c = Len(a) 'Gelen string değerin uzunluğunu bul
If b >= c then 'Eğer belirtilen değer string uzunluğundan büyükse
write = a 'Aynen yazacaktır
Else 'Büyük değilse
write = ""&left(a,b)&".." 'Soldan belirtilen karakter kadar yaz ve .. sonuna ekle
End If
End Function
Bu fonksiyonu ise şöyle kullanabilirsiniz;
<%
response.write write("Merhaba",3)
'yada
sabit = "Merhaba"
response.write write(sabit,3)
%>
response.write write("Merhaba",3)
'yada
sabit = "Merhaba"
response.write write(sabit,3)
%>
Dikkat edin arkadaşlar, göndereceğiniz ilk değer sizin çıktı almak istediğiniz cümleniz olmalı (string yada numeric size kalmış), ikinci değer ise soldan kaç karaktere kadar izin verecekseniz onu belirtmeniz gereken değerdir.
Test edildi, projede uygulandı

Sağlıcakla kalın.
Etiketler : len, string, numeric, isnull, function, false, nothing, close
İçeriği takip etSayfayı YazdırPermalink6 yorum var
#196.-mrlmz-19 Mayıs 2007 Cumartesi
Evet işe yarar fonksiyonlar faydalı olur teşekürler bu arada site hız olarak mükemmel olmuş ulaşamıyoduk siteye ...
#197.-SrcnCkr-20 Mayıs 2007 Pazar
server taraflı bir sorun olduğundan müdahale şansım olmadı. umarım ciddi bir aksaklıkla karşılaşmayız 
#487.-unal aygun-04 Şubat 2008 Pazartesi
rs.open sql,baglanti,1,3 buradaki 1,3 nedir?
açıklarmısınız

