Лабораторная работа 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
при запуске программы.