- •Часть III
- •Свойства компонента Edit (поле ввода-редактирования)
- •Свойства компонента Label (поле ввода-редактирования)
- •Свойства компонента Button (командная кнопка)
- •Пример составления программы
- •Значение свойства Caption для переменных типа Label
- •Значение свойства Caption для переменных типа Button
- •Задания по вариантам
- •Свойства компонента RadioGroup
- •Пример составления программы
- •Задания по вариантам
- •Лабораторная работа №3 Цель работы
- •Программа работы
- •Пример составления программы
- •Задания по вариантам
- •Пример составления программы
- •Задания по вариантам
- •Свойства компонента CheckBox
- •Свойства компонента SpinEdit
- •Пример составления программы
- •Задание по вариантам
- •Пример составление программы
- •Свойства компонента Memo
- •Свойства компонента ProgressBar
- •Пример составление программы
- •Составление системы уравнений для схемы
- •Задания по вариантам
- •Литература
Пример составления программы
Рассмотрим пример программы с использованием этих компонент.
Пример 4.1. Открыть файл, содержащий данные, считать их и сохранить в файл с другим именем.
Для создания программы нам понадобятся компоненты OpenDialog, SaveDialog, а также три компонента типа Button – Button1, Button2 и Button3.
Последние необходимы для организации действий чтения данных, сохранения данных и завершения работы.
Важным свойством компонент OpenDialog и SaveDialog является свойство Filter. Оно позволяет определить, файлы какого типа (т.е. с каким расширением) можно выбирать для открытия (сохранения). Заполняется оно следующим образом – необходимо подвести курсор к свойству Filter в Object Inspector и щелкнуть левой кнопкой мыши, а затем навести курсор на появившуюся кнопку с многоточием и повторно щелкнуть левой кнопкой мыши. На экране появится следующее окно (см. рис. 4.1):
Рис.4.1. Окно заполнения поля Filter
Окно имеет две колонки – Filter Name и Filter. В первой колонке пишется пояснительный текст, во второй – тип файлов, которые можно будет выбирать для открытия/сохранения. Фильтр, изображенный на рис.4.1, будет настроен на открытие/сохранения файлов с расширением «inp».
Кнопки Button1, Button2 и Button3 будем использовать для чтения данных, записи данных и выхода из программы соответственно. Примерное расположение компонент на форме показано на рис. 4.2
Рис. 4.2 Пример расположения компонент на форме
При написании процедур обработки данных нами будут использоваться следующие свойства компонентов OpenDialog и SaveDialog – FileName и FilterIndex. Первое содержит в себе имя файла и путь к нему, второе – номер фильтра, который выбран. Ниже приведен текст процедуры TForm1.Button1Click, которая обеспечивает открытие файла, имя которого выбрано с использованием компонента OpenDialog, а также чтение данных из этого файла в массив.
procedure TForm1.Button1Click(Sender: TObject);
Var ff:TextFile;
Begin
If OpenDialog1.Execute then
begin
AssignFile(ff,OpenDialog1.FileName);
Reset(ff);
i:=0;
while not eof(ff) do
begin
i:=i+1;
Readln(ff,a[1,i],a[2,i]);
end;
CloseFile(ff);
Button2.Enabled:=true;
end
else Exit;
end;
Для записи данных в файл, имя которого будет задано с помощью компонента SaveDialog, предназначена процедура TForm1.Button2Click
procedure TForm1.Button2Click(Sender: TObject);
Var ff:TextFile;
k:integer;
Begin
if SaveDialog1.Execute then
begin
if SaveDialog1.FilterIndex=1 then
SaveDialog1.FileName:=SaveDialog1.FileName+'.inp';
AssignFile(ff,SaveDialog1.FileName);
ReWrite(ff);
for k:=1 to i do
Writeln(ff,a[1,k],' ',a[2,k]);
CloseFile(ff);
end
else Exit;
end;
Так как свойство FileName компонента SaveDialog возвращает только имя файла, для добавления его расширения в процедуре TForm1.Button2Click используется свойство FilterIndex. Оно показывает порядковый номер фильтра, который выбрал пользователь при сохранении файла, и тем самым однозначно определяет, какое именно расширение необходимо добавить к имени файла.
Запущенная программа имеет окно, показанное на рис.4.3.
Рис. 4.3. Окно программы после запуска
При составление программы нужно учитывать следующее условие – сохранять данные в файл нельзя до тех пор, пока они не будут прочитаны из другого файла. Для этого кнопку записи в файл сразу же после запуска программы делают неактивной, используя свойство Enabled. В процедуре TForm1.FormActivate, которая выполняется автоматически сразу после запуска программы, пишут следующую строку:
Button2.Enabled:=false;
и активной кнопка сохранения в файл становится только после нажатия кнопки «Открыть файл» (см. рис.4.4).
Рис. 4.4. Окно программы после нажатия кнопки «Открыть файл»
Результатом работы программы будет файл с именем, который задал пользователь.