Страница: 1 |
Страница: 1 |
Вопрос: Запись файла в бинарном режиме
Добавлено: 25.12.05 00:39
Автор вопроса: PeterS
Всем доброго времени суток!
Столкнулся тут с незадачей (давненько не работал с файлами) как в бинарном режиме записать данные в файл, затерев существующее?
Заранее благодярю.
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 25.12.05 06:04
Open file$ for binary as #n
Get...
Put...
Номер ответа: 2
Автор ответа:
PeterS
Вопросов: 24
Ответов: 109
Профиль | | #2
Добавлено: 25.12.05 08:59
Это было очень подробно
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 25.12.05 11:10
SetEndOfFile
Но для этого прийдется открыть файл на АПИ... Перед вызовом функции...
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 25.12.05 11:12
сорри, не туда
dim nf as integer
nf = freefile
open lpFile for binary access write as nf
put nf, LOF(nf), lpData
' put nf, , lpData ' можно воспользоваться seek и не указывать куда писать...
close nf
Номер ответа: 5
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #5
Добавлено: 25.12.05 16:55
Перед открытием файла напиши
Kill File
Номер ответа: 6
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #6
Добавлено: 25.12.05 22:38
Dim F() As Byte
...
...
Open "C:\Моё.файло" For Binary As 1
Put 1, , F
Close 1
Номер ответа: 7
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #7
Добавлено: 25.12.05 22:39
off: А слово Close почему-то не подсвечивается.
Номер ответа: 8
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #8
Добавлено: 25.12.05 23:22
Перед открытием файла напиши
On error resume next
Для чего?
Номер ответа: 9
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #9
Добавлено: 26.12.05 10:31
Можно и не килять его, просто сначала его открыть для Output и тут же закрыть. А потом открывать как бинари. Непрактично, зато без АПИ
Номер ответа: 10
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #10
Добавлено: 27.12.05 06:38
HOOLIGAN,
чтобы не ругался если он уже открыт монопольно. Например ФАР-ом.
Номер ответа: 11
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #11
Добавлено: 27.12.05 08:52
Понятно. Я просто привык проверять после открытия на INVALID_HANDLE_VALUE и не доводить дело до ошибки, а тут похоже никак.
Номер ответа: 12
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #12
Добавлено: 27.12.05 16:11
HOOLIGAN,
Что ж ты хотел, PUT он тебе даёт совсестно с командой Open, а обрезать никак, хоть ты тресни. Тут уж либо открывать файл через API чтобы использовать SetEndOfFile либо таким вот извращённым макаром через Kill.
Номер ответа: 13
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #13
Добавлено: 28.12.05 00:26
On error resume next
Для чего?
Вообще-то, я написал
Kill File
On error resume next нужен для того, чтобы если файл не существует, не было проблем.
Вообще по-хорошему я должен был приписать в конец своего кода On Error Goto 0 для порядку, но забыл.
Номер ответа: 14
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #14
Добавлено: 28.12.05 00:29
А вообще мне больше понравилась версия LOL:
Close FN
Open File For Binary as FN
'пишем
Close FN