1562 / 1114 / 164
Регистрация: 23.07.2010
Сообщений: 6,441
1

Добавляется 0 при чтении содержимого бинарного файла

04.02.2019, 13:57. Показов 1320. Ответов 3
Метки нет (Все метки)

100500 лет не делал, однако
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub PutContents()
Dim fileInt As Integer: fileInt = FreeFile
Dim i As Byte
r = 1: c = 1:
dx = 7: ' ширина
r0 = 9: c0 = 9 ' левый верхний угол
Open "f://input.bin" For Binary Access Read As fileInt
Do While Not EOF(fileInt)
    Get fileInt, , i
    Cells(r + r0, c + c0).Value = i
    c = c + 1:
        If c = dx + 1 Then c = 1: r = r + 1
Loop
Close fileNum
End Sub
всегда последний Get возвращает 0
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2019, 13:57
Ответы с готовыми решениями:

Разделитель при чтении csv-файла
всем привет, ребята, код внизу отлично считывает в Excel csv-файл, когда разделитель полей в...

Удаление содержимого ячейки, если в другую добавляется такое же содержимое
Подскажите, как можно решить такую задачу. В столбце пять ячеек. В первой знак "+". Я добавляю знак...

"Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла
Пытаюсь разобраться со структурами в бинарных файлах. Допустим, есть массив структур. Записываю...

Ошибка при чтении бинарного файла
почему у меня выводит два раза последнюю запись при чтении??(а файл записываю класс с 3...

3
15135 / 6409 / 1730
Регистрация: 24.09.2011
Сообщений: 9,999
04.02.2019, 14:42 2
Лучший ответ Сообщение было отмечено pincet как решение

Решение

pincet, EOF не дружит с For Binary. Используйте LOF для определения размера файла и цикл For.
0
653 / 246 / 88
Регистрация: 28.10.2015
Сообщений: 520
04.02.2019, 19:51 3
Бинарник удобно кидать в байтовый массив.
Visual Basic
1
2
3
4
5
6
7
8
Sub SpongeBob()
   Dim SquarePants: SquarePants = FreeFile
   Dim Henry() As Byte
   Open "C:\Doc1.docx" For Binary Access Read As SquarePants
   ReDim Henry(1 To LOF(SquarePants))
   Get SquarePants, , Henry
   Close SquarePants
End Sub
Тут все байты файла ложатся в массив и ничего лишнего

Не по теме:

Открываете fileInt, а закрываете fileNum

3
15135 / 6409 / 1730
Регистрация: 24.09.2011
Сообщений: 9,999
04.02.2019, 21:37 4
Святой НякаЛайк, pincet, а можно определить двумерный массив и обойтись без цикла. Лишние заполненные ячейки в последней строке почистить.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub PutContents()
Const DX& = 7, R0& = 9, C0& = 9 'ширина, левый верхний угол
Dim fileInt As Integer, n&
  fileInt = FreeFile
  Open "c:\temp\bins.txt" For Binary Access Read As fileInt '"f://input.bin"
  ReDim i(1 To DX, 0 To LOF(fileInt) \ DX) As Byte
  Get fileInt, , i
  n = LOF(fileInt) Mod DX
  Cells(R0, C0).Resize(UBound(i, 2) + 1, DX).Value = WorksheetFunction.Transpose(i)
  Cells(R0 + UBound(i, 2), C0).Offset(, n).Resize(, DX - n).ClearContents
  Close fileInt
End Sub
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2019, 21:37
Помогаю со студенческими работами здесь

Вылет при чтении из бинарного файла
Уважаемые товарищи, пожалуйста, помогите понять почему приведённые ниже функции, записывающие или...

Ошибка при чтении бинарного файла
пытаюсь прочитать 63мб бинарного файла и заполнить структуру к примеру вот std::fstream...

Ошибка при чтении/записи из бинарного файла
Сделал простую программу для работы с бинарными файлами, но когда запускаю ее вылетает ошибка....

Нечастые крякозябры при чтении из бинарного файла
Вообщем читаю строки с бинарника и вылазит строки например жирафа(верхнее)@ тигр(нижнеее)@...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru