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

Пример ввода-вывода при работе с записями

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

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

Ниже приведен пример процедуры обработки записей, каждая из которых содержит фамилию студента и оценки на пяти экзаменах.

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

Борщ К.Е.

3 4 5 1 2

Бублик К.П.

1 2 3 4 5

Вареник Г.Т.

3 4 5 5 5

Нетудикидайченко Н.К.

1 2 1 2 1

Процедура обработки выглядит так.

//Обработка записей

procedure TForm1.btnRecordClick(Sender: TObject);

type

Trec = record

fio:string[10];

marks: array[1..5] of integer;

end;

var a:array[1..100] of TRec; count, i, j:integer;

begin

Reset(f1);

//Считывание массива записей

count := 0;

while not eof(f1) do begin

count:=count + 1;

readln(f1,a[count].fio);

for j:= 1 to 5 do read(f1,a[count].marks[j]);

readln(f1);

end;

closeFile(f1);

//Вывод массива записей в текстовый файл

Rewrite(f2);

for i:=1 to count do begin

write(f2, a[i].fio:10);

for j:=1 to 5 do write(f2, a[i].marks[j]:2);

writeln(f2);

end;

closeFile(f2);

end;

Результаты работы программы будут такими.

Борщ К.Е. 3 4 5 1 2

Туз К.П. 1 2 3 4 5

Вареник Г. 3 4 5 5 5

Нетудикида 1 2 1 2 1

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

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

Для удобства просмотра исходных данных и результатов обработки следует использовать компоненты TMemo.

Образцом для выполнения задания может служить проект из папки kid\pub\subject\1_kurs\ projectToLection\.To_lection_20.

Следует решить такие задачи в соответствии со своими вариантами:

  • Табулирование значений функции аналогично работе №6.

  • Получение нового массива по варианту работы №7.

  • Сортировку массива по варианту работы №8.

  • Задачи на перестановку элементов матрицы по варианту работы №9.

  • Выборка записей по варианту работы №10

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

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

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

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

  • Основные процедуры и функции, обеспечивающие работу с текстовым файлом.

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

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

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

  • Выводы.

Контрольные вопросы

  • Характеристики текстовых файлов.

  • Процедуры, используемые при открытии файла.

  • Анализ исключительных ситуаций, возникающих при открытии файла.

  • Процедуры, используемые для чтения и записи данных в файл.

  • Закрытие и удаление файла.

  • Особенности чтения чисел из текстовых файлов.

  • Особенности вывода чисел в текстовые файлы.

  • Особенности чтения строк из текстовых файлов.

  • Особенности вывода строк в текстовые файлы.

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

  • Ввод массивов из текстовых файлов.

  • Ввод матриц из текстовых файлов.

  • Объяснение текстов подпрограмм модуля и связей их с событиями и другими подпрограммами.

  • Написать процедуру для реализации запроса к файлу по указанию преподавателя.

  • Написать процедуру для реализации выбора некоторых данных из исходного файла в новый файл, по заданию преподавателя.