Страница: 1 |
Страница: 1 |
Вопрос: Открытие файла
Добавлено: 12.04.07 19:32
Автор вопроса: KreAtoR
Здравствуйте примногоуважаемые читатели форума.
Подскажите мне на милость, как открыть в Бейсике файл чтоб изменить его Биты (не знаю как называются),
Ячейки в памяти. Вот мне надо изменить в файле ячейки с 128 по 136 включительно
на 01 00 00 00 19 00 00 00
после чего сохранить этот файл и закрыть
1. открыть файл (булем?)
2. изменить значение ячеек
3. сохранить файл и закрыть
4. Остаться довольным
:)
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 13.04.07 03:44
Чи поднять тему про запись полбайта на диск? ))
KreAtoR
1) Формируем нужные биты
2) Формируем из битов, байты
3) Открыть файл, если хош - булем но лучше бульбулем )))))))
4) сохранить
5) заркыть
6) если пункт 3 выполнял бульбулем - ты останешся довольным
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 13.04.07 03:51
ой-ой, сразу не досмотрел
01 - первый байт
00 - второй
..
19 - пятый
Вот например чтобы записать тебе пятый байт в файл, нужно сделать
print #1, chr$(val(&H19))
Номер ответа: 3
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #3
Добавлено: 13.04.07 10:12
да мне надо эти ячейки заменить. С 128 по 135
а где там имя файла в который записываем и каким макаром подсчитать чему равен Н19 или как к примеру прописать 128?
Номер ответа: 4
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #4
Добавлено: 13.04.07 14:16
Объясните что это занчит и как с этим работать
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 13.04.07 19:05
на 01 00 00 00 19 00 00 00
Как ни старался, так и не понял, как можно заменить 9 байтов восемью так, чтобы не осталось дыр
Номер ответа: 6
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #6
Добавлено: 13.04.07 20:44
Я сделал так. Посмотрите, может че подправите
Dim fileName3 As String
 im temp As Byte
 im temp1 As Integer
fileName3 = "C:\test.avi"
Open fileName3 For Binary As 1
Seek 1, 129
'Get 1, , temp
temp = 1
Put 1, , temp
temp = 0
Put 1, , temp
Put 1, , temp
Put 1, , temp
temp = 25
Put 1, , temp
temp = 0
Put 1, , temp
Put 1, , temp
Put 1, , temp
Close 1
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 14.04.07 19:01
:\
по практикуйся
Dim char as String * 1
char = chr$(val("&H19")
msgbox char
msgbox asc(char)
msgbox hex(asc(char))
msgbox chr$(25)
найди что такое таблица ASCII символов
попробуй
for i = 0 to 255
debug.print chr$(i) & " - " & i
next
<mode="telepat">
Наверное ту дырку в 1 байт он хочет нулем заткнуть
</mode>