Двоичная запись в файл.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

SlaDER
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 06.10.2005 (Чт) 16:54

Двоичная запись в файл.

Сообщение SlaDER » 28.07.2006 (Пт) 15:18

Извените за тупой вопрос, но мне нужно следующее:

-У меня есть переменная String str="05", так вот как мне записать 1 байт в файл равный="05",
а то как бы я не записывал у меня 35 пишет туда и все.

Sacred Phoenix
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 22.07.2006 (Сб) 18:20

Сообщение Sacred Phoenix » 28.07.2006 (Пт) 19:59

Пиши Chr(str). А 35 - это по-моему код символа "5"

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Двоичная запись в файл.

Сообщение Viper » 29.07.2006 (Сб) 6:28

SlaDER писал(а):Извените за тупой вопрос, но мне нужно следующее:

-У меня есть переменная String str="05", так вот как мне записать 1 байт в файл равный="05",
а то как бы я не записывал у меня 35 пишет туда и все.


Однако есть просьба уточнить, что есть такое 1 байт равный "05", ибо "05" содержит как минимум 2 байта, а поскольку мы все-таки имеем дело с .NET, то и все 4. Просьба номер два, код того как записывал в студию!
Весь мир матрица, а мы в нем потоки байтов!

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 29.07.2006 (Сб) 6:51

Sacred Phoenix писал(а):Пиши Chr(str). А 35 - это по-моему код символа "5"

Не, 35-й это октоторп :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2006 (Сб) 6:57

&H35 -- вполне себе пятёрка.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.07.2006 (Сб) 7:06

Sacred Phoenix писал(а):Пиши Chr(str).

И что мы при этом получим? Я так полагаю, что ошибку, а вот что думает автор ответа?
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2006 (Сб) 7:57

В VB6 Debug.Print Chr("05") прекрасно работает.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.07.2006 (Сб) 8:30

Так то в VB6, а форум по .NET
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2006 (Сб) 8:51

Убеждён, что с Option Strict Off оно сработает и в VB.net
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.07.2006 (Сб) 10:12

При Option Strict Off срабатывает, куда ж ему деваться, но есть ли это гуд?
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2006 (Сб) 10:20

!Viper! писал(а):
Sacred Phoenix писал(а):Пиши Chr(str).

И что мы при этом получим? Я так полагаю, что ошибку, а вот что думает автор ответа?

Значит, автор ответа совершенно справедливо полагает, что это сработает при Option Strict Off.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.07.2006 (Сб) 10:28

Остается только дождатся, что же хочет автор вопроса. Записать байт равный 5 или что-то другое
Весь мир матрица, а мы в нем потоки байтов!

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 29.07.2006 (Сб) 11:59

скорее всего имелось ввиду

Текст: C:\A.TXT Ст. 0 1 байт 100%
00000 FF

Код: Выделить всё

    Dim hh As Byte
    hh = CByte("&H" & "FF")
    Fileopen(1, "C:\a.txt", Openmode.binary, Openaccess.write)
    Fileput(1, hh)
    Fileclose(1)
[/syntax]
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Sacred Phoenix
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 22.07.2006 (Сб) 18:20

Сообщение Sacred Phoenix » 29.07.2006 (Сб) 17:55

Тогда уж так:
Код: Выделить всё
Dim FStream As New System.IO.FileStream("c:\temp.txt", IO.FileMode.OpenOrCreate)
FStream.WriteByte(5)
FStream.Flush()

SlaDER
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 06.10.2005 (Чт) 16:54

Сообщение SlaDER » 30.07.2006 (Вс) 17:37

Sacred Phoenix Большое спасибо, получилось.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList