С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/41: Рейтинг темы: голосов - 41, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 7

Работа с бинарными файлами

17.03.2011, 10:50. Показов 7882. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как реализовать чтение и запись, произвести изменения в файле, окрытого как бинарный, написано в инете много.
А вот как стереть или вставить оперделенный байт?
Ответа на данный вопрос в интернете я не нашел.
Методом проб и ошибок я нашел как удалить ненужный байт.
Допустим в какомто файле есть последовательность 123>456>789
Следущий код стирает символы ">" из данной последовательности
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim im As String
Dim DlinaFajla As Double
 
Private Sub Form_Load()
im = "c:\test.jpg"
End Sub
 
Private Sub Command1_Click()
Dim usr As String * 1
Dim q As String * 1
DlinaFajla = FileLen(im)
MyFile = FreeFile
Open (im) For Binary As #MyFile
For I = 1 To DlinaFajla Step 1 '
Get #MyFile, I, usr
If usr = ">" Then
Put #MyFile, I, q
End If
Next I
Close #MyFile
End Sub
Результатом будет 123456789

Заменить символ ">" на какой либо другой например "!" тоже нет проблем,
а вот как сделать чтобы допустим заменить ">" на группу сиволов, например "!!!", или просто после символа ">" добавить "!!!", но так чтобы не затирались соседние символы
тоесть результат должен быть следующий
123!!!456!!!789 или 123>!!!456>!!!>789

Заранее благодарен за ответ!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2011, 10:50
Ответы с готовыми решениями:

Работа с файлами
Ребята, я хотел бы научиться работать с файлами в VB, поэтому мне нужен наставник(), который мог бы отвечать на мои вопросы давать...

Работа с файлами
Доброго времени суток! Не могу реализовать вывод следующего вопроса, после нажатия кнопки "далее". Помогите пожалуйста решить эту...

Работа с файлами
Удалить из текстового файла всю информацию, дополнительный файл не использовать.

5
39 / 27 / 1
Регистрация: 11.01.2011
Сообщений: 113
17.03.2011, 13:30
используй второй файл
0
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 7
17.03.2011, 14:27  [ТС]
Цитата Сообщение от Grigoriy251 Посмотреть сообщение
используй второй файл
Ты предлагаешь из одного файла всю информацию плюс коректировка переписать в другой файл, я правильно понял?
Это долго по времени будет, спасибо за вариант.
0
16 / 16 / 1
Регистрация: 08.03.2011
Сообщений: 37
17.03.2011, 14:27
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim s_Data As String
 
Open "file.txt" For Binary As #1
    s_Data = Input(LOF(1), #1)
Close #1
 
' Очищаем файл.
Open "file.txt" For Output As #1
Close #1
 
s_Data = Replace(s_Data, ">", "!!!")
 
' Или так...
's_Data = Replace(s_Data, ">", ">!!!")
 
' Пишем в этот же файл.
Open "file.txt" For Binary As #1
    Put #1, , s_Data
Close #1
1
39 / 27 / 1
Регистрация: 11.01.2011
Сообщений: 113
17.03.2011, 14:48
Попробуй вот так, заменяет все запятые на *
Единственное но файл почему то в размере увеличивается при обратной замене
Но это уже мелочи

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Command1_Click()
Dim m As String
simvol = "<<<"
Open "c:\111.jpg" For Binary As #1
m = Space(LOF(1))
Get #1, , m
While Not InStr(1, m, simvol) = 0
s1 = InStr(1, m, simvol)
m = Mid$(m, 1, s1 - 1) & ">" & Mid$(m, s1 + Len(simvol), Len(m) - s1)
Wend
Put #1, 1, m
End Sub
0
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 7
17.03.2011, 15:50  [ТС]
Все работает, спасибо за решение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2011, 15:50
Помогаю со студенческими работами здесь

Работа с файлами
Люди, помогите, пожалуйста, выполнить такое задание: Пусть есть файл с последовательным доступом, в котором записана информация о...

Работа с файлами
Есть два условия: а) Создать файл, содержащий сведения о личной коллекции книголюба: шифр книги, автор, название, год издания, ...

Работа с файлами в VB
Нужно написать прогу, которая считала в выбранной папке(включая все вложенные папки) количество байт занимаемых файлов в ней.... Просто...

работа с файлами
Toxa33rus, Здравствуйте! Помогите мне решить задачу? Вот задача: Задача Имя входного файла ...

Работа с файлами
Как сделать чтобы на файл файл.txt записывалась следующая строка: &quot;a&quot;+&quot;b&quot;+&quot;c&quot;+&quot;d&quot;+&quot;e&quot;+&quot;F&quot; и т.д. и в одну строчку. Создание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru