Программы для работы с большим объемом информации, записанной в файлах

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

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

°, появится запрос на утверждение редактирования. Далее программа будет редактировать запись по полям, предварительно уточняя: желает ли пользователь изменить данное поле. При некорректном вводе любого из полей будет выведено информационное сообщение. После корректного изменения записи будет выведено сообщение об успешном редактировании данных.

Результат. Выбранная пользователем запись должна быть изменена. В окне программы должно быть выведено сообщение об успешном изменении записи.

Тест 7. Тест функции "Удалить запись".

Цель. Проверка корректной работы функции удаления указанной записи в типизированном файле.

Порядок проведения. В меню программы выбрать пункт "8 - Удалить запись". После запроса программы ввести номер нужной записи. При некорректном вводе номера будет выведено сообщение об ошибке. При корректном вводе номера данная запись будет напечатана, появится запрос на утверждение удаления. При утвердительном ответе пользователя выбранная запись будет удалена из типизированного файла. На экран будет выведено сообщение об успешном удалении записи.

Результат. Выбранная пользователем запись должна быть удалена из типизированного файла. В окне программы должно быть выведено сообщение об успешном удалении.

Тест 8. Тест функции "Занести в отдельный файл записи с заданной спецификацией".

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

Порядок проведения. В меню программы выбрать пункт "9 - Занести в отдельный файл записи с заданной спецификацией". После запроса программы "Введите имя файла-отчета" ввести имя нового типизированного файла-отчета. При существовании файла с заданным именем пользователю будет предложено заменить существующий файл. При утвердительном ответе будет создан новый типизированный файл, и программа выдаст запрос на ввод искомой спецификации. В новый типизированный файл будут скопированы все записи с заданной спецификацией, и выведено сообщение "Отчёт сформирован. Напечатать отчет?". При утвердительном ответе будет напечатано содержимое файла-отчёта. Если данный файл пуст, появится информационное сообщение "Файл пуст".

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

Заключение

 

В результате была разработана и реализована программа, позволяющая работать с типизированными файлами и выполняющая следующие функции:

создание файла;

открытие файла;

добавление записи;

удаление записи;

изменение записи;

отображение содержимого файла;

конвертирование типизированного файла в текстовый файл;

конвертирование текстового файла в типизированный файл;

занесение в отдельный файл записи о файлах с заданной спецификацией.

Список литературы

 

1.Вирт Н. Алгоритмы и структуры данных / Н. Вирт; Пер. с англ.Д.Б. Подшиваловой. - 2-е изд., испр. - СПб.: Изд-во "Невский диалект", 2001. - 352 с.

2.Абрамов В.Г. Введение в язык Паскаль / В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - М.: Наука, 1988. - 378 с.

.Программирование на языке Паскаль: задачник / О.Ф. Ускова [и др.]; под ред. О.Ф. Усковой - СПб.: Питер, 2002. - 336 с.

Приложения

 

Приложение 1. Модуль HelpUtils

 

Unit HelpUtils; // вспомогательные процедуры

interface SysUtils, Windows;

const

Yes = [Y,y,Н,н];= [N,n,Т,т];= Yes + No;

// вывод сообщения

procedure ShowMessage (txt: string);

// вывод вопроса

function InputQuery (txt: string): Boolean;

// ввод имени файла

function InputFileName (txt: string; var FileName: string;: boolean): Boolean;

implementation

// вывод сообщения

procedure ShowMessage (txt: string);

begin

Writeln (txt);;

end;

// вывод вопроса

function InputQuery (txt: string): Boolean;

var ch: Char;

begin

Writeln (txt);

repeat

Readln (ch);

until ch in YesOrNo;: = ch in Yes;

end;

// проверка на корректность имени файла

function CheckFileName (FileName: string): Boolean;

const Banned = [\,/,: ,*,? ,",,|];

var i: Integer;

begin

Result: =True;: =1;

while Result and (i<=Length (FileName)) do

begin

Result: = not (FileName [i] in Banned);(i);

end;;

// ввод имени файла

function InputFileName (txt: string; var FileName: string;: boolean): Boolean;

var name: string;

begin

Result: =True;(txt, (пустая строка - отмена) );(name);

if name= then Result: =False

else not CheckFileName (name)

then

ShowMessage (Имя введено некорректно! );: =False;

end MustExists

then FileExists (name) then FileName: =name

else

ShowMessage (Файл не найден! );: =false

end not FileExists (name) then FileName: =name

else InputQuery (Файл существует. Заменить? )

then FileName: =name

else Result: =false;

end;. // HelpUtils

Приложение 2. Модуль UElem

 

unit UElem; // процедуры для работы с одним элементом

interface

SysUtils,windows,;

type

TDate = record

day,month,year: Integer;

end;

TCatalog = record: string [8];: string [3];: TDate;: integer;

end;

// ввод даты создания

procedure InputDate (var d: TDate);

// ввод данных о файле

procedure InputCatalog (var f: TCatalog);

// перевод даты в строку

function DateToStr (d: TDate): string;

// печать информации о файле

procedure PrintCatalog (f: TCatalog);