Практическая обработка множества данных, представляющих собой массив указателей на записи
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
====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;;.