Институт авиационных технологий и управления
Ю. Н. Антонов
Программирование операций с файлами
в средах Turbo Pascal и DELPHI 7.0
Урок 6
Методические указания
Программирование операций с файлами в средах Turbo Pascal и Delphi 7.0.
Урок 6. Методические указания. Ю.Н. Антонов. УлГТУ, 2004.
Настоящее учебное пособие предназначено для учащихся школ и студентов ВУЗов изучающих программирование.
Работа подготовлена на кафедре “Экономика, управление и
информатика” института авиационных технологий и управления ИАТУ.
Табл. 1. Библиогр.3 назв.
Рецензент - зав. кафедрой “Вычислительной техники” УлГТУ
профессор, д.т.н. Соснин П.И.
Одобрена секцией
методических пособий
Научно-методического совета
университета
Ó Ульяновский государственный
технический университет, 2002
ПРЕДИСЛОВИЕ . . . . . . . . . . . . . . . . . . . . . . 4
1. ИСПОЛЬЗУЕМЫЕ ПРОЦЕДУРЫ И КОМПОНЕНТЫ. . . . . 5
2. ГЛАВНОЕ МЕНЮ ПРИЛОЖЕНИЯ. . . . . . . . . . . . . 6
2.1. Общие сведения. . . . . . . . . . . . . . . . . . . 5
4. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. . . . . . 6
5. КОНТРОЛЬНЫЕ ВОПРОСЫ . . . . . . . . . . . . . . . 7
6. СПРАВОЧНИК ПО ПРОЦЕДУРАМ И ФУНКЦИЯМ . . . . . 7
7. СООБЩЕНИЯ . . . . . . . . . . . . . . . . . . . . . . 9
Литература . . . . . . . . . . . . . . . . . . . . . . . 9
ФАЙЛЫ
Вывод в файл. Ввод из файла
Темы практических и лабораторных работ:
2 создание файла в среде Pascal
2 добавление записей в файл в среде Pascal
2 ввод из файла в среде Pascal
2 вывод в файл и ввод из файла в среде Delphi
2 копирование, переименование и удаление файлов
2 создание справочной системы
Всего заданий
Для среды Pascal 6
Для среды Delphi 7
2.1. Вывод в ФАЙл. ВВОД ИЗ файла.
Задача 2.1.1. Создать на языке Pascal тестовый файл со списком студентов на диске.
1. Программа открывает файл в режиме создания нового файла и записывает в него 5 строк.
Program Prog2_1_1;
uses WinCrt;
var
f:text;{ объявление текстового файла }
i:integer; {Счетчик цикла}
st:string;{имя файла}
st1:string; {Ф.И.О. студента},
begin
readln(st); {ввод имени файла}
assign(f,st);{Назначение файловой переменной конкретного
файла}
rewrite(f); {открытие файла в режиме перезаписи, т.е. с первой
строки}
for i:=l to 5 do
begin
readln(st1);
writeln {f, I:2,' ',st1); {В файл записывается строка и
ее номер}
end;
close (f); { закрыть файл }
Writeln( 'Вывод в файл', st, 'выполнен');
end.
Окно решения задачи 2.1.1.
2. Для просмотра содержимого файла необходимо загрузить любой файловый менеджер, найти нужный файл и с помощью клавиши F3
убедиться в правильности записи. В результате выполнения программы на диске появляется файл test12.txt с данными:
Окно просмотра файла c:\test12.txt с помощью программы
Windows Commander
Задача 2.1.2. Добавить в ранее созданный текстовый файл 3 записи.
1. Программа открывает файл в режиме создания нового файла и добавляет в него 3 строк.
Program Prog9_1_2;
uses WinCrt;
var
f:text;{ объявление текстового файла }
i:integer; {Счетчик цикла}
st:string;{имя файла}
begin
readln(st); {ввод имени файла}
assign(f,st);{Назначение файловой переменной конкретного
файла}
append(f); {открытие файла в режиме добавления, т.е. с 6-й
строки}
for i:=6 to 8 do
begin
readln(st1);
writeln {f, I:2,' ',st1); {В файл записывается строка и
ее номер}
end;
close (f); { закрыть файл }
Writeln( 'В файл', st, ' добавлены 3 записи');
end.
Окно решения задачи 2.1.2.
Окно просмотра файла c:\test12.txt открытое с помощью программы
Windows Commander
Задача 2.1.3. Программа вводит данные из файла и отображает их на экране.
Program prog2_1_3;
Uses WinCrt;
label
konec;
var
f:text;
st:string; { имя файла}
I:integer;
St:string; {Ф.И.О.}
res:integer; { результат открытия файла }
otv:char; {ответ на предложение повторить попытку открыть файл }
begin
repeat
clrscr;
write('Введите правильно имя файла ');
readln(st);
Assign(f,st);
{$I-}
reset(f); { открыть файл для чтения }
{$I+}
res:=IOResult;
if res<>O then
begin
write('ОШИБКА: файл ',st,' не найден');
writeln(' или диск не готов.');
write('Повторить попытку?(д/н)-> ');
readln(otv);
end;
until (res=0) OR (otv='Д') OR (otv='д');
if res<>0 then goto konec;
while NOT EOF(f) do {пока не достигнут конец файла}
begin
readln{f, k, st1); {Из файла вводится строка и ее номер}
writeln( k:2,' ',st1); {Отображение строки на экране}
end;
konec:
close(f);
writeln('Работа программы завершена');
end.
Результат работы программы 2.1.3.
Задача 2.1.4. Решить задачу 2.1.3. в Delphi
1. Открыть новое приложение с помощью команды File | New Application.
Макет задачи 2.1.4.
3. При создании стартовой формы Form1 замените значение свойства Caption (Заголовок) Form1 на "Вывод в файл и ввод из файла".
Установите нужные значения высоты и ширины формы. Свойство Name, определяющее имя формы, используется в программе для управления формой и его нельзя не изменять.
3. Свойству Caption метки Label1 задайте значение " Ф.И.О.". Перейдите в свойство Font, щелкните по кнопке с тремя точками и в появившемся окне измените размер шрифта с 8 на 10. Нажмем ОК.
Для метки Label2 установите свойство Caption Имя файла, для Label3 установим свойство Caption равное пустой строке.
5. Для компонентов Edit1 установим значение свойства Text равным пустой строке.
6. Кнопкам Button1, Button2, Button3 и Button4 установите свойство Caption равным "Ввод", "Запись" , "Добавить" и "Чтение" соответственно.
7. Два раза щелкните по кнопке Ввод и для обработчика события OnClick вставьте строки:
i:=i+1;
if i<=n then begin
Memo1.Lines.Add(Edit1.Text);
edit1.Text:='';
edit1.Setfocus;
end;
8. Нажмите клавишу F12 и вернитесь в форму. Два раза щелкните кнопку Запись и в обработчик события OnClick вставьте строки:
st:='';
st:=edit2.text; {ввод имени файла}
if st='' then begin
label4.Caption:='';
label4.Caption:='Введите имя файла';
edit2.SetFocus;
end;
assignfile(f,st);{Назначение файловой переменной конкретного файла}
rewrite(f); {открытие файла в режиме перезаписи, т.е. с первой
строки}
for k1:=1 to Memo1.Lines.Count-1 do
writeln (f,k1:2,' ', Memo1.Lines[k1]);{Запись в файл из Memo1}
closefile(f);{Закрытие файла}
9. Нажмите клавишу F12 и вернитесь в форму. Два раза щелкните кнопку Добавить и в обработчик события OnClick вставьте строки:
st:=edit2.text; {ввод имени файла}
assignfile(f,st);{Назначение файловой переменной конкретного
файла}
append(f); {открытие файла в режиме добавления строки}
Memo1.Lines.Add(Edit1.Text);
writeln (f,k1:2,' ', edit1.text);
k1:=k1+1;
closefile(f); {Закрытие файла}
edit1.Text:='';{Очистка строки редактирования}
edit1.Setfocus;{Инициализация редактора Edit1.Text}
10. Нажмите клавишу F12 и вернитесь в форму. Два раза щелкните кнопку Чтение и в обработчик события OnClick вставьте строки:
repeat
assignfile(f,edit2.text);
{$I-}
reset(f); { открыть файл для чтения }
{$I+}
res:=IOResult;
if res<>0 then
begin
Label4.Caption:='ОШИБКА: файл '+st+' не найден';
edit2.setfocus;
end;
until res=0 ;
while NOT EOF(f) do {пока не достигнут конец файла}
begin
readln(f, k, st1); {Из файла вводится строка и ее номер}
ListBox1.Items.add(k+' '+st1); {Отображение строки на экране}
end;
closefile(f);
Label4.caption:='';
Label4.caption:='считано '+k+'записей';
11.Создайте процедуру обработки события Form1Create, которое происходит в момент создания формы (форма создается автоматически при запуске программы). Для создания этой процедуры надо 2 раза щелкнуть в любом месте формы, свободном от объектов.
Эта процедура используется для инициализации переменных программы(присвоения начальных значений).
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=5;
i:=0;
end;
12. Поскольку процедуры в программе используют общие данные,
то их описание следует разместить в основном модуле формы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.