Visual Basic ile Kes - Kopyala - Yapıştır!
Windows altında çalışan hemen hemen tüm metin editörleri panoyu kullanır. Peki metin editörleri metinin hangi parçasının seçildiğini nasıl anlıyor. Metnin belirli bir kısmını nasıl kesip alıyor? İstenilen metni bütün bir yazı içinde nasıl buluyor? Bu dediklerimizi yapmak için Visual Basic ile hazırlanmış tüm metin editörleri hemen hemen aynı teknikleri uygular. İşte bunlardan bir kaçı:
Metnin, kullanıcı tarafından seçilen kısmının anlaşılıp panoya kopyalanması için (Kopyala)
ClipBoard.SetText screen.ActiveControl.SelTextMetnin, kullanıcı tarafından seçilen kısmının anlaşılıp panoya kopyalanması ve seçilen yerin silinmesi için (Kes)
ClipBoard.SetText screen.ActiveControl.SelText ' Seçilen metni ilk önce kopyalascreen.ActiveControl.SelText = "" ' Sonra işaretlenen yeri sil.Panodan yapıştırılan kısmın kullanıcı tarafından seçilen kısmın üzerine yazılması için(Yapıştır)
screen.ActiveControl.SelText = ClipBoard.GetText() Metnin belirtilen kısmını anlamak ve metnin herhangi bir kısmını otomatik olarak seçtirmek için SelText komutunu, metnin hangi kısımdan seçilmeye başlanacağını tayin etmek için SelStart komutunu, Seçilecek metnin uzunluğunu ayarlamak için ise SelLength komutunu kullanıyoruz. Hatırlayacağınız gibi Microsoft Word kullanılırken CTRL+A tuş kombinasyonu tüm metni otomatik olarak seçebiliyordu. Sadece ufacık bir kod parçasıyla bunu gerçekleştirebiliriz.
text1.SelStart = 0 ' SelStart komutu metnin işaretlenen kısmının nereden 'başlayacağını belirtir. Biz işaretlemeye metnin 'başından başlamak istiyoruz...text1.SelLength = Len(text1.Text) 'Metnin işaretlenen kısmı metnin uzunluğu kadar olacakPeki metin editörleri uzun bir yazının içinde istediğimiz kelimeyi nasıl arayıp buluyorlar?
Bunu anlamak için aşağıdaki kodu bir inceleyin.
Dim ara, nerede ' Kullanacağımız değişkenleri atayalım
' Kullanıcıdan aranacak metni isteara = InputBox("Aranacak metni girin:", "Metin Teknikleri Örneği", , 1000, 1000)nerede = InStr(text1.Text, ara) ' Metni yazı içinde araIf nerede Then ' Bulunursa...text1.SelStart = nerede - 1 ' Bulunan metnin başını işaretletext1.SelLength = Len(ara) ' Bulunan metnin uzunluğu kadar yazıyı işaretleElse ' Metin bulunamazsa...MsgBox "Metin bulunamadı!", 64End IfBütün bunları bildikten sonra oturup kendi metin editörünüzü kolayca yazabilirsiniz...
</SPAN>geovisit();
Windows altında çalışan hemen hemen tüm metin editörleri panoyu kullanır. Peki metin editörleri metinin hangi parçasının seçildiğini nasıl anlıyor. Metnin belirli bir kısmını nasıl kesip alıyor? İstenilen metni bütün bir yazı içinde nasıl buluyor? Bu dediklerimizi yapmak için Visual Basic ile hazırlanmış tüm metin editörleri hemen hemen aynı teknikleri uygular. İşte bunlardan bir kaçı:
Metnin, kullanıcı tarafından seçilen kısmının anlaşılıp panoya kopyalanması için (Kopyala)
ClipBoard.SetText screen.ActiveControl.SelTextMetnin, kullanıcı tarafından seçilen kısmının anlaşılıp panoya kopyalanması ve seçilen yerin silinmesi için (Kes)
ClipBoard.SetText screen.ActiveControl.SelText ' Seçilen metni ilk önce kopyalascreen.ActiveControl.SelText = "" ' Sonra işaretlenen yeri sil.Panodan yapıştırılan kısmın kullanıcı tarafından seçilen kısmın üzerine yazılması için(Yapıştır)
screen.ActiveControl.SelText = ClipBoard.GetText() Metnin belirtilen kısmını anlamak ve metnin herhangi bir kısmını otomatik olarak seçtirmek için SelText komutunu, metnin hangi kısımdan seçilmeye başlanacağını tayin etmek için SelStart komutunu, Seçilecek metnin uzunluğunu ayarlamak için ise SelLength komutunu kullanıyoruz. Hatırlayacağınız gibi Microsoft Word kullanılırken CTRL+A tuş kombinasyonu tüm metni otomatik olarak seçebiliyordu. Sadece ufacık bir kod parçasıyla bunu gerçekleştirebiliriz.
text1.SelStart = 0 ' SelStart komutu metnin işaretlenen kısmının nereden 'başlayacağını belirtir. Biz işaretlemeye metnin 'başından başlamak istiyoruz...text1.SelLength = Len(text1.Text) 'Metnin işaretlenen kısmı metnin uzunluğu kadar olacakPeki metin editörleri uzun bir yazının içinde istediğimiz kelimeyi nasıl arayıp buluyorlar?
Bunu anlamak için aşağıdaki kodu bir inceleyin.
Dim ara, nerede ' Kullanacağımız değişkenleri atayalım
' Kullanıcıdan aranacak metni isteara = InputBox("Aranacak metni girin:", "Metin Teknikleri Örneği", , 1000, 1000)nerede = InStr(text1.Text, ara) ' Metni yazı içinde araIf nerede Then ' Bulunursa...text1.SelStart = nerede - 1 ' Bulunan metnin başını işaretletext1.SelLength = Len(ara) ' Bulunan metnin uzunluğu kadar yazıyı işaretleElse ' Metin bulunamazsa...MsgBox "Metin bulunamadı!", 64End IfBütün bunları bildikten sonra oturup kendi metin editörünüzü kolayca yazabilirsiniz...
</SPAN>geovisit();