![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| kostik_16 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 23.7.2003 Репутация: -4 Всего: 1 |
Кто-нибудь знает, как удалить небольшую часть файла, тоесть:
Есть файл *.txt, который содержит 10 Кб инф. Мне надо из конца удалить 1 Кб инф., что-бы он имел размер 9 Кб!! Я знаю так: 1) Создаю новый файл *.txt.bak. 2) Копирую в него 9 Кб из *.txt 3) Удаляю *.txt 4) Переименовую *.txt.bak -> *.txt Способ очень громосток на мое мнение, моджно ли это как-нибудь упростить, тоесть тупо задать удаление 1 Кб из конца |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Открываешь файл с произвольным доступом, идешь на 9-ый килобайт и пишешь в это место 0 байт, тем самым обрезав файл...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| kostik_16 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 23.7.2003 Репутация: -4 Всего: 1 |
Спасибо, я думал все гараздо труднее!
|
|||
|
||||
| kostik_16 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 23.7.2003 Репутация: -4 Всего: 1 |
Не фурычит:
[QUOTE] h := CreateFile (pchar(od.FileName), GENERIC_READ + GENERIC_WRITE, FILE_SHARE_READ + FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); buf := @user; setfilepointer(h,vhod_proc -2, nil, file_begin); writefile(h, buf, 1 , tmp, nil) closehandle(h) Может я чет не так написал |
|||
|
||||
| kostik_16 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 23.7.2003 Репутация: -4 Всего: 1 |
Не фурычит:
Может я чет не так написал |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Поспешил... Делается так:
После SetFilePointer вызывай SetEndOfFile(h); Это сообщение отредактировал(а) p0s0l - 27.1.2004, 20:00 -------------------- С уважением, г-н Посол. |
|||
|
||||
| kostik_16 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 23.7.2003 Репутация: -4 Всего: 1 |
Чет не фурычит, может тут неправильно:
Сам код:
|
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Странно конечно, но у меня работает... Единственное отличие - вместо od.FileName пишу конкретное имя... Может пытаешься обрезать запущенный файл ?...
-------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "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. |