Добавьте на форму два объекта – стандартные диалоги Windows для открытия и сохранения файлов

Кнопки 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. Проверить работу приложения.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: