Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Файлы: сохраняем результаты работы до следующего раза

Как вам должно быть известно из общего курса информатики, память, с которой работает Паскаль и в которой он хранит все свои данные (как и любая другая программа), называется оперативной. Она обладает одним неприятным свойством: ее содержимое стирается при выключении питания компьютера. Чтобы информация сохранялась при выключенном питании (принято говорить «для долговременного хранения информации»), используется внешняя память. Это разного рода диски, дискеты и другие виды носителей. Работе с внешней памятью из программы на Паскале и посвящен наш текущий разговор.

Как работать с текстовым файлом

Файлом называется порция данных, хранящаяся на диске и имеющая имя. Другими словами, все, что вы пытаетесь сохранить на диске, должно быть записано в виде файла. Для того чтобы работать с файлом в Программе, необходимо ввести специальную переменную, которая называется файловой. Через нее мы будем записывать и читать информацию из файла.
Основным элементом текстового файла является символьная строка (ASCII). Можно работать как со строкой целиком, так и с каждым символом в отдельности. Обращение к символам, хранящимся в файле, происходит последовательно.

Открытие файла для чтения

Начиная работать с файлом, его открывают. При этом в памяти создается особая структура данных, частью которой является файловый указатель. Это как бы «курсор», который указывает на позицию файла, с которой будет происходить следующая операция чтения (или записи). После чтения символа (или строки) из файла файловый указатель передвигается на следующий символ (строку). При записи в файл эта позиция всегда указывает на конец файла.

Мы начнем с самого простого — попытаемся открыть текстовый файл для чтения и выведем его содержимое на экран. Для того чтобы программе было что открывать, создайте в Блокноте или прямо в среде Turbo Pascal текстовый файл и назовите его work.txt. Этот файл должен быть сохранен в той же папке, что и рабочие (.pas) файлы с программой на Паскале. Содержимое файла нам не важно. Мы рекомендуем набрать несколько строчек текста, желательно латинскими символами.

Пример 12.1.
Вывод на экран содержимого текстового файла work.txt

 

Открытие файла для записи

Из предыдущего примера вы, вероятно, поняли, что открытие файла для чтения происходит в результате процедуры reset. При этом файловый указатель устанавливается в начало файла, и процедурами чтения из файла readln и read можно построчно или посимвольно прочитать содержимое всего файла. Если же мы хотим не читать уже имеющийся файл, а записывать в файл свою информацию, мы должны открыть файл для записи. Это делает процедура rewrite.

Если в текущей папке нет файла с именем, указанным в процедуре assign, то создается новый пустой файл. Если файл с таким именем есть, его содержимое очищается. Так или иначе, файловый указатель устанавливается в начало пустого файла, после чего в файл можно записывать информацию построчно (writein) или посимвольно (write).

В следующем примере программа создает новый текстовый файл work.txt и копирует его содержимое в файл user.txt.

Пример 12.2.
Создание и копирование файла

 

После работы программы откройте оба файла (это можно сделать в режиме Open в среде Turbo Pascal или в Блокноте) и убедитесь, что все получилось верно.

ЗАМЕЧАНИЕ

Если вы вводили эти три строки по-русски, то в Блокноте вы, скорее всего, увидите странную путаницу из русских букв. Это от того, что Turbo Pascal — программа для MS-DOS, и символы, которые вы вводили, тоже были записаны в кодировке MS-DOS. Чтобы их нормально прочитать, нужно или открывать эти файлы из программы для MS-DOS (например, Norton Commander), или иснользовать преобразование формата (это умеет делать, например, MS Word).

 

Задание 12.1.
Напишите программу, которая:
а) создает текстовый файл из четырех строк строчных латинских букв;
б) читает строки из созданного файла и преобразовывает их в строки заглавных латинских букв;
в) после преобразования каждую строку записывает в другой созданный текстовый файл.
Проверьте результаты работы путем чтения обоих файлов!




 

Комментарии:

2012-11-12 ответил бомж

я бомж !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



2012-11-12 ответил бомж

я бомж



2012-11-12 ответил бомж

нос картошкой



2013-02-22 ответил Александр

Кому нужна <b>полезная</b> информация про язык Паскаль, заходите: http://life-prog.ru/view_cat.php?cat=1



2016-01-14 ответил Unkonwn

Сверху идиоты



2016-03-08 ответил CJ

Черт! Этот ниггер облажался!



2016-04-22 ответил 123

123



2016-11-23 ответил бомж

я бомж!!!



2017-03-08 ответил млг

лол кек чебурек



2017-05-19 ответил бомж

я бомж!!!



2021-12-16 ответил друг бомжа

друг... это было в 2012 году, черт... надеюсь ты теперь не бомж...



2022-01-13 ответил мама бомжа

я шлюха




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru