Jumat, 04 Mei 2018

Aplikasi Notepad C#

Kali ini saya akan memberikan tutorial mengenai progrm berbahasa C# yaitu notepad, Aplikasi ini dibuat untuk membuka file yang berextension .txt, pertama yang harus dipersiapkan yaitu komponen toolbox untuk mengisi form diantaranya ada pada tabel dibawah :

1. tabel komponen Form1












2. tabel komponen Form Find (frmFind)






3. tabel komponen Form About (frmAbout)








bagi yang belum tau cara add form dalam satu project bisa dilihat gambar dibawah ini :


Klik pada project yang dibuat yaitu notepad pilih add lalu pilih new item nanti tampil jendela baru seperti gambar dibawah :



Pilih Windows Form lalu isi nama sesuai keinginan setelah selesai klik add.

4. Tampilan Form1



5. Tampilan Form Find



6. Tampilan Form About


6. Listing Program untuk Form1

Form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//tambahkan
using Microsoft.Win32;
using System.IO;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace Notepad
{
    public partial class Form1 : Form
    {
        public static string Findtext;
        public static Boolean matchcase;
        int startpos;


        public Form1()
        {
            InitializeComponent();
        }

        void bukafile() //fungsi untuk membuka file ".txt"
        {
            OpenFileDialog buka = new OpenFileDialog();
            buka.DefaultExt = ".txt";
            buka.Filter = " Text Documents | *.txt";
            buka.FileName = "";
            buka.ValidateNames = true;
            buka.Multiselect = false;

            if (buka.ShowDialog() == DialogResult.OK)
            {
                string fileTerpilih = buka.FileName;
                if (fileTerpilih != "")
                {
                    rtinput.LoadFile(fileTerpilih, RichTextBoxStreamType.PlainText);
                }
            }
        }


        void simpanfile() //fungsi untuk menyimpan file
        {
            SaveFileDialog simpan = new SaveFileDialog();
            simpan.Filter = "Text Documents | *.txt";
            simpan.RestoreDirectory = true;

            if (simpan.ShowDialog() != DialogResult.Cancel)
            {
                StreamWriter filesimpan = new StreamWriter(File.Create(simpan.FileName));
                filesimpan.Write(rtinput.Text);
                filesimpan.Dispose();
            }
        }



        private void Form1_Load(object sender, EventArgs e)
        {

            startpos = 0;
            if (String.IsNullOrEmpty(rtinput.Text))
            {

                findToolStripMenuItem.Enabled = false;
                findNextToolStripMenuItem.Enabled = false;
            }

            else
            {
                findToolStripMenuItem.Enabled = true;
            }
        }


        //====================== ISI MENUSTRIP "FILE" ==============================//


        private void sNew_Click(object sender, EventArgs e)
        {
            rtinput.Clear();
        }


        private void bbukafile_Click(object sender, EventArgs e)
        {
            if (rtinput.Text != "")
            {
                var pesan = MessageBox.Show("File belum tersimpan, Simpan terlebih dahulu???", "konfirmasi",
                MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (pesan == DialogResult.Yes)
                {
                    simpanfile();
                    bukafile();
                }

                else
                {
                    bukafile();
                }
            }

            else
            {
                bukafile();
            }
        }

        private void bsimpan_Click(object sender, EventArgs e)
        {
            simpanfile();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }


        //======================== ISI MENU EDIT ========================//



        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (frmAbout frm = new frmAbout())
            {
                frm.ShowDialog();
            }
        }

        private void undoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Undo();
        }

        private void redoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Redo();
        }

        private void cutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Cut();
        }

        private void copyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Copy();
        }

        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Paste();
        }

        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.SelectedText = "";
        }

        private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.SelectAll();
        }


        private void findToolStripMenuItem_Click(object sender, EventArgs e)
        {

            frmFind f1 = new frmFind();
            f1.ShowDialog();
            //ShowForm(frmFind.inst);

                   

            if (startpos >= 0)
            {
                if (matchcase == true)
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.MatchCase);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }

                else
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }
            }

            if (startpos == 0)
            {
                MessageBox.Show("pencarian Selesai");
                startpos = 0;
            }

            findNextToolStripMenuItem.Enabled = true;
        }



        private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
        {

            if (startpos >= 0)
            {
                if (matchcase == true)
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }

                else
                {
                    if (rtinput.Text.IndexOf(Findtext) == -1)
                    {
                        MessageBox.Show("Masukan kata yang ingin dicari");
                        startpos = 0;
                    }

                    else
                    {
                        rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
                        startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
                    }
                }
            }

            if (startpos == 0)
            {
                MessageBox.Show("pencarian Selesai");
                startpos = 0;
            }
        }


        private void dateTimeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            rtinput.Text = DateTime.Now.ToString();
        }

        private void rtinput_TextChanged(object sender, EventArgs e)
        {
            startpos = 0;

            if (String.IsNullOrEmpty(rtinput.Text))
            {

                findToolStripMenuItem.Enabled = false;
                findNextToolStripMenuItem.Enabled = false;
            }

            else
            {
                findToolStripMenuItem.Enabled = true;
            }
        }

        private void wordToolStripMenuItem_Click(object sender, EventArgs e)
        {
         
            if(wordToolStripMenuItem.Checked == true)
            {
                rtinput.WordWrap = true;
            }

            else
            {
                rtinput.WordWrap = false;
            }
        }

        private void fontToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            FontDialog font1 = new FontDialog();
            DialogResult openFont = font1.ShowDialog();

            if (openFont == DialogResult.OK)
            { 
                rtinput.Font = font1.Font;
            }
        }

        private void backgroundColorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ColorDialog clr = new ColorDialog();
            DialogResult openClr = clr.ShowDialog();

            if (openClr == DialogResult.OK)
            {
                rtinput.BackColor = clr.Color;
            }
        }
    }
}



7. Listing Program untuk Form Find

Form Find:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Notepad
{
    public partial class frmFind : Form
    {
     
        public frmFind()
        {
            InitializeComponent();
            //Form1 frm1 = new Form1();
            //frm1.Visible = true;
         
         
        }

        private void frmFind_Load(object sender, EventArgs e)
        {
            button1.Enabled = false;
         
        }
     
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                button1.Enabled = false;
            }

            else
            {
                button1.Enabled = true;
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {

            if (checkBox1.Checked == true)
            {
                Form1.matchcase = true;
            }

            else
            {
                checkBox1.Checked = false;
            }

            Form1.Findtext = textBox1.Text;
            this.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form1.Findtext = "";
            this.Close();
         
        }
    }
}



8. Listing Program untuk Form About

Form About:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Notepad
{
    public partial class frmAbout : Form
    {
        public frmAbout()
        {
            InitializeComponent();
        }

        private void frmAbout_Load(object sender, EventArgs e)
        {
            lbProductName.Text = string.Format("Product Name : {0}", Application.ProductName);
            lbProductVersion.Text = string.Format("Version : {0}", Application.ProductVersion);
            lbCopyright.Text = "Copyright ©  2018 By Visual Studio 2010";
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}



9. Running Program



Tidak ada komentar:

Posting Komentar