Script Notepad Sederhana dengan Delphi 7. Pada kesempatan yang berbahagia kali ini, saya akan mencoba memberikan sedikit yang saya ketahui tentang bahasa pemrograman Delphi. Adapun kali ini saya akan mencoba membagi apa yang telah saya buat yakni tentang bagaimana
Membuat Notepad Sederhana dengan Delphi 7.
Ya, meskipun aplikasi text editor ini sudah sangat terkenal dan ada secara cuma-cuma di setiap windows, namun kita tentunya akan merasa lebih bangga jika bisa menggunakan aplikasi semacam ini buatan sendiri. Nah, di luar sana tentunya sudah sangat banyak tutorial tentang bagaimana membuat aplikasi notepad sendiri, dan disini saya pun akan mencoba memberikan tutorial tentang membuat notepad sederhana dengan delphi 7. Bagi yang belum memiliki aplikasi IDE dari delphi 7 ini bisa didownload di blog www.kuyhaa-android19.com (searching google aja ya hehe :D)
Yang harus dipersiapkan :
- IDE Delphi 7
- Snack, dan Es Teh Pastinya hehe :D
Nantinya kita akan membuat beberapa fitur yang fungsinya hampir sama seperti notepad seperti
- New File
- Open File
- Save / Save As File
- Print File
- Undo
- Copy - Cut - Paste
- Replace
- Align (Left, Right, Center)
- Word Wrap
- Read Only
- Font Style
- Background Color
- Character Count
Baik langsung saja kita mulai perjalanan yang agak sedikit panjang ini hehe #alay
1. Buka aplikasi IDE Delphi 7 Anda, maka otomatis akan terbuat project dengan nama Project1 dan Form dengan nama Form1
2. Ubah beberapa properti dari Form 1 seperti berikut, atau bisa juga sesuai keinginan Anda
- Caption : Notepad Sederhana
- Position : poDesktopCenter
- Width : 579
- Height : 495
3. Lalu tambahkan object Memo ke dalam Form 1
Kemudian atur properti object Memo sebagai berikut
- align : alClient <----- Untuk membuat memo mengikuti besar kecilnya form, jika form di maximize maka memo juga ikut maximize dst
- lines <--- hapus tulisan memo1 di properti Lines
4. Sekarang kita akan membuat menu-menu di menu bar untuk mempermudah pengguna untuk menggunakan notepad buatan kita. Caranya pilih saja object Main Menu di toolbar standard, lalu masukkan ke dalam form 1
5. Lalu buat menu dengan hierarki sebagai berikut
File
New
Open
Save
Save As
Page Setup
Print
Exit
Edit
Undo
Copy
Cut
Paste
Replace
Select All
Format
Align
Left
Right
Center
Word Wrap
Read Only
Font Style
Background
Chars Count
Help
About
Caranya dengan mengklik icon Main Menu, lalu Pilih Posisi menu dan ganti Caption nya sesuai posisi menu yang akan dibuat. Anda bisa juga menambahkan Shortcut Keyboard dengan cara merubah properti
ShortCut di menu yang anda pilih
6. Sekarang tambahkan beberapa object lagi untuk mendukung fungsi dari menu-menu diatas agar dapat berjalan sebagaimana mestinya. Object yang harus ditambahkan ada di
toolbar dialogs
- OpenDialog
- SaveDialog
- FontDialog
- ColorDialog
- PrintDialog
- ReplaceDialog
- PageSetupDialog
7. Baik sekarang kita mulai coding
New File
--> Klik pada menu New
procedure TForm1.New1Click(Sender: TObject);
begin
opendialog1.FileName:='';
savedialog1.FileName:='';
memo1.Clear;
form1.Caption:='Notepad Sederhana';
memo1.SetFocus;
end;
Open File
--> Klik Icon OpenDialog, lalu atur properti
Filter seperti berikut
--> Klik pada menu
Open
procedure TForm1.Open1Click(Sender: TObject);
begin
if Opendialog1.Execute then
memo1.Lines.LoadFromFile(opendialog1.Filename);
form1.Caption:= 'Notepad Sederhana - '+opendialog1.FileName;
end;
Save File
--> Klik Icon SaveDialog, lalu atur properti
DefaultExt isi dengan
txt dan properti
Filter atur seperti berikut
--> Klik pada menu
Save
Untuk Save File ini logikanya adalah jika tidak ada file yang dibuka sebelumnya, maka fungsinya akan sama seperti Save As yakni membuat file Save baru, tapi jika ada yang dibuka sebelumnya maka file akan di save di file yang dibuka tersebut
procedure TForm1.Save1Click(Sender: TObject);
begin
if opendialog1.FileName='' then
begin
if savedialog1.Execute then
memo1.Lines.SaveToFile(savedialog1.FileName);
form1.Caption:='Notepad Sederhana - '+savedialog1.FileName;
end
else
begin
memo1.Lines.SaveToFile(opendialog1.FileName);
form1.Caption:='Notepad Sederhana - '+opendialog1.FileName;
end;
end;
Save As File
--> Klik pada menu
Save As
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if opendialog1.FileName='' then
begin
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
form1.Caption:='Notepad Sederhana - '+savedialog1.FileName;
end
else
begin
savedialog1.FileName:=opendialog1.FileName;
if savedialog1.Execute then
memo1.Lines.SaveToFile(SaveDialog1.FileName);
form1.Caption:='Notepad Sederhana - '+savedialog1.FileName;
end;
end;
Page Setup
--> Klik pada menu
Page Setup
procedure TForm1.PageSetup1Click(Sender: TObject);
begin
pagesetupdialog1.Execute;
end;
Print
--> Klik pada menu
Print
procedure TForm1.Print1Click(Sender: TObject);
begin
printdialog1.Execute;
end;
Exit
--> Klik pada menu
Exit
procedure TForm1.Exit1Click(Sender: TObject);
var modified : bool;
begin
if modified then
begin
if (opendialog1.FileName='') AND (savedialog1.FileName='') then
begin
if MessageDlg('Simpan File ?',mtInformation,[mbYes,mbNo],0)=MrYes then
begin
if savedialog1.execute then
memo1.Lines.SaveToFile(savedialog1.FileName)
else
application.Terminate;
end
else
application.Terminate;
end
else if opendialog1.FileName='' then
begin
memo1.Lines.SaveToFile(savedialog1.FileName);
end
else
if MessageDlg('Save To'+ opendialog1.FileName+' ? ',mtInformation,[mbYes,mbNo],0)=MrYes then
begin
memo1.Lines.SaveToFile(opendialog1.FileName);
application.Terminate;
end
else
application.Terminate;
end
else
application.Terminate;
end;
//Mengapa panjang ? Karena Exit juga akan menghadirkan fitur untuk
tanya apakah file akan disimpan dulu atau tidak
Undo
--> Klik pada menu
Undo
procedure TForm1.Undo1Click(Sender: TObject);
begin
sendmessage(memo1.Handle,WM_UNDO,0,0);
end;
Copy
--> Klik pada menu
Copy
procedure TForm1.Undi1Click(Sender: TObject);
begin
memo1.CopyToClipboard;
end;
Paste
--> Klik pada menu
Paste
procedure TForm1.Paste1Click(Sender: TObject);
begin
memo1.PasteFromClipboard;
end;
Replace
--> Klik pada menu
Replace
procedure TForm1.Replace1Click(Sender: TObject);
begin
replacedialog1.execute;
end;
--> Pada Event
OnReplace ketikkan 'Replace' (tanpa tanda petik) lalu isi kode berikut
procedure TForm1.Replace(Sender: TObject);
var
SelPos, SPos, SLen, TextLength: Integer;
SearchString : string;
begin
with TReplaceDialog(Sender) do begin
TextLength:=Length(Memo1.Lines.Text);
SPos:=Memo1.SelStart;
SLen:=Memo1.SelLength;
SearchString := Copy(Memo1.Lines.Text,
SPos + SLen + 1,
TextLength - SLen + 1);
SelPos := Pos(FindText, SearchString);
if SelPos > 0 then begin
Memo1.SelStart := (SelPos - 1) + (SPos + SLen);
Memo1.SelLength := Length(FindText);
{remove this in the OnFind procedure:}
Memo1.SelText := ReplaceText;
end
else MessageDlg('Could not find "' + FindText +
'" in '+form1.Caption+'.', mtError, [mbOk], 0);
end;
end;
Select All
--> Klik pada menu
Select All
procedure TForm1.SelectAll1Click(Sender: TObject);
begin
memo1.SelectAll;
end;
Align --> Left
--> Klik pada menu
Align --> Left
procedure TForm1.Left1Click(Sender: TObject);
begin
memo1.Alignment:= taLeftJustify;
left1.Checked:=true;
right1.Checked:=false;
center1.Checked:=false;
end;
Align --> Right
--> Klik pada menu
Align --> Right
procedure TForm1.Right1Click(Sender: TObject);
begin
memo1.Alignment:= taRightJustify;
left1.Checked:=false;
right1.Checked:=true;
center1.Checked:=false;
end;
Align --> Center
--> Klik pada menu
Align --> Center
procedure TForm1.Center1Click(Sender: TObject);
begin
memo1.Alignment:= taCenter;
left1.Checked:=false;
right1.Checked:=false;
center1.Checked:=true;
end;
Word Wrap
--> Klik pada menu
Word Wrap
--> Ubah Properti
- ScrollBars di Memo1 menjadi ssBoth
- WordWrap di Memo1 menjadi False
procedure TForm1.WordWrap1Click(Sender: TObject);
begin
if memo1.WordWrap then
begin
memo1.WordWrap := false;
wordwrap1.Checked := false;
memo1.ScrollBars := ssBoth;
end
else
begin
memo1.WordWrap := true;
wordwrap1.Checked := true;
memo1.ScrollBars := ssVertical;
end;
end;
Read Only
--> Klik pada menu
Read Only
procedure TForm1.ReadOnly1Click(Sender: TObject);
begin
if memo1.ReadOnly=false then
begin
readonly1.Checked:=true;
memo1.ReadOnly:=true;
end
else
begin
readonly1.Checked:=false;
memo1.ReadOnly:=false;
end;
end;
Font Style
--> Klik pada menu
Font Style
procedure TForm1.FontStyle1Click(Sender: TObject);
begin
fontdialog1.Font := memo1.Font;
if fontdialog1.Execute then
memo1.Font := fontdialog1.Font;
end;
Background
--> Klik pada menu
Background
procedure TForm1.Background1Click(Sender: TObject);
begin
colordialog1.Color := memo1.Color;
if colordialog1.Execute then
memo1.Color := colordialog1.Color;
end;
Character Count
--> Klik pada menu
Chars Count
procedure TForm1.CharsCount1Click(Sender: TObject);
var jumlah:string;
begin
str(memo1.GetTextLen, jumlah);
MessageDlg ('Dokumen Anda terdiri dari ' + jumlah + ' Characters',
mtInformation, [mbOK], 0);
end;
About
--> Klik pada menu
Select All
procedure TForm1.About1Click(Sender: TObject);
begin
MessageDlg ('Notepad Sederhana By Adriyanto Prasetyo',
mtInformation, [mbOK], 0);
end;
Untuk Menu About bisa juga Anda tambahkan Form Baru, untuk menghubungkan dua atau lebih Form dalam Delphi 7 Insya Allah akan dibahas di kemudian hari
8. Sekarang tinggal dicoba, klik tombol Run atau F9
Jika berhasil dan tak ada bug, maka silakan coba masing-masing menu nya. Jika sudah yakin, maka selamat kini Anda berhasil membuat notepad Anda sendiri.
Oh ya perlu diketahui, object-object diatas masih murni ya artinya belum ada perubahan nama, nah jika sudah anda rubah namanya ya tinggal disesuaikan saja. Silakan berekspresi, saya yakin karya Anda sangat bisa lebih baik dari apa yang saya buat... :)
Berikut adalah Hasil Notepad buatan saya
Download Notepad Sederhana by Adriyanto
Nah, demikianlah sedikit yang bisa saya bagi mengenai
Script Notepad Sederhana dengan Delphi 7. Pasti banyak kekurangan di tutor ini, saya mohon maaf. Dan apabila ada pertanyaan silakan komentar di kolom komentar di bawah ini, dan jika semoga yang sedikit ini bermanfaat :)
NB : Untuk yang menginginkan full source code, silakan tuliskan email Anda di kolom komentar di bawah ini
Referensi :
- www.google.com
- http://garyfasta.blogspot.com/2013/03/membuat-text-editor-notepad-dengan-dephi.html
- pscode
- Materi Perkuliahan Pemrograman Visual 1 PTIK FKIP UNS