0 / 0 / 0
Регистрация: 20.01.2009
Сообщений: 118
1

Как сохранить двоичный файл в строку?

26.07.2009, 03:19. Показов 1502. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,

У меня такая задача. Есть некоторые двоичный файл, то есть НЕ текстовый, а содержащий абракадабру. Мне надо записать все содержание файла в строковую переменную таким образом, чтобы потом эту строку можно было вновь записать в файл, и никаких потерь или модификаций чтобы при этом не было.

Вообще мне нужно следующее: у меня есть массив типа Variant, который содержит массивы и просто переменные. Мне нужно из этого дела сделать строковую переменную, чтобы записать ее в ячейку Excel. Затем, когда эта информация мне понадобится, мне нужно на основе 'текста' из ячейки воссоздать мой сложный массив. Вот я и придумал такое сложноватое решение: сначала записываю переменную Variant в файл, а потом из файла читаю как строку. И обратно так же.

Если кто-нибудь знает более простой выход, помогите, я буду благодарен.

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2009, 03:19
Ответы с готовыми решениями:

Как выделенную строку из datagridview сохранить в файл?
как выделенную строку из datagridview сохранить в файл

Как сохранить в файл, скажем, эту строку: <IMG src=images/e1.gif border=0>
как сохранить в файл, скажем, эту строку: &lt;IMG src=images/e1.gif border=0&gt; получается: &amp;lt;IMG...

Записать в двоичный файл строку, потом считать ее и вывести на экран
Здравствуйте! Помогите советом или реализацией)

Сохранить строку (string) в текстовый файл
Как проще всего полученную строку string сохранить в файл?

6
Newbie
26.07.2009, 13:40 2
Ну в файл записать так-же проско как и считать.
Visual Basic
1
2
3
4
5
Dim FileHandler&
FileHandler = FreeFile
Open FileName For Binary As FileHandler
Put #FileHandler, ,VariantVariable
Close FileHandler
Так оно там окажется.
Обратно в строку:
Visual Basic
1
2
3
4
5
6
Dim FileHandler&
Dim Str$
FileHandler = FreeFile
Str = Space(FileLen(FileName)) '// Создание буфера
Get #FileHandler, ,Str
Close FileHandler
Вощето использование файлов для компоновки данных классическая процедура, так что это не сложноватое решение.
Есть еще функция LSet преобразующая UDT (User Defined Type) с элементами фиксированной длины в строку.
Вот тут то Type работает в полный рост.
Например:
Имеем
Visual Basic
1
2
3
4
5
6
7
8
9
Type TPoint
  X As Long
  Y As Long
  Desc As String * 10
End Type
 
Private Type tPointBuffer
    Buffer As String * 18
End Type
И есть
Visual Basic
1
Dim PointUDT As TPoint
Теперь можем сделать
Visual Basic
1
2
Dim Str As tPointBuffer
LSet Str = PointUDT
И получили в Str.Buffer стринговое представление UDT.
Обратная операция также справедлива.
Т.е.
LSet PointUDT = Str - распарсит Str.Buffer и раскидает значения по полям UDT.
Comanche
26.07.2009, 19:01 3
Это где такой LSET есть?
В VB6 ?!?!
Newbie
26.07.2009, 20:32 4
Ага

Попробуй.
Comanche
28.07.2009, 14:28 5
Попробовал. К 'скрытым' штучкам это не относится (проверял по F2). Тогда к чему?! И много ещё в VB таких фенечек?
Newbie
28.07.2009, 14:42 6
Да, это не скрытые. Это Statement
LSet удобен как для преобразования UDT в строки и обратно так и для преобразования чисел в Binary формат, что часто используется при парсинге форматов файлов (графика например)
Есть еще RSet ... но он просто как 'еще одна фича' и использовать его можно слабо.
А вот статемент Mid!, и менно не функция Mid, а статемент это действительно крутая фича, не сразу видная
Comanche
28.07.2009, 18:02 7
Энтот мне известен. Можно и без '!' в конце.
Может, ещё чё есть?!
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2009, 18:02
Помогаю со студенческими работами здесь

Добавить новую строку в StringGrid таблицу и сохранить в текстовый файл
Нужно добавить нового параллепипеда в таблицу StringGrid (код любые цифры, размеры а б ц и цвет ,и...

Как сжать двоичный файл
Всем привет народ. Вот такой вопрос. По Алгоритму Хаффмана я закодировал входную строку (текст)....

Как выгрузить двоичный файл?
&lt;form enctype='multipart/form-data' .... - после выгрузки работают только текстовые.

Как прочитать двоичный файл
я ввожу команду creat создать файл noobs.dat и ввожу туда n чисел a = число, и так n раз как я...

Как создать аналог командам "файл-> открыть", "файл->сохранить", "Файл->сохранить как"
На форме создано меню &quot;файл ... &quot; (как в любой обычной программе). Нужно теперь сделать кнопку с...

Удалить последнюю строку в файле (или сохранить файл без них)
Читаю текстовое поле чужого приложения, заношу содержимое в файл, из файла читаю последнюю строку. ...


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

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

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