Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаРГР_Программирование.doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
1.13 Mб
Скачать

4.1.7.3Удаление записи по фамилии

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

//Удалить запись из файла

procedure TfrmAtt.mnuDelFamClick(Sender: TObject);

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

begin

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

// Открываем файл

openAttFile(f);

ok := false; // Признак того, что нужная запись найдена

// Организуем цикл по записям файла

while not eof(f) do

begin

// Читаем запись

read(f,r);

if r.Name = fam then begin

// Нашли нужную

ok := true;

// Запоминаем номер найденной записи (она уже предыдущая)

pos := filePos(f) - 1;

//читаем последнюю запись

seek(f,FileSize(f)-1);

read(f,r);

//Записываем последнюю на место удаляемой

seek(f,pos);

write(f,r);

//удаляем последнюю

seek(f,FileSize(f)-1);

truncate(f);

showMessage('Запись удалена ');

// Выводим измененный файл в StringGrid2

showFileInGrid(f,StringGrid2);

end;

end;

if not ok then showMessage(fam+' не найдено');

closeFile(f);

end;

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

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

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

procedure TfrmAtt.mnuSaveAsClick(Sender: TObject);

var f1,f2:TAttFile; r:TAttRec; f2Name:String;

begin

// Запрашиваем через SaveDialog новое имя файла для сохранения

if SaveDialog.Execute then

begin

// Новое имя файла

f2Name := SaveDialog.FileName;

// Открываем файл в который будем переписывать

AssignFile(f2, f2Name);

Rewrite(f2);

// Открываем файл, имя которого записано в EditFileName

openAttFile(f1);

// Цикл копирования записей из f1 в f2

while not eof(f1) do begin

read(f1,r);

write(f2,r);

end;

CloseFile(f2);

CloseFile(f1);

ShowMessage('Файл скопирован в ' + f2Name);

end;

end;

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

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

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

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

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

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

  • Выводы.

Рекомендованая литература

  1. Культин Н. Delphi 6. Программирование на Object Pascal. – СПб.:БХВ-Петербург,2002.

  2. Ставровский А.Б. Турбо Pascal 7.0/ Учебник. – К.: BHV, 2000.

4