Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Напишите процедуру заполнения полей редактирования 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;

Напишите процедуру заполнения комбинированного списка NewComboBox.

Сначала к описанию типа класса (объекта) TPagesDlg (многостраничной формы) в разделе interface добавьте декларацию:

type

{Эта запись уже есть в заготовке модуля}

TPagesDlg = class(TForm)

{Необходимо вставить}

procedure NewComboBox;

В раздел implementation добавьте описание этой процедуры:

Procedure TPagesDlg.NewComboBox;

var i, j: integer;

begin {Запоминаем активную позицию комбинированного списка }

j:=ComboBox1.ItemIndex; {Очищаем комбинированный список}

ComboBox1.Clear;

for i:=1 to N do {Для всех N запись I..}

{В обновленный комбинированный список добавляем все фамилии из первого столбца таблицы}

ComboBox1.Items.Add(StringGrid1.Cells[0, i]);

{Переходим на позицию j}

ComboBox1.ItemIndex:=j; end;

23. Сохраните работу, запустите программу, заполните таблицу данными и убедитесь в том, что программа правильно записывает на диск и считывает с диска файлы телефонных справочников.

24. Запрограммируйте команду главного меню «Сохранить изменения в списке записей».

procedureTPagesDlg.N6Click(Sender: Tobject);

{Здесь N6 - номер команды «Записать в файл», у Вас может быть другой)

var i: integer;

Begin

{Определяем номер активной записи}

i:=ComboBox1.ItemIndex+1;

if PageControl1.ActivePage=TabSheet2 then

begin {Если активная вторая страницa}

StringGrid1.Cells[0, i]:=Editl.Text;

{то вносим изменения в первую }

StringGrid1.Cells[l, i]:=Edit2.Text;

StringGridl. Cells[2, i]:= Edit3.Text;

StringGrid1.Cells[3, i]:= Edit4.Text; end;

{Иначе - вносим изменения во вторую страницу}

else NewEdit(ComboBox1);

{В обоих случаях обновляем комбинированный список}

NewComboBox; end;

25. Запрограммируйте кнопку перехода на предыдущую запись «Предыдущий».

procedure TpagesDlg.ButtonlClick(Sender; Tobject);

Begin

if ComboBox1.Itemindex = 0 then {Зацикливаем список}

ComboBox1.Itemindex:=N-1 else

{В середине списка показатель уменьшается на единицу}

ComboBox1.Itemindex:= ComboBox1.Itemindex -1; {Обновляем панель «Найдена запись»}

NewEdit(ComboBox1); end;

26. Аналогично запрограммируйте кнопку «Следующий».

Программный код созданной процедуры запишите в отчет.

27.Сохраните программу и убедитесь в правильности ее работы.

Запустите программу, считайте с диска файл телефонного справочника, выберите какую-то фамилию в комбинированном списке и поменяйте ее в поле редактирования «Фамилия». Убедитесь в том, что синхронные изменения происходят и в комбинированном списке. Сохраните изменения и используйте кнопки «Предыдущий» и «Следующий» для навигации по записям, убедитесь в зацикливании списка. Удалите одну запись кнопкой «Стереть», сохраните изменения и перейдите на первую страницу. Отредактируйте данные в таблице, сохраните справочник в файле на диске, просмотрите окно «О программе», закончите работу с программой.

Задания:

1.Запрограммируйте кнопку «Удалить» так, чтобы после нажатия на нее удалялись данные из панели «Найдена запись» и из комбинированного списка.

2.Запрограммируйте кнопку «Найти» так, чтобы на панели «Найдена запись» отображалась информация о лице, фамилия которого указана в поле редактирования Edit5 «Введите фамилию». Если такой фамилии нет, то выведите сообщения об этом в отдельном окне.

3.Запрограммируйте команды подменю «А→Я» и «Я→А» пункта главного меню «Сортировать» так, чтобы фамилии в таблице и комбинированном списке были отсортированы в алфавитном или обратном порядке.

4.Удалите команду «Сохранить изменения в списке записей» из главного меню и обеспечьте сохранение изменений в момент редактирования таблицы и полей на панели «Найдена запись».

5. В случае попытки открыть несуществующий файл телефонного справочника обеспечьте появление окна с соответствующим сообщением.

6.В момент выхода из программы обеспечьте появление окна для сохранения файла телефонного справочника в случае, если в нем были сделаны изменения.

Рис.6 Рис.7

Рис. 8





Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 527 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Два самых важных дня в твоей жизни: день, когда ты появился на свет, и день, когда понял, зачем. © Марк Твен
==> читать все изречения...

2280 - | 2104 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.