![]() |
|
Модераторы: 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 )
XOREncodingUnit.pas 1,15 Kb-------------------- Опытный программист на 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. |