Практическая обработка множества данных, представляющих собой массив указателей на записи

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

====T======================¬);

writeln(¦ # ¦ Название ¦ Размер ¦ Ср.стоимость ¦ Тип ¦);

writeln(¦=====+==================+========+================+======================¦);

{Вывод элемента}

write(¦, numb:5,¦);

write (TVzap.nazvanie:18,¦);

write (TVzap.razmer:8,¦);

write (TVzap.sr_stoimist:16:1,¦);

writeln (k,¦);

{Вывод нижней границы таблицы} (L=====¦==================¦========¦================¦======================-);

{Закрытие файла}(file1);;

 

.

 

Листинг модуля RabotaDR:

 

unit RabotaDR;

RabotaND;

 

{Процедура для перехода к друому НД}Perehod_Drug_ND (var Filename:string);

{Процедура создания нового НД из всех элементов с заданным значением ключе-вого поля}Sozdat_ND_kl (var Filename:string; var n:integer);

{Процедура сохраниения всех элементов в другом НД}Sohr_v_nov (var Filename:string; var n:integer);

 

Perehod_Drug_ND;DifFilename:string;

{Вывод имени текущего набора данных}(Ваш старый набор данных: , Filename);

{Запрос на вывод нового адреса НД}(Введите название нового НД );(DifFilename);

{Замена имени старого набора данных на имя нового набора}:=DifFilename;

{Вывод имени текущего набора данных}(Ваш новый набор данных: , filename);:=1;;

{end procedure Perehod_Drug_ND;}

 

Sozdat_ND_kl;

{Запрос ключевого поля}z: Tip;_tipa: byte;

{Связывание файловой переменной с НД на диске}(File1, Filename);

{Открытие файла для чтения}(File1);

{Запрос на ввод имени файла, который будут сохранены элементы с заданым ключевым полем }(Введите имя файла, в которой будут сохранены элементы с заданым ключевым полем : );(filenamekluch);

{Связывание файловой переменной с НД на диске}(Filekl, filenamekluch);

{Открытие файла для записи}(Filekl);

{Запрос на значение ключевого поля}(Выбирите тип телевизора (1: Цветной; 2: Черно-белый; 3: Переносной;));(vibor_tipa);

{Выбор значения перечислимого типа в зависимости от выбранного пользователем типа}vibor_tipa of

: z:=cvet;

: z:=gherno_bel;

3: z:=perenosn;;

{Пока не достигнут конец файла, поиск} not eof(file1) do

{Чтение одной записи}(File1,TVzap);

{Если содержимое ключевого поля совпадает с нужным}TVzap.TipTelevizor = z then

{Запись записи в новый файл}(Filekl, TVzap);;

{Закрытие файлов} (file1);(filekl);:=filenamekluch;:=1;;

Sohr_v_nov;

{Запрос ключевого поля}

{Связывание файловой переменной с НД на диске}(File1, Filename);

{Открытие файла для чтения}(File1);(Ваш текущий НД -- , Filename);

{Запрос имени второго НД}(Введите имя НД, в который нужно произвести копирование : );(filenamenov);

{Связывание файловой переменной со вторым НД на диске}(File2, filenamenov);

{Открытие второго файла}(File2);

{Переход в конец второго файла}(File2,filesize(File2));

{Пока недостигнут конец файла}not eof(file1) do

{Чтение из первого файла}(File1,TVzap);

{Запись во второй файл}(File2,TVzap);;

{Закрытие двух файлов}(file1);(File2);:=2;:=filenamenov;;.