![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
lordgabriel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 29.4.2008 Репутация: нет Всего: нет |
Мне нужно чтобы програ читала файл внесла измения и сохранила результаты в этот же файл .
У меня почемуто не получается сохраняется пустой файл вот код:
|
|||
|
||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 9 Всего: 95 |
Для пустого файла (а файл, открытый ReWrite'ом - всегда будет пустой) функция Eof возвращает true, поэтому цикл не выполняется. Если в файле есть данные - то его надо открывать с помощью функции Reset.
Кстати, при выполнении Read указатель файла смещается, так что для того, чтобы записать символ на то же место, откуда он был считан - надо перед чтением запоминать позицию файла, а после чтения - восстнавливать... -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
lordgabriel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 29.4.2008 Репутация: нет Всего: нет |
не понял как это сделать
|
|||
|
||||
VanHelsing |
|
|||
![]() ХОЧУ ВСЕ ЗНАТЬ!!! ![]() ![]() Награды: 1 Профиль Группа: Участник Сообщений: 288 Регистрация: 3.1.2008 Где: Екатеринбург Репутация: нет Всего: 6 |
Процедура Reset открывает файл указанный в FileHandle для чтения, записи или чтения и записи. |
|||
|
||||
ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 5 Всего: 12 |
lordgabriel, используй TStringList
Это сообщение отредактировал(а) ivan219 - 28.6.2008, 20:17 |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
||||
|
||||
Beltar |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 0 Всего: 7 |
Как получить позицию не скажу, т. к. не помню, но Help помнит. ;) Переместиться по-моему Seek.
Судя по Read(f1, b); у него может быть и бинарный файл и key явно бинарный иначе Key[0] будет не смешно. ИМХО проще считать весь файл в байтовый массив, поксорить и переписать. Потоки вообще-то рулят. Это сообщение отредактировал(а) Beltar - 1.7.2008, 07:27 Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||
|
|||||
m007kuzya |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 19.4.2009 Репутация: нет Всего: нет |
Может меня конечно сильно глючит. Но у меня Reset открывает файл только для чтения. По крайней мере вот такой код:
выдаёт ошибку 'I/O error 105'. Так в Дельфи есть возможность открыть файл одновременно и для чтения, и для записи? Или для того чтобы вставить строчку в середину файла надо использовать всякого рода костыли, типа TStringList или временного, буферного, файла? |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |