Yaz  Font K   lt Yaz  Font B y lt

Metin İstatisklerini Almak

 

Merhaba arkadaşlar, bu makalemizde textBox ta  çok satırlı bir metin kutusuna girilen metnin hece, kelime ve cümle sayılarını hesaplalıyoruz ve girilen bir kelimenin metin içerisinde geçme sayısı buluyoruz.

 

 

Resim1

Şekil 1


 

Form1.vb

 

 

Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button

 

Public Class Form1

    Dim str, ara, sonkarakter As String

    Dim kelimeSayisi, cumleSayisi, heceSayisi, i, konum, sayac As Integer

    Private Sub btnAra_Click(sender As Object, e As EventArgsHandles btnAra.Click

        str = txtMetin.Text

        If RadioButton1.Checked Then 'Birebir eşit olmadan serbest arama. Yani "masa" aranırken "masal" da bulunur.

            ara = txtAra.Text

        Else

            ara = " " + txtAra.Text + " " 'Birebir tam eşit arama. "masa" aranırken, "masal" bulunmaz.

        End If

        sayac = 0

        konum = 1

        Do

            i = Strings.InStr(konum, str, ara) '"ara" kelime "str" içersinde "konum"dan başlayarak aranıyor.

            If i <> 0 Then sayac = sayac + 1

            konum = i + Strings.Len(ara) 'Bulunca aramaya yeni konumdan devam et.

        Loop Until i = 0

        txtSayi.Text = sayac

    End Sub

 

    Private Sub btnIstatistikAl_Click(sender As Object, e As EventArgsHandles btnIstatistikAl.Click

        str = txtMetin.Text + " "

        kelimeSayisi = 0

        cumleSayisi = 0

        heceSayisi = 0

        For j = 0 To Strings.Len(str) - 1 'Metni sonuna kadar karakter karakter tarıyor.

            If str(j) = " " Then kelimeSayisi = kelimeSayisi + 1 'Kelime sayısı = boşluk sayısı. Çünkü yukarıda fazladan bir boşluk eklemiştik.

            If j = Strings.Len(str) - 1 Then Exit For 'Aşağıdaki koşulda son karakterden sonra(j + 1) arama yapmasın

 

            If (str(j) = "." And (str(j + 1) = " " Or Strings.AscW(str(j + 1)) = 13)) Or str(j) = "?" Or str(j) = "!" Then cumleSayisi = cumleSayisi + 1

            'Hece sayısı=sesli harf sayısı:

            If str(j) = "a" Or str(j) = "e" Or str(j) = "ı" Or str(j) = "i" Or str(j) = "o" Or str(j) = "ö" Or str(j) = "u" Or str(j) = "ü" Then heceSayisi = heceSayisi + 1

        Next

        TextBox3.Text = cumleSayisi

        TextBox2.Text = kelimeSayisi

        TextBox1.Text = heceSayisi

    End Sub

End Class

 

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN