Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы IT / ЛабаDelphi5.doc
Скачиваний:
62
Добавлен:
06.02.2015
Размер:
151.04 Кб
Скачать

Задание 2 Ввод из файла. Открытие файла для чтения.

Открытие файла для в режиме для чтения выполняется вызовом процедуры Reset(f).

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

Read(ФайловаяПеременная, СписокВывода) или

Readln(ФайловаяПеременная, СписокВывода)

Создайте новый проект, добавьте на форму Button1,Button2,Button3 и Memo1

Рис. 4 Окно приложения «Чтение файла»

В папке проекта вручную создайте файл data.txt пусть он содержит следующие строки:

12 5 98 Февраль

15 5 98 12

91 Чапаев 25

В обработчике кнопки Button1 напишите:

var f:TextFile; a,b,c:integer;

begin

AssignFile(f,'data.txt');

Reset(f); // Открываем файл для чтения

read(f,a); // считываем в a

readln(f,b);

read(f,c);

memo1.Lines.Add('a='+IntToStr(a)+' b='+IntToStr(b)+' c='+IntToStr(c)); //выведем

//значения a,b,c в

//Memo1

closefile(f);

end;

Запустите программу. Поймите, почему переменные a b и c принимают такие значения. Вернитесь в режим программирования.

Скопируйте код обработчика кнопки Button1 в обработчик кнопки Button2, измените в нём (обработчике кнопки Button2) все процедуры read и readln на соответственно: read(f,a,b) и readln(f,c).

Запустите программу. Поймите, почему переменные a b и c принимают такие значения. Вернитесь в режим программирования.

В обработчике кнопки Button3 напишите:

var f:TextFile; a,b,c,d:integer; s:string;

begin

AssignFile(f,'data.txt');

Reset(f);

readln(f,a,b,c,s); // правильно в переменную строкового типа можно записать строку

readln(f,a,b,c,d); // !!! ошибка в переменную целого типа d нельзя записать строку

memo1.Lines.Add('a='+IntToStr(a)+' b='+IntToStr(b)+' c='+IntToStr(c));

memo1.Lines.Add(s); // Вывод в Memo1

closefile(f);

end;

Запустите программу. Поймите, почему переменные a b и c принимают такие значения. Вернитесь в режим программирования.

Здесь в строковую переменную s типа string будет записана строка Февраль. Здесь логика работы программы указана в комментариях.

Кстати добавьте на форму кнопку BitBtn1 она самая первая на палитре Additional, это функциональная кнопка, измените значение её свойства Kind на bkClose и теперь при нажатии на неё приложение будет закрываться.

Задание 3. Определение конца файла.

Очень важно знать, когда же кончается файл, где его конец?

Есть булевская функция EOF (End Of File) возвращающая True, если достигнут конец файла, в противном случае False.

Создайте новый проект. Добавьте Button1, Memo1. В папке вашего проекта самостоятельно создайте файл rashod.txt, пусть он содержит следующие 3 строки:

2500 Часы

900 Фонарик

100 Ручка

Требуется подсчитать общую сумму расходов 2500+900+100 в файле и вывести значение в Memo1. Окно приложения должно выглядеть так (рис. 5).

Рис. 5 Окно приложения «Общая сумма расходов»

В обработчике кнопки Button1 напишите:

var f:TextFile; i,sum,Obsh_sum:integer;

begin

Obsh_sum:=0; // Общая сумма

AssignFile(f,'rashod.txt');

Reset(f);

while NOT Eof(f) do // пока нет конца файла делать …

begin

readln(f,sum); // Считываем значение конкретной суммы в переменную sum

Obsh_sum:=Obsh_sum+sum; // наращиваем значение общей суммы

end;

memo1.Lines.Add(‘Общая сумма расходов ’);

memo1.Lines.Add(IntToStr(Obsh_sum)); // выводим в Memo1 Общую сумму

closefile(f);

end;

Запустите программу. Убедитесь, что она работает правильно. Вернитесь в режим программирования.

Самостоятельное задание. Считайте данных из файла и добавьте их на график.

Кнопка Button1 должна создавать файл funk.txt, записывать в него значения функции y=x3 (интервал x от – 10 до +10 с шагом 1) и закрывать файл(рис.).

Кнопка Button2 должна открывать файл для чтения, считывать из этого файла данные и отображать их на графике компонента Chart1.

Рис. 6 Окно приложения «Считывание данных из файла и добавление на график»

в режиме разработки в Delphi7

автор и разработчик лабораторных

работ по Delphi

доцент кафедры Информационных технологий и систем

кандидат физ.-мат. наук

Санников Е.В.

Соседние файлы в папке Лабы IT