Лабораторная работа 7. Компонент TMemo и диалоги

Краткая теория

Компонент TMemo на вкладке Standard

Надпись Memo1 можно убрать в Инспекторе объектов

с помощью свойства

Lines.

Memo1.Clear; - очистка поля Memo1.

Memo1.Lines.LoadFromFile('file1.txt'); - загрузка текстового файла

с именем file1.txt в поле Memo1.

Memo2.Lines.SaveToFile(s); - сохранить текст из поля Memo2

в текстовый файл, имя которого хранится в строковой переменной s.

Memo1.Append(s); - добавить в поле Memo1 новую строку и заполнить

её значением строковой переменной s.

Memo1.Color := clWhite; - назначить фону цвет clWhite.

Memo1.Font.Color := clLime; - назначить тексту цвет clLime.

Диалоги

ShowMessage('Пожалуйста, введите имя файла!'); - вывод окна с сообщением.

Компонент TOpenDialog на вкладке Dialogs

OpenDialog1.Execute - открыть диалоговое окно.

s := OpenDialog1.FileName; - присвоить имя выбранного файла

строковой переменной s. 

Компонент TColorDialog на вкладке Dialogs

ColorDialog1.Execute - открыть диалоговое окно.

Object1.Color := ColorDialog1.Color; - присвоить выбранный

в диалоге цвет свойству Color некторого компонента Object1 . 

Компонент TOpenPictureDialog на вкладке Dialogs

OpenPictureDialog1.Execute  - открыть диалоговое окно.

s := OpenPictureDialog1.FileName; - присвоить имя выбранного файла

строковой переменной s. 

Особенность свойства FileName у компонента TOpenPictureDialog

состоит в том, что оно содержит полный путь файла.

Чтобы получить только имя файла, используют функцию

ExtractFileName, например:

s := ExtractFileName(OpenPictureDialog1.FileName);

Об отметках

Основные упражнения не отмечены никакими специальными знаками, их выполнения достаточно для удовлетворительной оценки. Дополнительные упражнения отмечены "звездочками", их выполнение необходимо для получения повышенной оценки.

"5" - в отчете выполнены все основные упражнения, дополнительно выполнены упражнения с одной и двумя "звездочками".

"4" - в отчете выполнены все основные упражнения дополнительно выполнены упражнения с одной "звездочкой".

"3" - в отчете выполнены все основные упражнения.

Упражнения

1. Создайте в блокноте и сохраните в папке с проектом 2 текстовых файла

file1.txt с текстом "Первый файл",

file2.txt с текстом "Второй файл",

при сохранении внизу окна "Сохранить как..." выберите кодировку

UTF-8.

В Memo1 загрузите файл, имя которого введено в поле Edit1,

при щелчке по кнопке Button1.

В Memo2 загрузите файл, который выбирается в диалоговом

окне OpenDialog1, открываемом при щелчке по кнопке Button2.

Дополните текст в Memo2 и сохраните в файл file3.txt

с помощью диалогового окна SaveDialog1, которое должно

открываться при щелчке по кнопке Button3.

Настройка компонентов:

В Инспекторе объектов

для компонента Memo1 для свойства

Lines

вызвать

Диалог ввода строк

и убрать надпись Memo1.

В Инспекторе объектов

для компонента Edit1 свойство

Text = file1.txt

Пример интерфейса

Пример программы

procedure TForm1.Button1Click(Sender: TObject);

var

    s : string;

begin

    Memo1.Clear;

    s := Edit1.Text;

    if s = '' then ShowMessage('Пожалуйста, введите имя файла!');

    Memo1.Lines.LoadFromFile(s);

end;

procedure TForm1.Button2Click(Sender: TObject);

var

    s : string;

begin

    if OpenDialog1.Execute then begin

        s := OpenDialog1.FileName;

    end;

    Memo2.Lines.LoadFromFile(s);

end;

procedure TForm1.Button3Click(Sender: TObject);

var

    s : string;

begin

    if SaveDialog1.Execute then begin

        s := SaveDialog1.FileName;

        if s = '' then ShowMessage('Пожалуйста, введите имя файла!');

        Memo2.Lines.SaveToFile(s);

        ShowMessage('Файл сохранен под именем:' + #10#13 + s);

    end;

end;

2. При запуске программы в Memo1 должен загружаться

текстовй файл config.ini.

В программе задают для Memo1 цвет фона 

с помощью диалога ColorDialog1

и цвет текста с помощью - ColorDialog2, которые

вызываются при щелчке по кнопкам Button1 и Button2

соответственно.

Задание для самостоятельного выполнения:

добавьте в программу возможность изменять

параметры шрифта с помощью комопонента TFontDialog.

Пример интерфейса

Пример программы

// Глобальные константы

const

    CONFIG_NAME = 'config.ini';

procedure TForm1.Button1Click(Sender: TObject);

begin

    if ColorDialog1.Execute then begin

        Memo1.Color := ColorDialog1.Color;

    end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

    if ColorDialog2.Execute then begin

        Memo1.Font.Color := ColorDialog2.Color;

    end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

    Memo1.Lines.LoadFromFile(CONFIG_NAME);

end;

3. Загрузите в компонент TImage один за другим несколько

рисунков из файлов в формате JPEG с помощью диалога

TOpenPictureDialog. Имя каждого файла записать в отдельную

строку компонента TMemo.

Пример интерфейса

Скачать рисунки:

  

Пример программы

procedure TForm1.Button1Click(Sender: TObject);

var

    s : string;

begin

    if OpenPictureDialog1.Execute then begin

        s := OpenPictureDialog1.FileName;

        Image1.Picture.LoadFromFile(s);

        s := ExtractFileName(s);

        Memo1.Append(s);

    end;

end;

4.* В дополнение к заданию в упражнении 3

предусмотреть возможность отображать в компоненте

TImage рисунок из файла, имя которого выбрано из списка

в поле Memo1 с помощью кнопок "Вперед" и "Назад".

5.** При запуске программы в TMemo должен загружаться

текстовый файл.

В текстовом файле config.ini содержатся

1) имя текстового файла, который нужно загрузить в Memo1,

2) цвет фона,

3) цвет шрифта,

4) имя шрифта.

Указанные свойства нужно применить к полю Memo1

при запуске программы.