Sunday, January 1, 2017

Bab 6. Soal & Penyelesaian Visual Basic .NET


File dan Struktur





Kasus 69: Layanan Saldo Pelanggan dengan Struktur

Public Structure Pelanggan
    Public NamaDepan As String
    Public NamaBlkg As String
    Public NoAkun As String

    Public Property Deposito() As Single
    Public Property Pinjaman() As Single
    Private _saldo As Single

    'Properti Saldo
    Public Property Saldo() As Single
        Get
            _saldo += Deposito - Pinjaman
            Return _saldo
        End Get

        Set(value As Single)
            _saldo = value
        End Set
    End Property

    'Properti Nama
    Public ReadOnly Property Nama() As String
        Get
            Return NoAkun & "  " & NamaDepan & " " & NamaBlkg
        End Get
    End Property

    ReadOnly Property Email() As String
        Get
            Return NamaDepan & "-" & NamaBlkg & "@SianiparCollege.ac.id"
        End Get
    End Property
End Structure
      

Public Class Form1
    Dim pelangganKu As Pelanggan

    Private Sub tombolDaftar_Click(sender As Object, e As EventArgs)
    Handles tombolDaftar.Click
        pelangganKu.NamaDepan = teksNamaDepan.Text
        pelangganKu.NamaBlkg = teksNamaBlkg.Text
        pelangganKu.NoAkun = teksNoAkun.Text

        pelangganKu.Deposito = CSng(teksDeposito.Text)
        pelangganKu.Pinjaman = CSng(teksPinjaman.Text)

        'Menampilkan konsumen
        TampilPelanggan(pelangganKu)
    End Sub

    Public Sub TampilPelanggan(ByVal pelanggan As Pelanggan)
        'Menampilkan identitas pelanggan pada form
        teksSaldoAkhir.Text = pelangganKu.Saldo.ToString("N")
        teksEmail.Text = pelanggan.Email
        teksNama.Text = pelanggan.Nama

        kotakList.Items.Add(pelanggan.Nama & " " & pelanggan.Saldo.ToString("N"))
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub
End Class





Kasus 70: Layanan Cheque dengan Struktur

Public Structure Orang
    'variabel-variabel anggota privat untuk properti-properti publik
    Private _namadepan As String
    Private _namatengah As String
    Private _namaakhir As String
    Private _dob As Date

    'anggota privat untuk perhitungan beda waktu---------------
    Private _bedawaktu As TimeSpan

    '------------- properti-properti publik ---------------
    Public Property NamaDepan As String
        Get
            '------------- Ini adalah fungsi ProperCase ---------------
            Return HurufBesar(_namadepan)
        End Get
       
        Set(ByVal value As String)
            _namadepan = value
        End Set
    End Property

    Public Property NamaTengah As String
        Get
            Return HurufBesar(_namatengah)
        End Get
       
        Set(ByVal value As String)
            _namatengah = value
        End Set
    End Property

    Public Property NamaAkhir As String
        Get
            Return HurufBesar(_namaakhir)
        End Get
       
        Set(ByVal value As String)
            _namaakhir = value
        End Set
    End Property

    Public Property DOB As Date
        Get
            Return _dob
        End Get
       
        Set(ByVal value As Date)
            _dob = value
        End Set
    End Property

    '------------- properti-properti readonly ---------------
    ReadOnly Property NamaPenuh As String
        Get
            Return HurufBesar(_namadepan.Trim & " " & _namatengah.Trim
                 & " " & _namaakhir.Trim)
        End Get
    End Property

    ReadOnly Property NamaCheque As String
        Get
            'menghasilkan BacaNamaCheque()
            Return BacaNamaCheque()
        End Get
    End Property

    ReadOnly Property Usia As Integer
        Get
            ' menghitung jumlah beda hari
            _bedawaktu = Date.Now - DOB

            Return CInt(_bedawaktu.Days / 365)
        End Get
    End Property

    '------------- metode-metode ---------------
    Private Function BacaNamaCheque() As String
        Dim strPertamaDanTengah As String = _namadepan.Trim &
            " " & _namatengah.Trim
        Dim arrayNama() As String = strPertamaDanTengah.ToLower.Split(CChar(" "))
        Dim j As Short
        Dim aNama As String = ""

        ' sekarang mengubah nama depan dan nama tengah menjadi huruf besar plus ". "
        For j = 0 To CShort(arrayNama.Length - 1)
            aNama = arrayNama(j)
            arrayNama(j) = aNama.ToUpper.Substring(0, 1) & ". "
        Next

        aNama = ""

        ' menyambung nama
        For Each strPertamaDanTengah In arrayNama
            aNama &= strPertamaDanTengah
        Next

        ' menghuruf-besarkan nama akhir
        strPertamaDanTengah = HurufBesar(_namaakhir)
        Return aNama.Trim & " " & strPertamaDanTengah.Trim
    End Function

    Function BacaNamaTengah() As String
        Return HurufBesar(_namatengah)
    End Function

    Private Function HurufBesar(ByVal strKata As String) As String
        ' membaca string dan menghuruf-besarkan huruf pertama pada tiap kata
        Dim arrayKata() As String = strKata.Split(CChar(""))
        Dim temp As String = "", kiri As String = "", kanan As String = ""
        Dim j As Short

        ' menjelajah semua kata, membaca huruf pertama, dan menghuruf-besarkannya
        For j = 0 To CShort(arrayKata.Length - 1)
            temp = arrayKata(j)
            kiri = temp.ToUpper.Substring(0, 1)
            kanan = temp.ToLower.Substring(1, temp.Length - 1)
            arrayKata(j) = kiri & kanan
        Next

        kiri = ""
        For Each temp In arrayKata
            kiri &= temp & " "
        Next

        Return kiri.Trim
    End Function
End Structure

Public Class Form_Cheque
    Dim orangKu As Orang

    Private Sub tombolProses_Click(sender As Object, e As EventArgs)
    Handles tombolProses.Click
        orangKu.NamaDepan = teksNamaDepan.Text
        orangKu.NamaTengah = teksNamaTengah.Text
        orangKu.NamaAkhir = teksNamaAkhir.Text
        orangKu.DOB = dtpDOB.Value

        teksKelUsia.Text = orangKu.Usia.ToString
        teksKelNamaPenuh.Text = orangKu.NamaPenuh
        teksKelNamaTengah.Text = orangKu.BacaNamaTengah
        teksKelNamaCheque.Text = orangKu.NamaCheque
    End Sub
End Class




Kasus 71: Menulis Data ke File

Imports System.IO

Public Class Form1

    Private Sub tombolCipta_Click(sender As Object, e As EventArgs)
    Handles tombolCipta.Click
        ' Konstanta untuk jumlah sahabat
        Const intJUM_SAHABAT As Integer = 3

        ' Variabel-variabel lokal
        Dim strNamaFile As String ' Nama file
        Dim strSahabat As String ' Nama sahabat
        Dim strTelepon As String ' Menampung nomor telepon
        Dim intHitung As Integer ' Kounter loop

        Dim FileSahabat As StreamWriter ' Variabel objek StreamWriter

        ' Membaca nama file dari pengguna
        strNamaFile = InputBox("Masukkan nama file: ")

        Try
            ' Membuka file
            FileSahabat = File.CreateText(strNamaFile)

            ' Membaca data dan menyimpannya ke dalam file
            For intHitung = 1 To intJUM_SAHABAT
                ' Membaca nama sahabat
                strSahabat = InputBox("Masukkan nama sahabat " &
                    "nomor ke-" & intHitung.ToString())

                ' Membaca nomor telepon sahabat
                strTelepon = InputBox("Masukkan nomor telepon " &
                    "sahabat: ")

                ' Menuliskan data ke dalam file
                FileSahabat.WriteLine(strSahabat)
                FileSahabat.WriteLine(strTelepon)
            Next

            ' Menutup file
            FileSahabat.Close()
        Catch
            ' Pesan error
            MessageBox.Show("File tidak dapat diciptakan")
        End Try
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub
End Class




Kasus 72: Menempelkan Data di dalam File

Imports System.IO

Public Class Form1

    Private Sub tombolCipta_Click(sender As Object, e As EventArgs)
    Handles tombolCipta.Click
        ' Konstanta untuk jumlah sahabat
        Const intJUM_SAHABAT As Integer = 3

        ' Variabel-variabel lokal
        Dim strNamaFile As String ' Nama file
        Dim strSahabat As String ' Nama sahabat
        Dim strTelepon As String ' Menampung nomor telepon
        Dim intHitung As Integer ' Kounter loop

        Dim FileSahabat As StreamWriter ' Variabel objek StreamWriter

        ' Membaca nama file dari pengguna
        strNamaFile = InputBox("Masukkan nama file: ")

        Try
            ' Membuka file
            FileSahabat = File.CreateText(strNamaFile)

            ' Membaca data dan menyimpannya ke dalam file
            For intHitung = 1 To intJUM_SAHABAT
                ' Membaca nama sahabat
                strSahabat = InputBox("Masukkan nama sahabat " &
                    "nomor ke-" & intHitung.ToString())

                ' Membaca nomor telepon sahabat
                strTelepon = InputBox("Masukkan nomor telepon " &
                    "sahabat: ")

                ' Menuliskan data ke dalam file
                FileSahabat.WriteLine(strSahabat)
                FileSahabat.WriteLine(strTelepon)
            Next

            ' Menutup file
            FileSahabat.Close()
        Catch
            ' Pesan error
            MessageBox.Show("File tidak dapat diciptakan")
        End Try
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub

    Private Sub tombolTempel_Click(sender As Object, e As EventArgs)
    Handles tombolTempel.Click
        ' Mendeklarasikan variabel objek
        Dim FileSahabat As StreamWriter

        ' Konstanta untuk jumlah sahabat
        Const intJUM_SAHABAT As Integer = 2

        ' Variabel-variabel lokal
        Dim strNamaFile As String ' Nama file
        Dim strSahabat As String ' Nama sahabat
        Dim strTelepon As String ' Menampung nomor telepon
        Dim intHitung As Integer ' Kounter loop

        ' Membaca nama file dari pengguna
        strNamaFile = InputBox("Masukkan nama file: ")

        Try
            ' Membuka file
            FileSahabat = File.AppendText(strNamaFile)

            ' Membaca data dan menyimpannya ke dalam file
            For intHitung = 1 To intJUM_SAHABAT
                ' Membaca nama sahabat
                strSahabat = InputBox("Masukkan nama sahabat " &
                 "nomor ke-" & intHitung.ToString())

                ' Membaca nomor telepon sahabat
                strTelepon = InputBox("Masukkan nomor telepon " &
                "sahabat: ")

                ' Menuliskan data ke dalam file
                FileSahabat.WriteLine(strSahabat)
                FileSahabat.WriteLine(strTelepon)
            Next

            ' Menutup file
            FileSahabat.Close()
        Catch
            ' Pesan error
            MessageBox.Show("File tidak dapat diciptakan")
        End Try
    End Sub
End Class





Kasus 73: Membaca Data dari File

Imports System.IO

Public Class Form1

    Private Sub tombolBaca_Click(sender As Object, e As EventArgs)
    Handles tombolBaca.Click
        ' Konstanta untuk jumlah sahabat
        Const intJUM_SAHABAT As Integer = 3

        ' Variabel-variabel lokal
        Dim FileSahabat As StreamReader ' variabel objek
        Dim strNamaFile As String ' Nama file
        Dim strSahabat As String ' Nama sahabat
        Dim strTelepon As String ' Menampung nomor telepon
        Dim intHitung As Integer ' Kounter loop

        ' Membaca nama file dari pengguna
        strNamaFile = InputBox("Masukkan nama file")

        Try
            ' Membuka file
            FileSahabat = File.OpenText(strNamaFile)

            ' Membaca data
            For intHitung = 1 To intJUM_SAHABAT
                ' Mambaca nama dan no telp dari file
                strSahabat = FileSahabat.ReadLine()
                strTelepon = FileSahabat.ReadLine()

                ' Menampilkan data pada kotak list
                kotakList.Items.Add("Nomor Sahabat " & intHitung.ToString())
                kotakList.Items.Add("Nama: " & strSahabat)
                kotakList.Items.Add("Telpon: " & strTelepon)
                kotakList.Items.Add("") 'Baris kosong
            Next

            ' Menutup file
            FileSahabat.Close()
        Catch
            MessageBox.Show("File tidak dapat dibuka")
        End Try
    End Sub

    Private Sub tombolBersih_Click(sender As Object, e As EventArgs)
    Handles tombolBersih.Click
        ' Membersihkan kotak list
        kotakList.Items.Clear()
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub
End Class



Kasus 74: Mendeteksi End Of File

Imports System.IO

Public Class Form1
    ' Konstanta level-kelas untuk nama file
    Private Const strNAMAFILE As String = "Angka.txt"

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub

    Private Sub tombolBaca_Click(sender As Object, e As EventArgs)
    Handles tombolBaca.Click
        ' Variabel-variabel lokal
        Dim FileMasukan As StreamReader ' Variabel Object
        Dim strMasukan As String ' Untuk memuat sebaris masukan

        Try
            ' Membuka file
            FileMasukan = File.OpenText(strNAMAFILE)

            ' Membersihkan kotak list
            kotakList.Items.Clear()

            ' Membaca isi file
            Do Until FileMasukan.EndOfStream
                ' Membaca sebaris dari file
                strMasukan = FileMasukan.ReadLine()

                ' Menampilkan sebaris masukan pada kotak list
                kotakList.Items.Add(strMasukan)
            Loop

            ' Menutup file
            FileMasukan.Close()
        Catch
            ' Pesan error untuk error pembukaan file
            MessageBox.Show(strNAMAFILE & " tidak dapat dibuka")
        End Try
    End Sub

    Private Sub tombolCiptakan_Click(sender As Object, e As EventArgs)
    Handles tombolCiptakan.Click
        ' Variabel-variabel lokal
        Dim FileKeluaran As StreamWriter ' Variabel Objecct
        Dim intJumMaks As Integer ' Jumlah nilai
        Dim intHitung As Integer = 0 ' Kounter loop, ditetapkan 0
        Dim intAngka As Integer ' Memuat masukan pengguna

        Try
            ' Membaca angka-angka dari pengguna
            intJumMaks = CInt(InputBox("Berapa banyak integer " &
            "yang ingin Anda masukkan?"))

            Try
                ' Menciptakan file
                FileKeluaran = File.CreateText(strNAMAFILE)

                ' Membaca angka-angka dan menuliskan ke file
                Do While intHitung < intJumMaks
                    Try
                        ' Membaca integer
                        intAngka = CInt(InputBox("Masukkan integer: "))

                        ' Menuliskan integer tersebut ke dalam file
                        FileKeluaran.WriteLine(intAngka)

                        ' Menginkremen intHitung
                        intHitung += 1
                    Catch
                        ' Pesan error untuk integer tak-valid
                        MessageBox.Show("Nilai terakhir yang Anda masukkan bukanlah" &
                        " sebuah integer yang valid. Coba lagi.")
                    End Try
                Loop

                ' Menutup file
                FileKeluaran.Close()

            Catch
                ' Pesan error untuk error penciptaan file
                MessageBox.Show("Error penciptaan file " & strNAMAFILE)
            End Try

        Catch
            ' Pesan error untuk angka tak-valid
            MessageBox.Show("Silahkan masukkan integer yang valid")
        End Try
    End Sub
End Class




Kasus 75: Mengimpor File Teks Ke Program

Imports System.IO

Public Class Form1
    Dim strpath As String

    Private Sub tombolIsiKotakTeks_Click(sender As Object, e As EventArgs)
    Handles tombolIsiKotakTeks.Click
        strpath = CBPath.Text

        'Membersihkan data pada kotak teks
        kotakTeks.Clear()

        Try 'Menyalin isi file ke kotak teks
            Dim value As String = File.ReadAllText(strpath)
            kotakTeks.Text = value
        Catch ex As Exception 'menangkap error
            MsgBox("Periksa apakah nama file tepat")
        End Try
    End Sub

    Private Sub tombolIsiKotakList_Click(sender As Object, e As EventArgs)
    Handles tombolIsiKotakList.Click
        kotakList.Items.Clear()
        strpath = CBPath.Text

        ' Membuka file teks menggunakan statemen Using
        Using SR As StreamReader = New StreamReader(strpath)
            ' Menyimpan isi pada String ini
            Dim baris As String

            ' Membaca baris pertama kemudian masuk ke loop
            baris = SR.ReadLine

            ' Menjelajah tiap baris pada file
            Do While (Not baris Is Nothing)
                kotakList.Items.Add(baris)

                ' Membaca baris berikutnya
                baris = SR.ReadLine
            Loop
        End Using
    End Sub

    Private Sub tombolSimpan_Click(sender As Object, e As EventArgs)
    Handles tombolSimpan.Click
        Dim strpathkel As String = teksPath.Text

        Using tulis As StreamWriter = New StreamWriter(strpathkel)

            'untuk tiap item pada kotak list
            For i = 0 To kotakList.Items.Count - 1
                tulis.WriteLine(kotakList.Items.Item(i))
            Next
        End Using
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub
End Class




Kasus 76: Menggunakan OpenFile Dialog dan SaveFile Dialog

Imports System.IO
Public Class Form1

    Private Sub tombolBuka_Click(sender As Object, e As EventArgs)
    Handles tombolBuka.Click
        kotakTeks.Text = "" 'membersihkan data pada kotak list

        OpenFileDialog1.Title = "Silahkan Pilih Sebuah File"
        OpenFileDialog1.InitialDirectory = "E:"
        OpenFileDialog1.ShowDialog()
    End Sub

    Private Sub OpenFileDialog1_FileOk(sender As Object, e As
    System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
        Dim strm As System.IO.Stream 'aliran data
        Dim strpath As String ' path ke file
        Dim strteks As String ' menahan agar file tetap terbuka

        strm = OpenFileDialog1.OpenFile()

        'menunjukkan path dari file pada form
        teksPath.Text = OpenFileDialog1.FileName.ToString()
        strpath = OpenFileDialog1.FileName.ToString()

        If Not (strm Is Nothing) Then
            'membaca data pada file
            Try 'menyalin data ke kotak list
                strteks = File.ReadAllText(strpath)
                kotakTeks.Text = strteks

            Catch ex As Exception 'menangkap error
                MsgBox("Memeriksa apakah nama file tepat")
            End Try

            strm.Close() 'menutup streamreader
        End If
    End Sub

    Private Sub tombolSimpan_Click(sender As Object, e As EventArgs)
    Handles tombolSimpan.Click
        SaveFileDialog1.ShowDialog()
    End Sub

    Private Sub SaveFileDialog1_FileOk(sender As Object, e As
     System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
        Dim FilSimpan As String = SaveFileDialog1.FileName
        Dim objekTulis As New System.IO.StreamWriter(FilSimpan)

        objekTulis.Write(kotakTeks.Text)
        objekTulis.Close()
    End Sub
End Class




Kasus 77: Menggunakan ColorDialog dan FontDialog

Public Class Form1

    Private Sub tombolDemoColorDialog_Click(sender As Object, e As EventArgs)
    Handles tombolDemoColorDialog.Click
        If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Label1.ForeColor = ColorDialog1.Color
        End If
    End Sub

    Private Sub tombolDemoFontDialog_Click(sender As Object, e As EventArgs)
    Handles tombolDemoFontDialog.Click
        FontDialog1.ShowColor = True

        If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Label1.Font = FontDialog1.Font
            Label1.ForeColor = FontDialog1.Color
        End If
    End Sub
End Class




Kasus 78: Membuat Text Editor

Imports System.IO

Public Class Form1
    ' Variabel-variabel level-kelas
    Private strNamaFile As String = String.Empty ' nama file dokumen
    Dim blnApaBerubah As Boolean = False ' bendera perubahan file

    Sub BersihkanDokumen()
        ' Membersikan isi dari kotak teks
        teksDokumen.Clear()

        ' Membersihkan nama dokumen
        strNamaFile = String.Empty

        ' Menetapkan  blnApaBerubah menjadi False
        blnApaBerubah = False
    End Sub

    ' Prosedur BukaDokumen membuka sebuah file dan memuatnya
    ' ke kotak teks
    Sub BukaDokumen()
        Dim FileMasukan As StreamReader ' Variabel Object

        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            ' Membaca nama file
            strNamaFile = OpenFileDialog1.FileName

            Try
                ' Membuka file
                FileMasukan = File.OpenText(strNamaFile)

                ' Membaca isi file dan menempatkannya pada kotak teks
                teksDokumen.Text = FileMasukan.ReadToEnd

                ' Menutup file
                FileMasukan.Close()

                ' Memperbarui variabel blnApaBerubah
                blnApaBerubah = False
            Catch
                ' Pesan error karena error pembukaan file
                MessageBox.Show("Error pembukaan file.")
            End Try
        End If
    End Sub

    ' Prosedur BukaDokumen menyimpan dokumen
    Sub SimpanDokumen()
        Dim FileKeluaran As StreamWriter ' Variabel Object

        Try
            ' Menciptakan file
            FileKeluaran = File.CreateText(strNamaFile)

            ' Menuliskan kotak teks ke file
            FileKeluaran.Write(teksDokumen.Text)

            ' Menutup file
            FileKeluaran.Close()

            ' Memperbarui blnApaBerubah
            blnApaBerubah = False
        Catch
            ' Pesan error untuk error penciptaan file
            MessageBox.Show("Error penciptaan file.")
        End Try
    End Sub

    Private Sub teksDokumen_TextChanged(sender As Object, e As EventArgs)
    Handles teksDokumen.TextChanged
        ' Mengindikasikan bahwa teks telah berubah
        blnApaBerubah = True
    End Sub

    Private Sub menuFileBaru_Click(sender As Object, e As EventArgs)
    Handles menuFileBaru.Click
        ' Apakah dokumen berubah?
        If blnApaBerubah = True Then
            ' Memastikan sebelum menghapus dokumen
            If MessageBox.Show("Dokumen belum disimpan. " &
            "Anda yakin?", "Memastikan", MessageBoxButtons.YesNo) =
            Windows.Forms.DialogResult.Yes Then
                BersihkanDokumen()
            End If
        Else
            ' Dokumen tidak berubah, jadi dihapus
            BersihkanDokumen()
        End If
    End Sub

    Private Sub menuFileBuka_Click(sender As Object, e As EventArgs)
    Handles menuFileBuka.Click
        ' Apakah dokumen berubah?
        If blnApaBerubah = True Then
            ' Memastikan sebelum menghapus dokumen
            If MessageBox.Show("Dokumen belum disimpan. " &
            "Anda yakin?", "Memastikan", MessageBoxButtons.YesNo) =
            Windows.Forms.DialogResult.Yes Then
                BersihkanDokumen()
            End If
        Else
            ' Dokumen tidak berubah, jadi diganti
            BersihkanDokumen()
            BukaDokumen()
        End If
    End Sub

    Private Sub menuFileSimpan_Click(sender As Object, e As EventArgs)
    Handles menuFileSimpan.Click
        ' Apakah dokumen sudah punya nama file?
        If strNamaFile = String.Empty Then
            ' Dokumen belum disimpan, jadi
            ' menggunakan SaveFileDialog
            If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                strNamaFile = SaveFileDialog1.FileName
                SimpanDokumen()
            End If
        Else
            ' Menyimpan dokumen dengan nama file yang telah ada
            SimpanDokumen()
        End If
    End Sub

    Private Sub menuFileSimpanDengan_Click(sender As Object, e As EventArgs)
    Handles menuFileSimpanDengan.Click
        ' Menyimpan dokumen dengan nama baru
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            strNamaFile = SaveFileDialog1.FileName
            SimpanDokumen()
        End If
    End Sub

    Private Sub menuFileKeluar_Click(sender As Object, e As EventArgs)
    Handles menuFileKeluar.Click
        ' Menutup form
        Me.Close()
    End Sub

    Private Sub menuBantuanTentang_Click(sender As Object, e As EventArgs)
    Handles menuBantuanTentang.Click
        ' Menampilkan menu tentang
        MessageBox.Show("Text Editor Sederhana versi 1.0")
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs)
    Handles MyBase.FormClosing
        ' Jika dokumen belum berubah, memastikan sebelum keluar
        If blnApaBerubah = True Then
            If MessageBox.Show("Dokumen belum disimpan. " &
            "Apakah Anda ingin mengabaikan perubahan dokumen?",
            "Memastikan",
            MessageBoxButtons.YesNo) =
            Windows.Forms.DialogResult.Yes Then
                e.Cancel = False
            Else
                e.Cancel = True
            End If
        End If
    End Sub
End Class



Kasus 79: Menulis Ke File Dengan Struktur

Imports System.IO

Public Structure InfoSahabat
    Dim strNama As String ' memuat nama
    Dim strTelepon As String ' memuat nomor telepon
End Structure

Public Class Form1

    Private Sub tombolCipta_Click(sender As Object, e As EventArgs) Handles tombolCipta.Click
        ' Konstanta untuk jumlah sahabat
        Const intJUM_SAHABAT As Integer = 3

        ' Variabel-variabel lokal
        Dim strNamaFile As String ' Nama file
        Dim intHitung As Integer ' Kounter loop
        Dim FileSahabat As StreamWriter ' Variabel objek StreamWriter

        Dim SahabatKu As InfoSahabat ' Variabel struktur

        ' Membaca nama file dari pengguna
        strNamaFile = InputBox("Masukkan nama file: ")

        Try
            ' Membuka file
            FileSahabat = File.CreateText(strNamaFile)

            ' Membaca data dan menyimpannya ke dalam file
            For intHitung = 1 To intJUM_SAHABAT
                ' Membaca nama sahabat
                SahabatKu.strNama = InputBox("Masukkan nama sahabat " &
                 "nomor ke-" & intHitung.ToString())

                ' Membaca nomor telepon sahabat
                SahabatKu.strTelepon = InputBox("Masukkan nomor telepon " &
                "sahabat: ")

                ' Menuliskan data ke dalam file
                FileSahabat.WriteLine(SahabatKu.strNama)
                FileSahabat.WriteLine(SahabatKu.strTelepon)
            Next

            ' Menutup file
            FileSahabat.Close()
        Catch
            ' Pesan error
            MessageBox.Show("File tidak dapat diciptakan")
        End Try
    End Sub

    Private Sub tombolKeluar_Click(sender As Object, e As EventArgs)
    Handles tombolKeluar.Click
        Me.Close()
    End Sub
End Class




No comments:

Post a Comment