İnternette TextStream ile ilgili baya bi yazı var ve çoğu saçmalıktan ibarek =). burda textstream nesnesini tamamen size anlatıcm. Textstream txt dosyası üzerinden işlem yapabilmek için tasarlanmış bir nesnedir. Bunu veritabanı olarak kullanabilirsiz. . Ne bilim bi üyelik sistemi ziyaretçi defteri vs. yapabilirsiniz.1. Sunucu Üzerinden Dosya OluşturmaSunucu üzerinden sayfanıza yazacağınız bir kod ile otomatik text dosyası oluşturabilirsiniz. Bunun için dosya sistem nesnesinden faydalanmak gerekiyor. Evet, işlemlerinizi geniş veritabanlarına yaymak istemiyorsanız sizin işinizi Text Tabanlı Basit Veritabanı grecektir. Bir dosya oluşturabilmek için ASP nesnelerinden birisi dosya sistem'e bağlı olan CreateTextFile metodu ile yararlanacağız. Hemen rnek kodumuzu yazalım; Set nesne = Server. CreateObject Set dosyayarat = nesne. CreateTextFile(Server. MapPath , erisim_izni, erisim_formati) Bu ifade ile, üzerinde bulunduğunuz klasr'e bir dosyaadi. txt isimli boş text belgesi yaratabilirsiniz. Burada şuna dikkat edilmesi gerekmektedir. Erişim_izni olan alan için aşağıdaki ifadelerden birisini seçmelisiniz. Bu ziyaretçinin dosyayı kullanırken hangi izinlere sahip olacağını simgeler. Erişim izni için kullanılabilir zellikler;1 = dosyanın sadece okunabilir zellikte açılmasını sağlar. Güncelleme yada kaydetme yapılamaz.2 = dosya yazma izinli zellikte açılmasını sağlar. Tüm izinler verilir.8 = dosya sadece eklenme izinli zellikte açılmasını sağlar. Sadece geçmişteki verilerin üzerine ek yapılabilir. Erişim formatı için kullanılabilir zellikler;-2 = Bilgisayarın default ayarları ile açar.-1 = Unicode olarak açar.0 = ASCII olarak açar.2. Sunucu Üzerinden Text Dosyasına Veri KaydetmeYukarıda Text dosyası oluşturmuştuk şimdi'de aynı renkten devam edelim ' Fso'ya bağlanalımset nesne = Server. CreateObject ' Dosyayı yazma izni ile aç, kontrol et yoksa oluşturset AO = nesne. OpenTextFile(Server. MapPath ,8, true)' Veriyi yazdıralımAO. Write "asp işte aq\-t-\hehehhe:)\-n-\"' dosyayı kptAO. close Gerekli açıklamaları kod üzerinde belirttim ama burada iki prosedürümüz var bu konu hakkında bilmeniz gereken;WriteLine : Kaydettikten sonra bir satır aşağı indirir. Write : Kaydettikten sonra olduğu satırdan devam eder. Verimizi bu şekilde kaydedeceğiz. şimdi burada yer alan \-t-\ ve \-n-\ verileri hakkında bir bilgi vereyim. Bunu Vbscript'e ait fonksiyonlarlada yapabilirdik fakat, konuları daha da irdelemek için split hakkında geniş bilgi vermek için bu şekilde bir rnek yapmak istedim. İlerleyen yazılarımızda bu konuları işleyeceğiz ama bir bilgi vereyim\-t-\ Tab, \-n-\ Yeni satır anlamında kullanacağız. şuanda bu konunun mantığını anlamanızı temenni ediyorum. TextStream nesnesini komple tamamladığımızda daha net form ile işlemler yapacağız, ziyaretçi defteri oluşturacağız.3. Text Dosyasından Verileri OkumaYine yukarıdan devam edelim yazdırmıştık. Şimdi bunu bi sayfaya yazdıralım ' fso'ya bağlanalımset nesne = Server. CreateObject ' Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)' Veriyi Oku ve Çıktı VerResponse. Write AO. ReadAll' Dosyayı kapatAO. close Tabi bu basit bir şekilde oldu. Şimdi split ile tab ve yeni satır işlemlerini kullanarak bu işlemi yapalım. Gze hitap etsin :)4. Belirli Karakterleri OkumaRead metodunun bize sunduğu bir zellik olan belirli sayıda karakter okuma işlemini gerçekleştirelim. ' FSO bağlanset nesne = Server. CreateObject ' Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)' Veriyi Belirli Sayıda Oku ve Çıktı VerResponse. Write AO. Read(3)' Dosyayı kapatAO. close Response. Write AO. Read(3) satırında ilk 3 karakteri oku dedik. Yani bu kadar Basit.5. Baştan belirli karakterleri atlamakAz nce belirtilen karakteri okuyup, kalanı kırpmıştık. şimdi ise bunun tam tersi olanı yapacağız. Belirtilen karakteri kırpıp, kalanı okutacağız. ' FSO bağlanset nesne = Server. CreateObject ' Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)' Veriyi Kırp ve Çıktı VerAO. Skip(3)Response. Write AO. ReadAll' Dosyayı kapatAO. close Peki bu iki işlemi birleştirerek kullanamıyız. Neden olmasın? Hem kırpalım hemde belirtilen karakter kadar okutalım. ' FSO bağlanset nesne = Server. CreateObject ' Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)' Veriyi Kırp, Süz ve Çıktı VerAO. Skip(3)Response. Write AO. Read(5)' Dosyayı kapatAO. close İşte alın ilk 3 karakteri atladık sonraki 5'ini yazdırdık.6. Text Dosyasından Belirli Bir Satırı OkutmaBu konuda pek fazla sylenecek birşey yok. Daha nce hep ReadAll fonksiyonunu kullanıyorduk şimdi ReadLine fonksiyonu ile yazılarımızı listeleyeceğiz. ' FSO bağlanset nesne = Server. CreateObject ' Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)' Veriyi Oku ve Çıktı VerResponse. Write AO. ReadLine' Dosyayı kapatAO. close 7. Text Dosyasından Tüm satırları okumakArtık bu konudaki basit işlemlerimiz bitiyor. Dngüler işin içine girmeye başlıyor. şimdi daha nceden de sylediğim gibi hala split nesnemizi kullanmayacağız. ncelikle kullanacağımız işlemleri düşünelim. Mutlaka ReadAll fonksiyonumuz olacaktır. Unutmayın ReadAll tümünü, ReadLine satırı ifade eder. ' FSO bağlanset nesne = Server. CreateObject 'Dosyayı kontrol et yoksa oluştur, yazma izni ile açset AO = nesne. OpenTextFile(Server. MapPath ,1)'Dngüyü dosyada veri bitene kadar aç, sürdür ve ekrana çıktı verDo while AO. AtEndOfStream = falseResponse. write AO. ReadLineResponse. write "<br />" 'yanyana olsn diye bi br atlmLoop' Dosyayı kapatAO. close Burada şimdiye kadar karşılaşmadığımız bir düğüm noktası var. AtEndOfStream = false Anlamı ise şudur. Dosyayı baştan sona kadar tarar ve değer sona geldiğinde bitirir. Yani kısaca biz şurada şyle bir ifade veriyoruz, dosyada veri bitene kadar sürdür.//=)