Запрограммируйте команду «О программе» главного меню окна «Телефонный справочник» так, чтобы в момент ее выполнения на экране появлялось только что спроектированное окно.
В заготовку процедуры обработки этой команды введите строку для вызова метода Show (показать) объекта AboutBox: AboutBox.Show Запрограммируйте кнопку Ok окна «О программе». Для этого возвратитесь к форме «О программе» и в процедуре OKButtonCIick кнопки OK введите команду закрытия активной формы: Close Замечание. Окно формы «О программе» находится под другими окнами Delphi. Удалите ненужную пустую форму Form1 из проекта. Для этого вызовите менеджер проекта командой View => Project Manager. Выделите строку со значением Form1 в поле Form и нажмите клавишу Delete. He сохраняйте эту форму (No). Закройте окно менеджера проекта. 15. Запрограммируйте команду Файл => Выход главной формы. Сохраните работу и запустите проект на выполнение. Убедитесь в правильности работы закладок, комбинированного списка, наличия возможности редактировать поля таблицы и перемещаться по ним с помощью полосы прокручивания. Вызовите окно «О программе» и закройте его клавишей OK. Закончите работу командой Файл => Выход. 17. Опишите глобальные переменные и типыданныхпрограммы: тип записи телефонного справочника (info), файл записей(r), переменную типа info (r) и целую переменную количества записей (N). Для этого перед разделом реализации implementationдобавьте такие команды: Info = record{Тип записи} familia, imja : string[20]; adres : string[100]; tel : string[15]; end;{Эта строка уже есть в заготовке модуля] varPagesDlg : TPagesDlg; F : file of info; {Файл записей} r : info; {Одна запись} N : integer; {Количество записей} 18.Добавьте на форму два объекта - стандартные диалоги Windows для открытия и сохранения файлов. Кнопки (OpenDialog) и (SaveDialog) находятся на закладке Dialogs панели компонентов Delphi. На рис. 6 и 7 эти объекты расположены в правом верхнем углу формы. Запрограммируйте процедуры открытия и сохранения файлов телефонного справочника (команды главного меню «Прочитать из файла» и «Записать в файл»). procedure TPagesDlg.N3Click(Sender: Tobject); {Здесь N3 - номер команды. «Прочитать из файла», у Вас может быть другой номер} var i: integer; Begin {Выполнение стандартного диалога «Open file»} if OpenDialog1.Execute then begin {F - название выбранного диалогом файла (свойство FileName объекта OpenDialog1)} AssignFile(F,OpenDialog1.FileName); Reset(F); N := 0; {Читаем с начала файла} {Считываем все записи из файла} While not eof(F) do begin{В переменную r считываем текущую запись} Read(F,r); {Фамилия - в первый столбец таблицы} StringGridl.Cells[0, N+l] := r.familiа; {Имя - во второй столбец таблицы} StringGridl.Cells[1,N+1] := r.imja; {Адрес - в третий столбец таблицы}. StringGridl.Cells[2,N+l] := r.adres; {Телефон - в четвертый столбец таблицы} StringGridl.Cells[3,N+l]:= r. tel; N :=N + 1; {Увеличиваем общее число записей N} end; CloseFile(F); {Закрываем файл} {Описанная ниже процедура заполняет поля редактирования второй страницы формы} NewEdit(ComboBox1); {Описанная ниже процедура заполняет комбинированный список второй страницы формы} NewComboBox; end; end; procedureTpagesDlg.N4Click(Sender: TObject); {Здесь N4 - номер команды. «Записать в файл», у Вас может быть другой номер} var i : integer; Begin if SaveDialog1.Execute then beginAssignFile(F, SaveDialog1.FileName); Rewrite(F); i:=1; whileStringGrid1.Cells[3, i]<> ' ' do begin r.familia:= StringGrid1.Cells[0, i]; r.imja := StringGrid1.Cells[l, i]; r.adres := StringGrid1.Cells[2, i]; r.tel := StringGrid1.Cells[3, i]; Write(F,r); i:=i + l; end; CloseFile(F); end; end; Напишите процедуру создания формы. В окне инспектора объектов активизируйте объект PagesDlg (окно формы с многостраничным блокнотом) и дважды щелкните в строке OnCreate (МоментСоздания) закладки 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; Напишите процедуру заполнения полей редактирования NewEdit. Вызов этой процедуры осуществляется, в частности, в момент выбора фамилии для поиска, то есть в момент смены активной строки в комбинированном списке. Поэтому для инициализации заготовки этой процедуры активизируйте на закладке Events окна Object Inspector объекта ComboBox1 строку OnChange (МоментЗамены) и в правом столбце укажите название процедуры реакции на это событие: NewEdit. Дважды щелкните мышью, указав на введенное название и заполните заготовку этой процедуры следующим образом: procedure TPagesDlg.NewEdit(Sender: Tobject); var i : integer; begin {i - номер строки данных в таблице} i :=ComboBoxl.ItemIndex+ 1; if i>0 then begin {Для значащих позиций комбинированного списка} Editl.Text := StringGrid1.Cells[0, i]; {копируем данные 1-го записи с} Edit2.Text := StringGrid1.Cells[l, i]; {первой страницы формы в} Edit3.Text := StringGrid1.Cells[2, i]; {соответствующие поля на второй странице} Edit4.Text := StringGrid1.Cells[3, i]; end; end;
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (335)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |