Кнопки Open Dialog и Save Dialog находятся на закладке Dialogs панели компонентов Delphi.
16. Запрограммируйте процедуры открытия и сохранения файлов телефонного справочника (команд главного меню «Прочитать из файла» и «Записать в файл»).
procedure TPagesDlg.N2Click(Sender: TObject);
var i:integer;
begin
if opendialog1.Execute then
begin
assignfile(f,opendialog1.FileName);
reset(f);
n:=0;
while not eof(f) do
begin
read(f,r);
stringgrid1.Cells[0,n+1]:=r.familia;
stringgrid1.cells[1,n+1]:=r.imja;
stringgrid1.Cells[2,n+1]:=r.adres;
stringgrid1.Cells[3,n+1]:=r.tel;
n:=n+1;
end;
closefile(f);
newedit(combobox1);
newcombobox;
end
end;
procedure TPagesDlg.N3Click(Sender: TObject);
var i:integer;
begin
if savedialog1.Execute then
begin
assignfile(f,savedialog1.filename);
rewrite(f);
i:=1;
while stringgrid1.Cells[3,i]<>'' do
begin
r.familia:=stringgrid1.cells[0,i];
r.imja:=stringgrid1.cells[1,i];
r.adres:=stringgrid1.cells[2,i];
r.tel:=stringgrid1.cells[3,i];
write(f,r);
i:=i+1;
end;
closefile(f);
end
end;
17. Напишите процедуру создания формы.
В окне инспектора объектов активизируйте объект PagesDld (окно формы с многострочным блокнотом) и дважды щелкните в строке On Create (Момент Создания) закладки Events этого объекта. Сформируйте процедуру создания главной формы программы:
procedure TPagesDlg.FormCreate(Sender: TObject);
|
|
begin
stringgrid1.cells[0,0]:='Фамилия';
stringgrid1.cells[1,0]:='Имя';
stringgrid1.cells[2,0]:='Адрес';
stringgrid1.cells[3,0]:='Телефон';
combobox1.Items.Add(' ');
combobox1.itemindex:=0;
end;
18. Напишите процедуру заполнения полей редактирования NewEdit.
Вызов этой процедуры осуществляется, в частности, в момент выбора фамилии для поиска, то есть в момент смены активной строки в комбинированном списке.
procedure TPagesDlg.NewEdit(Sender: TObject);
var i:integer;
begin
i:=combobox1.ItemIndex+1;
if i>0 then
begin
edit1.Text:=stringgrid1.Cells[0,i];
edit2.Text:=stringgrid1.Cells[1,i];
edit3.Text:=stringgrid1.Cells[2,i];
edit4.Text:=stringgrid1.Cells[3,i];
end
end;
19. Напишите процедуру заполнения комбинированного списка NewComboBox.
Сначала к описанию типа класса (объекта) TpagesDlg (многострочной формы) в разделе interface добавьте декларацию:
Procedure NewComboBox;
В разделе Implementation добавила описание этой процедуры:
procedure TPagesdlg.NewComboBox;
var i,j:integer;
begin
j:=combobox1.ItemIndex;
combobox1.Clear;
for i:=1 to n do
combobox1.Items.Add(stringgrid1.cells[0,i]);
combobox1.itemindex:=j;
end;
20. Запрограммируйте команду главного меню «Сохранить изменения в списке записей».
procedure TPagesDlg.N10Click(Sender: TObject);
var i:integer;
begin
i:=combobox1.ItemIndex+1;
if pagecontrol1.ActivePage=tabsheet2 then
begin
stringgrid1.Cells[0,i]:=edit1.Text;
stringgrid1.Cells[1,i]:=edit2.Text;
stringgrid1.Cells[2,i]:=edit3.Text;
stringgrid1.Cells[3,i]:=edit4.Text;
end
else newedit(combobox1);
newcombobox;
end;
21. Запрограммируйте кнопку перехода на предыдущую запись “Предыдущий”.
procedure TPagesDlg.Button1Click(Sender: TObject);
begin
if combobox1.ItemIndex=0 then
combobox1.ItemIndex:=n-1
else
combobox1.ItemIndex:=combobox1.ItemIndex-1;
newedit(combobox1);
end;
end.
Практическое занятие №35
Наименование: Разработка оконного приложения с несколькими формами
1.ЦЕЛЬ РАБОТЫ:
Научится работать с несколькими приложениями при программирование в Delphi. Сформировать компетенцию ОК 6; овладеть знаниями и умениями для освоения ПК 1.4, ПК 3.1.
|
|
2.ПОДГОТОВКА К ЗАНЯТИЮ:
2.1. Изучить предложенную литературу.
2.2. Подготовить бланк отчёта.
3.ЛИТЕРАТУРА:
3. 1 Игнатов А.С. Основы программирования. Учебное пособие, КС ПГУТИ, 2017
3.2 Белов В.В., Чистякова В.И. Программирование в Delphi: процедурное, объектно-ориентированное, визуальное. Учебное пособие. – М.: Горячая линия – Телеком, 2014
4. ПЕРЕЧЕНЬ ОБОРУДОВАНИЯ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ:
4.1. Персональный IBM PC.
5.ЗАДАНИЕ:
5.1 Выполнить задачу из приложения.
5.2 Модернизировать приложение. При изменении размера формы компоненты StatusBar и ProgressBar должны всегда отображаться на экране.
5.3 Модернизировать приложение. Кнопки Назад и Вперед после загрузки приложения должны быть недоступны. Кнопка Назад получает доступ только после выбора пользователем гиперссылки в окне браузера. Кнопка Вперед получает доступ после щелчка по кнопке Назад
6. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:
6.1 По предложенной литературе изучить необходимый материал;
6.2 Выполнить задания;
6.3 Оформить отчет;
7. СОДЕРЖАНИЕ ОТЧЕТА:
7.1 Наименование и цель работы
7.2 Записать результат (листинг) выполненных заданий.
7.3 Ответы на контрольные вопросы
7.4 Вывод о проделанной работе
8. КОНТРОЛЬНЫЕ ВОПРОСЫ:
8.1.Какое событие отвечает за нажатие мышки на объекте?
8.4 Какое событие отвечает за движение курсора мыши?
8.5 Свойство формы отвечающее за контекстное меню?(где прописывается компонента контекстного меню)
8.4 Какое свойство Memo отвечает за текст в нем?
ПРИЛОЖЕНИE:
Начиная с пятой версии Delphi появился компонент WebBrowser который позволяет создать свой собственный браузер. Можно полностью поменять интерфейс, но принцип действия работы все равно будет, как у Internet Explorer.
Компонент WebBrowser находится на вкладке Internet, его основные свойства и методы приведены в таблице.
OffLine | Включить / выключить автономный режим |
Navigate | Открыть HTML-документ |
Refresh | Обновить |
Stop | Остановить загрузку |
GoHome | На домашнюю страницу |
GoForward | Вперед |
GoBack | Назад |
Компонент StatusBar – строка состояния представляет собой управляющий элемент, который отображает текущую информацию о содержимом окна, контекстные подсказки по текущему состоянию.
Постановка задачи
Разработать приложение, реализующее основные функции WEB-браузера.
Порядок выполнения
1. Создать новый проект и сохранить его.
2. Добавить на форму компонент ToolBar (Win32), изменить значение свойств: Height = 28, ShowCaptions =True, Flat = True
3. Добавить на ToolBar 5 кнопок: Назад, Обновить, Стоп, Домашняя страница, Вперед, для этого повторить 5 раз следующую последовательность:
· щелкнуть правой кнопкой мыши на компоненте ToolBar;
· выбрать New Button;
· изменить размеры кнопки Width = 67, Height =21;
· вставить разделитель кнопок, щелкнув правой кнопкой на ToolBar и выбрав New Separator;
· изменить свойства Caption для кнопки.
4. Добавить на форму компоненты Edit, командную кнопку, OpenDialogs и WebBrowser.
5. Привести форму в соответствие с образцом.
6. Для того, чтобы компоненты размещались по местам после изменения размера формы, для процедуры FormResize ввести код:
Edit1.Left:= 0;
Edit1.Top:= ToolBar1.Height + 2;
Button1.Top:= Edit1.Top;
Button1.Left:= Form1.ClientWidth - Button1.Width - 2;
WebBrowser1.Left:= 0;
WebBrowser1.Top:= Edit1.Top + Edit1.Height + 2;
//меняем размеры некоторых компонентов
Edit1.Width:= Form1.ClientWidth - Button1.Width - 4;
Button1.Height:= Edit1.Height;
WebBrowser1.Width:= Form1.ClientWidth;
WebBrowser1.Height:= Form1.ClientHeight - (Edit1.Top + Edit1.Height + 2);
7. Для кнопки Открыть ввести код:
If OpenDialog1.Execute Then Begin
WebBrowser1.Navigate(OpenDialog1.FileName);
Edit1.Text:= OpenDialog1.FileName;
WebBrowser1.Navigate(Edit1.Text); //загрузка документа
Edit1.SetFocus; End;
8. Загрузить приложение, проверить работу кнопки Открыть.
9. Для кнопок панели ввести соответствующие коды:
WebBrowser1.GoBack //назад
WebBrowser1.Stop; //остановить загрузку
|
|
WebBrowser1.Refresh; //обновить страницу
WebBrowser1.GoHome; //на домашнюю страницу
WebBrowser1.GoForward; //вперед
10. Проверить работу приложения.
11. Добавить на форму компонент StatusBar (Win32)и изменить значение его свойства SimplePanel = True.
12. Для компонента WebBrowser1 выбрать событие OnStatusTextChange и ввести код:
StatusBar1.SimpleText:= Text;
13. Добавить на форму компонент ProgressBar (Win32)и изменить значение его свойства Align =alButtom.
14. Для компонента WebBrowser1 выбрать событие OnProgressChange и ввести код:
ProgressBar1.Max:= ProgressMax;
ProgressBar1.Position:= Progress;
15. Проверить работу приложения.