![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Nevan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.6.2008 Где: Иваново Репутация: нет Всего: нет |
объясните, кто может, принцип работы с файлами (текст). принцип и операторы. а то не очень въезжаю в систему
|
|||
|
||||
| mr.Anderson |
|
||||||||||||||||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
Nevan, смотри.
1. Файлы могут быть типизированными и текстовыми. Типизированные создаются так:
Типизированный файл типа Integer означает, что читаемые из него данные будут интерпретироваться как целые числа, а не как строки. Текстовые создаются так:
Или так (я чаще делаю именно этим методом):
2. Для работы можно использовать дельфовые функции типа OpenFile(), а можно стандартные паскалевские. Я юзаю обычно второй вариант. Для открытия файла сначала нужно его ассоциировать с файловой переменной, созданной в первом шаге. В обычном паскале это функция Assign(), в Делфи для этого функция AssignFile(). Формат функции Дельфа тебе укажет или справочник по паскалю. После ассоциирования с переменной файл нужно открыть. Открыть можно для чтения, для перезаписи, и для дозаписи. Чтение:
Перезапись:
Дозапись:
После этого с файлом можно работать функциями Write/WriteLn (это запись) и Read/ReadLn (чтение). Работают функции по тому же принципу, что и для консольных программ. Заметь, что write/writeln для файла, открытого с помощью Reset(), вызовет ошибку по понятным причинам. Дополнительно для работы есть функции типа Seek(), устанавливающие указатель на нужную позицию. По ним тоже порой справочники. Также часто используется EOF - End Of File. Используется в цикле для посимвольного чтения, насколько я помню, что-то типа такого:
После работы с файлом его нужно закрыть. В паскале это так:
В Делфи так:
Вот, пожалуй, и все. Это сообщение отредактировал(а) mr.Anderson - 15.6.2008, 14:40 |
||||||||||||||||||
|
|||||||||||||||||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Недавно уже где-то приводил пример. Ну, вот ещё раз, чтение строки из файла. А вообще, поищи, подобной инфы более чем достаточно, всё же основа.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
ЗЫ да, еще забыл, в дельфе (да, по-моему, и в паскале) есть функции для работы с файлами типа:
Проверяет файл на существование. Потом такая, например:
Удаляет файл. Добавлено через 4 минуты и 10 секунд ЗЗЫ еще вещь CreateFile(), создает файл. Имеет тьму аргументов, я ее никогда не пользовал... |
||||
|
|||||
| Nevan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.6.2008 Где: Иваново Репутация: нет Всего: нет |
||||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
Nevan, запись может вестись и посимвольно, как и чтение. Либо да, построчно. Еще, вроде, можно поблочно, не помню точно, можно ли и как, не пользовал.
По вопросу: нет, не так. Reset/Rewrite/Append - это режимы открытия файла. Их юзаешь ОДИН раз после ассоциирования файловой переменной с физическим файлом и до момента закрытия файла. А в процессе работы можно читать/записывать построчно/посимвольно/может быть, поблочно. |
|||
|
||||
| Nevan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.6.2008 Где: Иваново Репутация: нет Всего: нет |
||||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
Nevan, тогда до какого-то нужного тебе момента пишешь в файл через Write, а в какой-то момент начинаешь писать через WriteLn. Режим менять не придется, если, конечно, нет на то причины.
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |