Итак давайте сделает программу блокнот:
1. Так должен будет выглядеть наш интерфейс, нужны компоненты TMemo, TMainMenu, TOpenDialog и TSaveDialog:
2. Выберем Menu Editor:
3. Добавим менюшки:

4. Добавим события менюшек TForm1.MenuItem2Click, TForm1.MenuItem3Click и TForm1.MenuItem4Click:
5. Напишим код:
Код Unit1.pas:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Menus, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Memo1: TMemo;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
N2: TMenuItem;
N1: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
strFilter:string; { фильтр для расширений файлов }
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
strFilter := 'Text File (*.txt)|*.txt|All Files (*.*)|*.*'; { расширения либо *.txt, или *.* }
end;
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
Memo1.Lines.Clear; { Очищает текстовое поле }
end;
{ открытие файла }
procedure TForm1.MenuItem3Click(Sender: TObject);
begin
OpenDialog1.Filter := strFilter;
OpenDialog1.FilterIndex := 0;
if OpenDialog1.Execute then
begin
Memo1.Lines.Clear;
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
{ сохранение файла }
procedure TForm1.MenuItem4Click(Sender: TObject);
begin
SaveDialog1.Filter := strFilter;
SaveDialog1.FilterIndex := 0;
if SaveDialog1.Execute then
begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
end;
{ Закрытие нашего приложения }
procedure TForm1.MenuItem5Click(Sender: TObject);
begin
Close;
end;
end.
5. Настроим ScrollBars у TMemo, я выберу ssBoth:
6. Удалим текст из TMemo:
7. Поменяем название, иначе будет project1:
Для этого нажмём Project->Project Options..., и поменяем заголовок с project1 на Simple Notepad v1.0, и сменим иконку:
8. Поменяем иконку у Form1: