Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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 00 00 19 00 00 00
KreAtoR, это не биты! Я могу ошибаться, но это вырезка из какого-то hex редактора! Если это так, то это те же байты, только в hex представлении. Байты тут разделённые пробелами, т.е.

01 - первый байт
00 - второй
..
19 - пятый

Вот например чтобы записать тебе пятый байт в файл, нужно сделать

print #1, chr$(val(&H19))

Ответить

Номер ответа: 3
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #3 Добавлено: 13.04.07 10:12
print #1, chr$(val(&H19))

да мне надо эти ячейки заменить. С 128 по 135
а где там имя файла в который записываем и каким макаром подсчитать чему равен Н19 или как к примеру прописать 128?

Ответить

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



Вопросов: 120
Ответов: 438
 Профиль | | #4 Добавлено: 13.04.07 14:16
Объясните что это занчит и как с этим работать

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 13.04.07 19:05
Вот мне надо изменить в файле ячейки с 128 по 136 включительно
на 01 00 00 00 19 00 00 00

Как ни старался, так и не понял, как можно заменить 9 байтов восемью так, чтобы не осталось дыр :)

Ответить

Номер ответа: 6
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #6 Добавлено: 13.04.07 20:44
Я сделал так. Посмотрите, может че подправите

Dim fileName3 As String
    ;Dim temp As Byte
    ;Dim 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

Как ни старался, так и не понял, как можно заменить 9 байтов восемью так, чтобы не осталось дыр :)

<mode="telepat">
 Наверное ту дырку в 1 байт он хочет нулем заткнуть :)
</mode>

Ответить

Страница: 1 |

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



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