Belajar Membuat Aplikasi NotePad Dengan Visual Basic
Berawal dari tugas kuliah membuat aplikasi Notepad, saya iseng ja nulis di blog ini. ya mungkin bisa sharing, saya juga masih belum banyak mengerti. dan mungkin program masih jauh dari sempurna...he
Program Aplikasi Notepad
Program ini merupakan sebuah program aplikasi yang hampir sama dengan notepad pada windows. Fungsi dan menu dari program aplikasi ini juga hampir sama dengan aplikasi notepad. Menu tersebut antara lain pada File terdapat submenu New, Open, Save, SaveAs, dan Exit. Pada Menu Edit terdapat submenu Undo, Cut, Copy, Paste, delete, Sellect All, Find, Replace, Find Next, Time/Date. Pada menu Format terdapat submenu Font.
Langkah Pembuatan Program
1. Jalankan Aplikasi Visual Basic 6.0 Kemudian buat project baru. (File New Project Standar EXE)
2. Selanjutnya buat Form seperti terlihat pada gambar di atas. Save Form ini dengan nama FormMain dan Caption dari form ini NotePad
3. Tambahkan komponen TextBox dengan nama TxtNotepad, hilangkan Text nya kemudian Sesuaikan ukuran TextBox tersebut sehingga memenuhi Form. Dimana pada TextBox ini pada properties Multiline diganti menjadi true dan pada Scrollbarnya diganti dengan 3-Both. Dan Tmbahkan CommonDialog dengan nama CommonDialog1 melalui tollbar standar, biasanya pada toolbar standar belum ada CommonDialog ini maka dapat diisikan dengan cara klik (Project Components Kemudian beri centang pada Microsoft Common Dialog 6.0 OK ) Seperti terlihat pada gambar berikut ini :
4. Selanjutnya Klik kanan pada FormNotepad dan pilih Menu Editor untuk membuatkan Menu pada program aplikasi NotePad ini. Terlihat seperti gambar di bawah ini:
5. Dengan cara seperti gambar di atas, kotak Dialog Menu Editor isikan Nama dan Caption dari Menu sebagai berikut :
Name
Caption
Type
Shortcut
mnuFile
File
Menu
mnuNew
New
SubMenu
Ctrl+N
mnuOpen
Open
SubMenu
Ctrl+O
mnuSave
Save
SubMenu
Ctrl+S
mnuSaveAs
Save As
SubMenu
mnuExit
Exit
SubMenu
mnuEdit
Edit
Menu
mnuUndo
Undo
SubMenu
Ctrl+Z
mnuCut
Cut
SubMenu
Ctrl+X
mnuCopy
Copy
SubMenu
Ctrl+C
mnuPaste
Paste
SubMenu
Ctrl+V
mnuDelete
Delete
SubMenu
Del
mnuFind
Find
SubMenu
Ctrl+F
mnuFindNext
Find Next
SubMenu
mnuReplace
Replace
SubMenu
Ctrl+R
mnuSelectAll
Select All
SubMenu
Ctrl+A
mnuFormat
Format
Menu
mnuWordWrap
Word Wrap
SubMenu
mnuFont
Font
SubMenu
6. Tambahkan form baru lagi pada project yang sama, yaitu Form Find dan Form replace.
Dalam Form Find terdapat label dengan caption 'Find' , TextBox tanpa text, CommondButton masing dengan caption Find Next dan Cancel, dan terdapat sebuah Frame dengan Caption Direction, dalam frame tersebut terdapat OptionBotton masing-masing Up dan Down. Dan terdapat pula ChekBox terlihat pada gambar dibawah ini
Dalam Form Replace terdapat Label 2 buah dengan caption masing-masing Find dan Replace With. TexBox 2 tanpa Text, CommondBotton 4 buah masing-masing dengan Caption Find Next, Replace, Replace All, dan Cancel, dan juga sebuah ChekBox. Terlihat pada gambar di bawah ini:
Pengkodingan ( Source Code)
Mendeklarasikan
Private TempText As String
Private FilePath As String
Private UndoText As String
Code ini berfungsi untuk membuat beberapa fitur yang bekerjadengan baik, kita perlu beberapa level variabel, yang harusdinyatakan deklarasi Umum dalam form.
Resize
Private Sub Form_Resize()
TxtNotePad.Width = Me.ScaleWidth
TxtNotePad.Height = Me.ScaleHeight
TxtNotePad2.Width = Me.ScaleWidth
TxtNotePad2.Height = Me.ScaleHeight
End Sub
Code ini berfungsi yaitu Agar TextBox yang kita buat dapat secara otomatis berubah ukurannya sesuai dengan ukuran Form jika kita mengubahnya.
ShowSave
Private Function ShowSave()
Dim result As Boolean
result = False
CommonDialog1.Filter = "Text Document"*.txt"
CommonDialog1.ShowSave
If (CommonDialog1.filename <> "") Then
result = True
SaveFile CommonDialog1.filename
End If
ShowSave = result
End Function
Code ini berfunsi untuk memperlihatkan dimana tempat kita akan menyimpan data ketika mengKlik sub menu SaveAs
Function SaveAs
Private Function SaveAs()
Dim result As Boolean
If (ShowSave) Then
FilePath = CommonDialog1.filename
TempText = TxtNotePad.Text
Else
result = False
End If
SaveAs = result
End Function
Code ini berfungsi Menyimpan file dengan terlebih dahulu menentukan dimana tempat file akan disimpan
Function Save
Private Function Save()
Dim result As Boolean
result = True
If (FilePath = "") Then
If (Not SaveAs) Then
result = False
End If
Else
SaveFile FilePath
TempText = TxtNotePad.Text
End If
Save = TxtNotePad.Text
End Function
Code ini berfungsi untuk menyimpan file yang telah dibuat atau melanjutkan file yang pernah dibuat
SaveFile
Private Sub SaveFile(filename As String)
Open filename For Output As #1
Print #1, TxtNotePad.Text
Close #1
End Sub
Code ini berfungsi Untuk menyimpan File yang telah dibuat.
OpenFile
Private Sub OpenFile(filename As String)
Open filename For Input As #1
If (Not EOF(1)) Then
Input #1, Data
TxtNotePad.Text = Data
Do Until EOF(1)
Input #1, Data
TxtNotePad.Text = TxtNotePad.Text & vbNewLine & Data
Loop
End If
Close #1
End Sub
Code ini berfunsi untuk Membuka file yang sudah pernah dibuat.
CekSave
Private Function CekSave()
Dim result As Boolean
Dim retval
result = True
If (TxtNotePad.Text <> TempText) Then
retval = MsgBox("Do you want to save current text?", vbQuestion + vbYesNoCancel, "Warning")
If (retval = vbCancel) Then
result = False
ElseIf (retval = vbYes) Then
If (Not Save) Then result = False
End If
End If
CekSave = result
End Function
Code ini berfungsi untuk mengecek data yang belum tersimpan dan langsung di close, maka ada pemberitahuan data apakah mau di save atau tidak.
NewDoc
Private Sub NewDoc()
TextText = ""
FilePath = ""
TxtNotepad.Text = ""
End Sub
Code ini berfungsi untuk membuat file baru di dalam notepad
Coding(source code) pada FormMain
New
Private Sub MnuNew_Click(Index As Integer)
If (CekSave) Then NewDoc
FormFind.TxFind.Text = ""
FormFind.OpUp.Value = False
FormFind.OpDown.Value = False
FormFind.ChMatchcase.Value = False
End Sub
Submenu new ini berfungsi membuka aplikasi NotePad baru lagi, dimana pada saat aplikasi masih berjalan lalu klik menu File – New maka akan keluar konfirmasi "simpan data terlebih dahulu" , kalu mau menyimpan maka pilih Yes, untuk tidak menyimpan dan langsung muncul NotePad barupilih No. Dan untuk membatalkan pilih Cancel. Seperti contoh gambar di bawah ini:
Open
Private Sub MnuOpen_Click(Index As Integer)
CommonDialog1.Filter = "All files"*.*"
CommonDialog1.ShowOpen
If (CommonDialog1.filename <> "") Then
FilePath = CommonDialog1.filename
OpenFile FilePath
TempText = TxtNotePad.Text
End If
End Sub
Code ini berfungsi untuk membuka file notepad yang pernah tersimpan, pada saat di buka file-open maka akan langsung muncul folder tempat penyimpanan.
Save
Private Sub mnuSave_Click()
Save
End Sub
Code ini berfungsi untuk menyimpan file yang sudah dibuat dalam notepad.
SaveAs
Private Sub mnuSaveAs_Click()
SaveAs
End Sub
Code ini untuk menyimpan file tetap menyimpan dalam folder yang berbeda.
Exit
Private Sub mnuExit_Click()
If (CekSave) Then End
End Sub
Code ini berfungsi untuk keluar dari notepad
Undo
Private Sub MnuUndo_Click()
If (TxtNotePad.Visible) Then
On Error Resume Next
TxtNotePad.SetFocus
SendKeys "^Z"
Else
On Error Resume Next
TxtNotePad2.SetFocus
SendKeys "^Z"
End If
End Sub
Code ini berfungsi untuk kembali ke keadaan sebelumnya
Cut
Private Sub MnuCut_Click()
Clipboard.Clear
Clipboard.SetText ActiveControl.SelText
ActiveControl.SelText = ""
End Sub
Code ini berfungsi untuk memotong memindahkan suatu data dari satu tempat ke tempat lain
Copy
Private Sub MnuCopy_Click()
Clipboard.Clear
Clipboard.SetText TxtNotePad.SelText
End Sub
Berfungsi untuk menggandakan suatu data
Paste
Private Sub MnuPaste_Click()
TxtNotePad.SelText = Clipboard.GetText
TxtNotePad2.SelText = Clipboard.GetText
End Sub
Berfungsi untuk mengoutputkan data yang sudah dicopy atau di cut.
Delete
Private Sub mnuDelete_Click()
TxtNotepad.SelText = ""
End Sub
Berfungsi untuk menghapus huruf yang terdapat di dalam notepad.
Find
Private Sub MnFind_Click()
FormFind.Show
End Sub
Berfungsi untuk untuk mencari text yang diinginkan
Find Next
Private Sub MnFindNext_Click()
If (FormFind.OpUpStat = True) Then
FormFind.FindUp FormMain.TxtNotePad.SelStart, FormFind.TxFindStat, FormFind.ChMatchcaseStat
End If
If (FormFind.OpDownStat = True) Then
FormFind.FindDown FormMain.TxtNotePad.SelStart, FormFind.TxFindStat, FormFind.ChMatchcaseStat
End If
End Sub
Berfungsi untuk mencari text namun yang ini untuk mencari text yang selanjutnya
Replace
Private Sub MnReplace_Click()
FormReplace.Show
End Sub
Berfungsi untuk mengganti/mengubah text yang diinginkan menjadi sebuah text baru
Select All
Private Sub MnuSelectAll_Click()
If (TxtNotePad.Visible = True) Then
TxtNotePad.SelStart = 0
TxtNotePad.SelLength = Len(ActiveControl.Text)
Else
TxtNotePad2.SelStart = 0
TxtNotePad2.SelLength = Len(ActiveControl.Text)
End If
End Sub
Code ini berfungsi untuk menblok semua data pada notepad.
Word Wrap
Private Sub MnWordWrap_Click()
If (MnWordWrap.Checked = False) Then
TxtNotePad2.Text = TxtNotePad.Text
TxtNotePad2.Font = TxtNotePad.Font
TxtNotePad2.FontBold = TxtNotePad.FontBold
TxtNotePad2.FontItalic = TxtNotePad.FontItalic
TxtNotePad2.FontStrikethru = TxtNotePad.FontStrikethru
TxtNotePad2.FontUnderline = TxtNotePad.FontUnderline
TxtNotePad2.FontSize = TxtNotePad.FontSize
TxtNotePad2.SelStart = TxtNotePad.SelStart
TxtNotePad.Visible = False
TxtNotePad2.Visible = True
MnWordWrap.Checked = True
Else
TxtNotePad.Text = TxtNotePad2.Text
TxtNotePad.Font = TxtNotePad2.Font
TxtNotePad.FontBold = TxtNotePad2.FontBold
TxtNotePad.FontItalic = TxtNotePad2.FontItalic
TxtNotePad.FontStrikethru = TxtNotePad2.FontStrikethru
TxtNotePad.FontUnderline = TxtNotePad2.FontUnderline
TxtNotePad.FontSize = TxtNotePad2.FontSize
TxtNotePad.SelStart = TxtNotePad2.SelStart
TxtNotePad.Visible = True
TxtNotePad2.Visible = False
MnWordWrap.Checked = False
End If
End Sub
Digunakan untuk suatu text yang panjang berlanjut ke bawah jika sudah penuh dan tidak terus ke samping.
Font
Private Sub MnFont_Click()
CommonDialog1.FontName = FormMain.TxtNotePad.Font
CommonDialog1.FontBold = FormMain.TxtNotePad.FontBold
CommonDialog1.FontItalic = CommonDialog1.FontItalic
CommonDialog1.FontSize = FormMain.TxtNotePad.FontSize
CommonDialog1.FontStrikethru = FormMain.TxtNotePad.FontStrikethru
CommonDialog1.FontUnderline = FormMain.TxtNotePad.FontUnderline
CommonDialog1.FontSize = FormMain.TxtNotePad.FontSize
CommonDialog1.ShowFont
FormMain.TxtNotePad.Font = CommonDialog1.FontName
FormMain.TxtNotePad.FontBold = CommonDialog1.FontBold
FormMain.TxtNotePad.FontItalic = CommonDialog1.FontItalic
FormMain.TxtNotePad.FontStrikethru = CommonDialog1.FontStrikethru
FormMain.TxtNotePad.FontUnderline = CommonDialog1.FontUnderline
FormMain.TxtNotePad.FontSize = CommonDialog1.FontSize
End Sub
Code inim berfungsi untu mengatur font data pada notepad.