Implementation

{$R *.DFM}

procedure TMainForm.ItemExitClick (Sender: TObject);
begin // Выход из программы
Close;
end;
procedure TMainForm.ItemOpenClick (Sender: TObject);
begin // Выбрана команда меню "Открыть..."
if OpenFileDialog.Execute then
OpenFile(OpenFiieDialog.Filename);
end;

procedure TMainForm.ItemExecuteClick (Sender: TObject);
begin // выбрана команда меню "Выполнить..."
if ExecuteFiieDialog.Execute then
ExecuteFile(ExecuteFileDialog.FiieName);
end;

procedure TMainForm.OpenFileClick (Sender: TObject);
begin // Обработчик команды открытия текстовых файлов с расширениями .dpr и .pas
with Sender as TMenuItem do
OpenFile(Root+Parent.Caption+'\'+Caption);
end;

procedure TMainForm.ExecuteFileCiick(Sender: TObject);
begin // Обработчик команды запуска выполняемых файлов с расширениями .exe
with Sender as TMenuItem do
ExecuteFile (Root+Parent.Caption+'\'+Caption);
end;

procedure TMainForm.OpenFile(FileName: string);
var f: TextFile; s: string;
begin //Процедура загрузки текстовых файлов в компоненту TMemo
AssignFile(f,FileName);
try
Reset(f); // Открыть файл для чтения
try
Memo.Lines.Clear;
while not EOF(f) do
begin // Пока не достигнут конец файла, читать построчно
ReadLn(f,s);
Memo.Lines.Add(s};
end;
finally
CloseFile(f); // Закрыть файл
end;
except
ShowMessage ('Ошибка загрузки файла '+FileName);
end;
end;

procedure TMainForm.ExecuteFile(FileName: string);
begin // Запуск выполняемого файла
if WinExec(PChar(FileName), 0)<32 then
ShowMessage('Ошибка запуска файла '+FileName);
and;

end.

Вопросы и задания для самостоятельной работы

1. Добавить возможность редактирования файлов в ТМеmо и последующего сохранения в выбираемый с помощью компоненты TSaveDialog файл.

2. Как назначить нескольким пунктам меню один и тот же обработчик событий?

3. Создайте пункт меню, выдающий в отдельном модальном окне информацию о программе (автор, дата создания и т.д.).

4. Создайте пункт меню, по которому на экран выдается в отдельном модальном окне статистика о текущем загруженном файле - количество строк и символов.

5. Добавьте новые пункты меню для запуска каких-нибудь наиболее распространенных программ Windows.