Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_Ч2.doc
Скачиваний:
15
Добавлен:
02.11.2018
Размер:
1.7 Mб
Скачать

Реализация пункта меню «Поиск студента по фамилии»

Эта процедура связана с пунктом меню «Поиск студента по фамилии».

// Поиск студента по фамилии

procedure TfrmAtt.mnuFindInSortClick(Sender: TObject);

var f:TAttFile; pos: integer; r: TAttRec; fam: TName;

begin

fam:=inputBox('Поиск зарплаты по фамилии','Введите фамилию','');

openAttFile(f);

sortAttFile(f);

pos := findPosInSortFile(fam,f);

if pos < 0 then showMessage(fam+' не найдено')

else begin

seek(f,pos);

read(f,r);

showMessage('Результаты аттестации ' + fam + #13 +

'Ср.балл = ' + floatToStr(r.ball) + #13 +

'Количество неуд = ' + intToStr(r.neud));

end;

CloseFile(f);

end;

Реализация пункта меню «Добавление в упорядоченный файл из StringGrid1»

Эта процедура связана с пунктом меню «Добавление в упорядоченный файл из StringGrid1»

//Добавление в упорядоченный файл из StringGrid1

procedure TfrmAtt.mnuAddToSortClick(Sender: TObject);

var f:TAttFile; r:TAttRec; i: integer;

begin

openAttFile(f);

sortAttFile(f);

// Идем по строкам StringGrid1

for i := 1 to StringGrid1.RowCount-1 do

begin

// Формируем запись из i-й строки StringGrid1

r.Name := StringGrid1.Cells[0,i];

r.ball := strToFloat(StringGrid1.Cells[1,i]);

r.neud := strToInt(StringGrid1.Cells[2,i]);

// Добавляем к файлу

addToSortFile(f, r);

end;

showFileInGrid(f,StringGrid3);

CloseFile(f);

end;

Реализация пункта меню «Удаление записи из отсортированного файла»

//Удаление записи из отсортированного файла

procedure TfrmAtt.mnuDelInSortClick(Sender: TObject);

var fam:TName; f:TAttFile;

begin

fam:=inputBox('Удаление записи из файла','Введите фамилию','');

openAttFile(f);

sortAttFile(f);

delFromSortFile(f,fam);

showFileInGrid(f,StringGrid3);

CloseFile(f);

end;

Задание для самостоятельной работы

В лабораторной работе следует создать проект по обработке файла, который содержит записи, соответствующие варианту задания в предыдущей лабораторной работе из таблицы 10.1. Номер варианта выбирается по последней цифре номера зачетной книжки.

Создаваемый проект должен обеспечить:

  • Отображение записей файла в StringGrid.

  • Добавление группы записей из StringGrid к файлу.

  • Сохранение файла под другим именем

  • Поиск записи по значению одного из полей.

  • Удаление из файла записи, соответствующей заданному значению одного из полей.

  • Получение какой-нибудь интегральной оценки для всех записей или группы записей.

  • Сортировку файла по какому-нибудь признаку.

  • Поиск записи в упорядоченном файле.

  • Вставку записи в упорядоченный файл.

  • Удаление записи из упорядоченного файла.

Для уточнения задания можно пользоваться заданиями своего варианта из таблицы 10.1, которые предлагают аналогичную обработку массива записей.

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

Содержание отчета

  • Наименование работы.

  • Цель работы.

  • Краткая характеристика типизированных файлов.

  • Таблица основных процедур и функций, для работы файлом.

  • Интерфейс созданного проекта и описание его работы.

  • Результаты тестирования проекта в виде копий формы с результатами.

  • Текст модуля проекта с пояснениями в виде комментариев.

  • Выводы.