Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 25.12.05 11:10
SetEndOfFile

Но для этого прийдется открыть файл на АПИ... Перед вызовом функции...

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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-сайт: vt-dbnz.narod.ru
 Профиль | | #5
Добавлено: 25.12.05 16:55
Перед открытием файла напиши
On error resume next
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-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #12
Добавлено: 27.12.05 16:11
HOOLIGAN,
 Что ж ты хотел, PUT он тебе даёт совсестно с командой Open, а обрезать никак, хоть ты тресни. Тут уж либо открывать файл через API чтобы использовать SetEndOfFile либо таким вот извращённым макаром через Kill.

Ответить

Номер ответа: 13
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #13
Добавлено: 28.12.05 00:26
Перед открытием файла напиши
On error resume next

Для чего?


Вообще-то, я написал
On error resume next
Kill File

On error resume next нужен для того, чтобы если файл не существует, не было проблем.
Вообще по-хорошему я должен был приписать в конец своего кода On Error Goto 0 для порядку, но забыл.

Ответить

Номер ответа: 14
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #14
Добавлено: 28.12.05 00:29
А вообще мне больше понравилась версия LOL:
Open File For Output as FN
Close FN
Open File For Binary as FN
'пишем
Close FN

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам