nemli fonksiyonlar. bilinmesi lazım. kelimeler albayım bazı anlamlara gelmiyor.

teşekkürler. Mükemmel dküman ;) Bu Yüce Türk Milleti ne ihanetler grdü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya lüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı gze alan Kurt, çobanın da, kpeğinde hesabını yapmaz."

Asp'de VbScript fonksiyonlarını ve bazı zellikleri kullanarak işlemlerinizi daha kolay, daha az vakitde, daha güçlü ve daha esnek yapabilirsiniz. İşlenecek fonksiyonlar ve açıklama:1.) Replace : Verilerimiz içerisindeki kelimeleri istediğimiz şekilde değiştirme yapmak için kullanılır. Ayrıntılı açıklama ve rnekler yazının devamında.2.) Function : Fonksiyon işlemi toplu işlem dosyaları olarak düşünülebilir, sayfa içerisinde sık sık yaptığımız işlemleri function olarak sayfamıza koyduktan sonra verilerimize bu function ile düzenleyebiliriz, veya yapmak istediğimiz hesaplamaları biçimlendirmek istediğimiz yazıları bir Function blüm açarak biçimlendirir ve sayfa içerisinde istediğimiz yerde function'u çağırarak kullanabiliriz. Ayrıntılı açıklamalar ve rnekler yazının devamında.3.) Left, Right, Len, Ucase, LCase, Tri m, Mid, Instr : Genelde kelimeler üzerinde işlem yapmak için kullanılır. Ayrıntılı açıklamalar ve rnekler yazının devamında.4.) For.. Next : Herhangi bir işlemi bu data da olabilir, bizim istediğimiz kadar tekrarlamamızı sağlarAyrıntılı açıklamalar ve rnekler yazının devamında.5.) UBound, Split : UBound dizideki içerisindeki eleman sayısını verir, Split ise verdiğimiz ayraç ile bir dizedeki değerleri blerek stringlere atamamızı sağlar. Genelde uzun verilerle değişik işlemler yapmak için veya Stringleri düzenli ifadelere ve değerler dndürmek için kullanılır. Ayrıntılı açıklamalar ve rnekler yazının devamında. İşe başlayalım.1.) Replace : Bir çok script yazarı ktü niyetli kişilerin sayfasına zararlı kodlar yazarak bozulmasından şikayetçidir, Ayrıca kelimelerde çeşitli düzenlemeler yapmak bir lümdür VbScript 'de kelimeleri değiştirmek için fonksiyon bulunmaktadır, Bu fonksiyonu kullanarak zararlı kodlardan ve kelime işlemlerinden kolay şekilde sıyrılabiliriz. Kullanımı:Replace rnek:<%duzenlenmis_deger = Replace duzenlenmis_deger = Replace %>rnek'tende anlayacağınız gibi Merhaba. net ailesi kelimesinin içerisindeki. net kelimesini. NET olarak değiştirdik. daha sonra değiştirdiğim değeri tekrar ikinci bir Replace ile font rengini kırmızı yaptık. dikkat etmeniz gereken sadece sıralama Hangi değerin içerisindeki hangi kelimeyi hangi kelimeyle değiştireceğimiz yazıyoruz. Bir rnek daha yapalım bu rnektede zararlı bazı kodları temizleyelim.<%kelime = "Merhaba naber nasıl gidiyor.? <script>alert </script>"duzenlenmis_kelime = Replace duzenlenmis_kelime = Replace duzenlenmis_kelime = Replace duzenlenmis_kelime = Replace duzenlenmis_kelime = Replace Response. Write duzenlenmis_kelime%>Sanırım replace ile ilgili bu kadar rnek yeterli.2.) Function : Çoğumuz script yazarken bir işleme birden fazla gerek duyarız, aynı şeyleri tekrar tekrar yazmakta sizi oldukça rahatsız ediyorsa sayfanız içerisinde bir function yazarak bu fonksiyondan yararlanabiliriz. Mesela bir değer hesaplama, Kelimeleri biçimlendirme gibi olaylar, siz yazılarınızı normal olarak yazarsınız daha sonra biçimlendirilecek veya hesaplanacak değeri fonksiyona gnderirseniz fonksiyon'da sizin gnderdiğiniz değeri alır ve sizin prosedürlerinize gre biçimlendirir ve çıktıyı size verir. Bu hem asp sayfanızı karmaşıklıktan kurtarır hem de sizin daha rahat ve hızlı kod yazmanızı sağlar. Kullanımı:Function fonksiyon_adi... işlemlerEnd FunctionFonksiyonun kullanımı yukarıdaki biçimdedir, ama genelde fonksiyonlar da hazır işlevler veya kendi hesapladığı değerler kullanılmaz bunun yerine yukarıda belirttiğimiz gibi bizim atadığımız fonksiyona gnderdiğimiz değerler biçimlendirilir hesaplanır, Onun için kullanımı genelde aşağıdaki şekildedir. Function fonksiyon_adi ... işlemlerfonksiyon_adi = gelen_deger veya islenmis_degerEnd FunctionDikkat ederseniz yukarıdaki fonksiyon ile iki farkı var, Birincisi bir parantez açıp gelen_deger yazmışız yani fonksiyonda yapılacak işlemlere bir değer atamışız, atamışız da bunu nasıl yapmışız. bunu asp kodlarınızı yazarken fonksiyon_adi şeklinde yapabilirsiniz. İkincisi ise fonksiyonu sonlandırmadan fonksiyon_adi diye bir değişken açıp buna değer atamışız bunun sebebi'de fonksiyona gelen_deger 'e işlem yaptık al kardeşim sonucu da bu demek. rnek:Şimdi biz ğretmeniz ders notları olan bir sayfa yapıyoruz diyelim biz veriyi yazarken ahmet 50, mehmet 40 aldı diye yazıyoruz buraya kadar her şey tamam ama ben istiyorum ki benim yazdığım 50'nin 40'ın yanına bir parantez açıp finalde alması gereken notu da script'in hesaplayıp yazması, onlarca da ğrencimiz var hemen bir fonksiyon yazalım o zaman bu sınavda(1. sınav) aldığın notun karne notuna %30 ikinci sınavda aldığı notunda karne notuna %70 etki edeceğini varsayarsak.'İlk nce sayi_hesabla'da parantez içerisine yazdığımız değeri alıyoruz. Function sayi_hesapla 'Gelen değeri ilk sınav notu olarak bir değişkene atadıkilk_sinav_notu = deger'İlk sınavda almış olduğu notun karneye ne kadar etki edeceğini buldukilk_sinav_etki = ((deger 30) /100)'Ve ikinci sınavda alması gereken notuda hesaplayıp ikinci_sinav_gereken_not değişkenine atadıkikinci_sinav_gereken_not = FormatNumber(((50 - ilk_sinav_etki) 100 / 70),0)'Şimdi sıra son aşamaya geldi ilk nce fonksiyon_adi 'na bir değer açtık ve fonksiyon sonucunda:'İlk nce bizim ilk aldığımız değeri daha sonra & koyup hesapladığımız değeri yazdırıyoruz. sayi_hesapla = deger &" "'Ve fonksyonumuzu bitiriyoruz. End functionÜsteki şekilde bir fonksiyon yazdıktan sonra tek yapmamız gereken normal şekilde ğrencilerin notlarını yazarken asp sayfamızda sayi_hesapla("45") şeklinde ğrencinin notunu fonksiyona yollamak. rnek vermek gerekirse;mer, <%=sayi_hesapla("20")%>Şahin,<%=sayi_hesapla("40")%>Neşet, <%=sayi_hesapla("50")%> siye yazdığımızda ekrana çıktı olarak.:mer, 20(63)Şahin,40(54)Neşet, 50(50) bunu dkecektir.3.) Left, Right, Len, Ucase, LCase, Trim, Mid, Instr : Bunları kısaca açıklamak gerekirse:Left: Kelimenin solundan istediğiniz kadar bir karakter alır. Kullanımı : Left rnek:kelime = "merhaba ben bir makaleyim."soldan_al = Left(kelime,7)Response. Write soldan_alYukarıdaki şekilde bir kullanım bize çıktı olarak merhaba kelimesini verir. Right: Kelimenin sağından istediğiniz kadar karakteri alır. Kullanımı: Right rnek:'Yukarıdaki kelime üzerinden giderseksagdan_al = Right(kelime,10)Response. Write sagdan_alYukarıdaki şekilde bir kullanım bize çıktı olarak makaleyim. kelimesini verecektir. Ucase: Yazılan değeri büyük harfe çevirir. Kullanımı: Ucase rnek:buyuk_yap = Ucase Response. Write buyuk_yapYukarıdaki şekilde bir kullanım bize NASIL YAZARSANIZ YAZIN BU CÜMLE BÜYÜK OLACAK bu şekilde bir çıktı verecektir. Lcase: Yazılan değeri küçük harf yapar. Kullanımı Ucase ile aynı. Trim: Değerin sağındaki ve solundaki boşlukları siler. Kullanımı: Trim(Request. Form Mid: Kelimenin, cümlenin veya değerin içerisinden şu karakterden başlayarak şu kadar karakter al dememizi sağlar. Kullanımı: Mid rnek: Mid("İşlemin uygulanacağı kelime cümle veya sayı",8,12)Yukarıdaki şekilde bir kullanım bize 8. karakterden saymaya başlayarak 12 karakter ekrana dkecek yani uygulanacağı kelimesini verecektir. InStr : Kelimenin, Cümlenin veya Sayının içerisinde bir karakter veya karakter dizisi aratmamızı ve aratmış olduğumuz karakterin varolup olmadığını var ise kaçıncı haneden itibaren başladığını verir. Kullanımı: InStr rnek: InStr(1,"İşlem yapacağımız kelime 'in kabuğunu kırıp züne inmeyen...","illegalworld")Yukarıdaki gibi bir kullanım kelimenin birinci karakterinden başlayarak içerisinde illegalworld kelimesi varmı diye bakacak var ise kaçıncı hane olduğunu ekrana dkecek, Yukarıdaki gibi bir kullanım ekrana : 26 dkecektir. Şimdi yukarıdaki işlemleri ğrendi isek karışık bir rnek yaparak bilgilerimizi pekiştirelim. Uzun bir cümlem var bu cümlenin içerisinde arasına yazarın ismini belirterek tekrar başka bir yerde belirtmeden arasındaki yazıyı sayfanın sonunda yazdırmak istiyorum. Cümlemiz:islem_yapilacak_kelime = "Bana bu web sayfasından ulaşabilirsiniz. "Şimdi ilk yapmamız gereken aranacak kelimeleri belirtmek ve kaçıncı hanede ise onu bulmak.'ilk nce 2 tane değişken atayarak aranacak karakterleri belirtiyoruz. aranacak_karakter = " "aranacak_karakter2 = " "'Daha sonra bu karakterler cümle içerisinde varmı diye bakıyoruz var ise kaçıncı karakterde olduğunu buluyoruz. pozisyon = Instr(1, islem_yapilacak_kelime, aranacak_karakter)pozisyon2 = Instr(1, islem_yapilacak_kelime, aranacak_karakter2)'Bizim cümlenin içerisinden aradığımız karakterler arasındaki kelimeyi alacağımız için kaç karakter alacağımızı buluyoruz. kaç karakter alınacak'ta - 7 yazmamızın sebebi yazısınıda ekrana basmamasıkac_karakter_alinacak = (pozisyon2 - pozisyon) - 7'Mid fonksiyonu ile cümleden şu pozisyondan başlayarak şu kadar karakter al diyoruz. telif_hakki = Mid(islem_yapilacak_kelime, poz isyon+7, kac_karakter _alinacak)Response. Write telif_hakki yazdığımızda ekrana mer Osmanoğlu 'nu dkecektir.4.) For.. Next : For ve Next bir dngüdür For ve Next arasına yazılan yorumları bizim dngüyü başlatırken yazacağımız değer kadar tekrarlar. Bu zelliği birden çok kayıt yapma, Birden çok mail gnderme, her kayıtta faklı bir şey yapma gibi işlemlerde kullanabiliriz. Kullanımı :For i=1 to 8... işlemlerNextBasit olarak kullanım yukarıdaki gibidir. Yukarıdaki gibi bir kullanımda Dngünün 1'den başlayarak kendisini 7 kere daha tekrar etmesi demektir yani For değişkeni olarak kullandığımız i 8 olana kadar dngü kendini tekrarlayacaktır. Buradaki i değişkendir kendiniz buraya istediğiniz şeyi yazabilirsiniz, bunu bir rnekle pekiştirelim. For i=1 to 8Response. Write i &"<br>"NextGibi bir ifade yazarsa dngü 1 'den itibaren başlayarak her yazdıktan sonrada bir alt satıra geçerek ekrana i değerini bastıracaktır. For'da step zelliğide vardır yani yukarıdaki dngüyü For i=1 to 8 Step 2 gibi bir ifade yazarsanız size 1,2,3,4,5,6,7,8 çıktısını değil 1,3,5,7 çıktısını verecektir. Dngüde Step parametresi verilmez ise dngü bir-bir artarak gider ama step parametresi ile dngünün nasıl artacağını belirleyebiliriz. Şimdi gelelim For dngüsünü işe yarar bir şeyde kullanmaya mesela seçilen kayıtlara gre bir işlem yapmak istiyorsunuz bunun için seçim yapacak bir form oluşturmak lazım.<form method="post"><input type="checkbox" name="secim" value="mer">mer<br><input type="checkbox" name="secim" value="Şahin">Şahin<br><input type="checkbox" name="secim" value="Neşet">Neşet<br><input type="checkbox" name="secim" value="Murat">Murat<br><input type="checkbox" name="secim" value="Emel">Emel<br><input type="submit" value="Hangi üyeyi silmek istersiniz."></form>Diye bir form oluşturduk daha sonra sayfanızın altına aşağıdaki kodu yerleştirin<%For i=1 to Request. Form . countdeger = Request. Form Response. Write "Tekmelediğiniz üyeler.:"& deger &"<br>"Next%>Zaten kod'dan da anlayacağınız gibi ilk nce For dngüsünü formda işaretlenen checkbox kadar dndürüyoruz. daha sonra deger diye bir string açıp bu string'e de Formdan gelen değerleri yazdırıyoruz. deger'e atadığımız değerleri ekrana yazdırıyoruz ekrana yazdırmak yerine burada delete from veya Update gibi Sql cümleleri ile veritabanınızdan seçilmiş kayıtları silebilir update edebilirsiniz.5.) UBound, Split :Ubound: Dize içerisindeki elemanları sayar. Kullanımı: UBound Split: Bir string'i belirli ayaraçlar ile dizelere atamamızı sağlarKullanımı : Split("Dize değeri1, Dize değeri2, Dize değeri3", Ayraç)rnek: Split("mer, osmanoğlu, kastamon u,1980",",")Yukarıdaki rnekte virgül ile ayırarak tırnak içerisinde yazdığımız değeri parçalamamızı sağlar. Mesela UBound kullanarak split'teki cümledeki eleman sayısınıda bulmamız mümkündür. rneği genişletirsek;'Adınızı soyadınız doğum yerinizi ve tarihinizi, ile ayırarak yazınız. cumledeki_degerler = Split("mer, osmanoğlu, istanbul,1979",",")Response. Write "Adı:"& cumledeki_degerler(0) &"<br>"Response. Write "Soyadı:"& cumledeki_degerler(1) &"<br>"Response. Write "Doğum Yeri:"& cumledeki_degerler(2) &"<br>"Response. Write "Doğum Tarihi:"& cumledeki_degerler(3) &"<br>"Response. Write "Yazılan alan sayısı:"& UBound Yukarıdaki şekilde bir rnek bize Adı:mer, Soyadı: osmanoğlu, Doğum Yeri: istanbul, Doğum tarihi:1979 diye bir çıktı verir. Yazılan alan sayısıda Ubound ile bize 3 değerini verecektir bundaki 3 rakamı 0 'dan başladığı içindir yani 0,1,2,3 toplam 4 string'dir. Şimdi yukarıdaki uygulamaları hepsi ile bir rnek yapalım rneğim Ktü Kelime Flitresi yapalım. İlk nce ktü kelimeleri yazalım ben bu konuda tecrübeli olmadığım için arkadaşlardan yardım aldım. Kelimelerin telif hakkı neşet'e aittir. kotu_kelimeler = "aptal, salak, manyak"cumle = "Merhaba ben ktü kelime flitresinin çalışıp çalışmadığını ğrenmek için yazıyorum, salakça bir gün geçirdim tıka basa bir otobüsten indikten sonra. güneşinde etkisi ile açıkca aptallaştım. İstanbul trafiğindede çok manyakça araba kullanıyorlar hala yaşadığıma inanamıyorum."Şimdi ne yapacağız kotu_kelimeler aklımıza geldikçe virgül ile ayırarak yazıyoruz yani sayısı değişiyor o yüzden ilk nce bunları değişkenlere atayıp ne kadar ktü kelime flitresi yaptığımızı sayalım.'Ktü kelimeleri kotu_kelimeleri_ayir değişkenine atadık. kotu_kelimeleri_ayir= Split 'Kaç tane ktü kelimemiz var o kadar replace yapacağız çünkübu_kadar_kotu_kelime_var = UBound Buraya kadar herşey tamam şimdi Replace(cumle, kotu_kelime_ayir (0),"ayıp kelime") diye cumlemizdeki ktü kelimeleri ayıp kelime diye değiştirebiliriz veya yıldız falan koyabiliriz ama dediğim gibi ktü kelime sayısı sürekli değiştiği için kotu_kelime_ayir(0),(1),(2) diyerek her kelimeyi replace edemem. Ayrıca ben bunu sadece cumle değişkeni için değil ileride belkide yorum, mesaj değişkenleri içinde kullanırım onun için bunu bir Fonksiyon haline getirmem en iyisi.'Fonksiyonumuzu başlatıyoruz ve değerimizi alıyoruzFunction temizle 'For ile kotu_kelime sayisi kadar dongu kuruyoruz'Her ktü kelime eklendiğinde for bir daha dnüp next'e kadar olan işlemleri tekrar yorumlayacaktır. For i=0 to bu_kadar_kotu_kelime_var'Her ktü kelimeyi cümle içerisinde ayıp kelime diye değiştirip deger'i güncelliyoruz. deger = Replace (deger, kotu_kelimeleri_ayir ," ")'Dngümüzü sonlandırıyoruz. Next'Ve For ile tüm ktü kelimeleri replace ettikten sonra temizlenmiş değeri fonksiyonumuza atıyoruz. temizle = degerEnd Function'Artık asp içerisinde sadece ktü kelime flitresi yapmak istediğimiz değişkenleri temizle parantezine aldığımız zaman ktü kelimelerden arınmış olacağız. Fonksiyonun kullanımına rnek vermek gerekirseResponse. Write temizle Response. Write temizle(Request. Form Response. Write temizle(RecordSetAdi vb... DOM..

saolasın hocam çok işe yarar fonksiyonlar. bunları herkesin bilmesi lazım