Rabu, 22 September 2010

Cara Menulis dan Membaca File Teks dengan Cepat dan Tepat

VB.NET menyediakan cara yang sangat instant melalui Namespace My jika kita ingin menulis dan membaca dari sebuah file teks dengan instantly.

untuk menulis ke dalam file teks, gunakan:

My.Computer.FileSystem.WriteAllText(Filename:string, Content:string, Append:boolean)

sedangkan jika kita ingin membaca isi dari sebuah file teks, gunakan:

My.Computer.FileSystem.ReadAllTeks(Filename:string):string

contoh berikut ini ditulis dengan menggunakan VB 10 (VS 2010):

Form:

ContohFileTeks

Code:

Public Class FrmDemoFileTeks

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Try
            Using sfd As New SaveFileDialog()
                With sfd
                    .Title = "Simpan File"
                    .Filter = "Teks File (*.Txt)|*.txt"
                    .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyPictures
                    .CheckPathExists = True
                    .OverwritePrompt = True
                    .DefaultExt = ".txt"
                    .FileName = "FileTeks.txt"
                    If .ShowDialog() = Windows.Forms.DialogResult.OK Then
                        If .FileName <> "" Then
                            ' menyimpan isi dari RichTextBox ke dalam file
                            My.Computer.FileSystem.WriteAllText(
                                .FileName,
                                Me.RichTextBox1.Text,
                                False)
                        End If
                    End If
                End With
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
        End Try
    End Sub

    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        Using ofd As New OpenFileDialog()
            With ofd
                .Title = "Buka File"
                .Filter = "Teks File (*.Txt)|*.txt"
                .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyPictures
                .CheckPathExists = True
                .CheckFileExists = True
                .Multiselect = False
                .FileName = ""
                If .ShowDialog() = Windows.Forms.DialogResult.OK Then
                    If .FileName <> "" Then
                        Me.RichTextBox1.Clear()
                        ' membaca isi file dan menampilkannya
                        Me.RichTextBox1.AppendText(
                            My.Computer.FileSystem.ReadAllText(.FileName))
                    End If
                End If
            End With
        End Using
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        Me.RichTextBox1.Clear()
        Me.lblBanyakKarakter.Text = "0"
    End Sub

    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
        Me.lblBanyakKarakter.Text = Me.RichTextBox1.TextLength.ToString()
    End Sub

End Class

point penting yang perlu diperhatikan dari code di atas adalah:

My.Computer.FileSystem.WriteAllText(.FileName, Me.RichTextBox1.Text, False)


potongan code di atas bertugas untuk menyimpan isi dari RichTextBox1 ke dalam file di mana modus append nya adalah false.

My.Computer.FileSystem.ReadAllText(.FileName)

 

potongan code di atas bertugas untuk membaca isi dari file sesuai dengan nama file yang ditentukan oleh user melalui sebuah OpenFileDialog box.

kemudian, karena kita padukan codenya menjadi seperti berikut

Me.RichTextBox1.AppendText(My.Computer.FileSystem.ReadAllText(.FileName))


code di atas memiliki arti, baca isi dari file dan kemudian tampilkan isi dari filenya ke dalam RichTextBox1.

berikut ini bentuk tampilan ketika program dijalankan.

ContohFileTeks-Running

ok, sekian dari saya, semoga bermanfaat bagi kita semua.

 

Rgds
Adi

1 komentar:

jendil& jendol mengatakan...

mantap
thanks gan sangat mantap