Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatica / lab_delphi / Упражнение 3 по Delphi.doc
Скачиваний:
14
Добавлен:
09.04.2015
Размер:
676.35 Кб
Скачать

Дополнения к заданию

  1. Сделайте так, чтобы при создании нового документа пользователю предлагалось сделать выбор, сохранять ли пустой или измененный документ в файле. Возможный вариант обработчика:

procedure TForm1.N2Click(Sender: TObject);

var s:string;

begin

if Memo1.Text='' then

s:='СОХРАНИТЬ СТАРЫЙ ПУСТОЙ ДОКУМЕНТ В ФАЙЛЕ?'

else

s:='СОХРАНИТЬ ИЗМЕНЕННЫЙ СТАРЫЙ ДОКУМЕНТ В ФАЙЛЕ?';

if Memo1.Modified or (Memo1.Text='') then

case Application.MessageBox(PChar(s), 'ВНИМАНИЕ!', MB_YESNOCANCEL) of

{case MessageDlg(s,mtWarning,[mbYes,mbNo,mbCancel],0) of}

IDYES: Memo1.Lines.SaveToFile('Задание 3.txt');

IDNO:;

IDCANCEL:exit;

end;

Memo1.Text:='' ;

end;

  1. Сделайте так, чтобы при завершении работы программы по команде Файл\Выходпользователю предлагалось сделать выбор, сохранять ли пустой или измененный документ в файле. Возможный вариант нового обработчика (для пункта менюВыходоставить старый обработчик):

procedure TForm1.N5Click(Sender: TObject);

begin

if Memo1.Text='' then

s:='СОХРАНИТЬ ПУСТОЙ ФАЙЛ?'

else

s:='СОХРАНИТЬ ИЗМЕНЕНИЯ В ФАЙЛЕ?';

if (Memo1.Modified or (Memo1.Text='')) and not save then

case Application.MessageBox(PChar(s),

'РАБОТА ПРОГРАММЫ 3 ЗАКАНЧИВАЕТСЯ!',

MB_YESNOCANCEL) of

IDYES: Memo1.Lines.SaveToFile('Задание 3.txt');

IDNO:;

IDCANCEL:exit;

end;

Close;

end;

где глобальная переменная save:Booleanпри создании формы должна получить значениеFalse, которое должно быть заменено наTrueпри первом же сохранении редактируемого текста в файле.

  1. Сделайте так, чтобы пункт меню Файл\Открытьможно было открыть любой файла на машине, выбрав его, используя диалоговое окноОткрыть, для чего:

    1. Разместите на форме УЭ-т OpenDialog1(откройте вкладкуDialogsпанели Палитра компонентов, щелкните на кнопкеOpenDialog, а затем – на форме).

    2. Измените обработчик для пункта меню Файл\Открыть, например, так:

procedure TForm1.N3Click(Sender: TObject);

begin

if OpenDialog1.Execute then begin

Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

K:=False;

end;

end;

  1. Сделайте так, чтобы пункт меню Файл\Сохранитьможно было сохранить редактируемый текст в любом файла на машине, выбрав его, используя диалоговое окноСохранить как, для чего:

    1. Разместите на форме УЭ-т SaveDialog1(откройте вкладкуDialogsпанели Палитра компонентов, щелкните на кнопкеSaveDialog, а затем – на форме).

    2. Измените обработчик для пункта меню Файл\Сохранить, например, так:

procedure TForm1.N4Click(Sender: TObject);

begin

if SaveDialog1.Execute then begin

Memo1.Lines.SaveToFile(SaveDialog1.FileName);

save:=True;

end;

end;

Соседние файлы в папке lab_delphi