Показать сообщение отдельно
Старый 03.09.2005, 19:09   #4
alcosholik
 
Сообщений: n/a
ReadByte (указатель_на_файл/поток)

Параметры
указатель_на_файл/поток = переменная, определенная командой OpenFile, ReadFile или OpenTCPStream (версия 1.52 и выше)

Описание
Как только вы открыли файл на диске (или поток) для чтения, используйте эту команду для считывания одного байта из файла/потока за раз. Заметьте, что байт – это целое число, которое может приминать значения в диапазоне от 0 до 255 и использует 8 бит для хранения. Поскольку символы сохраняются как байтовые значения, эта функция может быть использована для считывания из файла одного символа за раз.

Дополнительные замечания
Значение, сохраненное командой WriteByte, является «младшим» байтом integer-числа. Т.е. отрицательные числа и числа больше, чем 255 все равно будут иметь значения в пределах 0 и 255. Это может показаться вам странным, если вы не совсем понимаете принцип хранения 32-битных integer-чисел, но это НЕ глюк.

Потоками можно пользоваться только в версии Blitz Basic 1.52 или выше.

Пример
; Чтение и запись в файл, используя функции ReadByte и WriteByte

; Инициализировать несколько переменных для примера 
Byte1% = 10; хранить 10 
Byte2% = 100; хранить 100 
Byte3% = 255; хранить 255 (максимальное значение, которое может хранить байт) 
Byte4% = 256; попробуйте сохранить 256, вы получите 0 (256 – 256 = 0)
Byte5% = 257; попробуйте сохранить 257, вы получите 1 (257 - 256 = 1) 
Byte6% = -1; попробуйте сохранить –1, вы получите 255 (256 – 1 = 255)
Byte7% = -2; попробуйте сохранить 256, вы получите 254 (256 – 2 = 254)
Byte8% = Asc("A"); хранить ASCII код символа “A” (65 )
;(английская и русская «А» имеют разные коды – прим. перев.) 

; Открыть файл для записи 
fileout = WriteFile("mydata.dat ") 

; Записать информацию в файл 
WriteByte( fileout, Byte1 ) 
WriteByte( fileout, Byte2 ) 
WriteByte( fileout, Byte3 ) 
WriteByte( fileout, Byte4 ) 
WriteByte( fileout, Byte5 ) 
WriteByte( fileout, Byte6 ) 
WriteByte( fileout, Byte7 ) 
WriteByte( fileout, Byte8 ) 

; Закрыть файл 
CloseFile( fileout ) 

; Открыть файл для чтения 
filein = ReadFile("mydata.dat") 

Read1 = ReadByte( filein ) 
Read2 = ReadByte( filein ) 
Read3 = ReadByte( filein ) 
Read4 = ReadByte( filein ) 
Read5 = ReadByte( filein ) 
Read6 = ReadByte( filein ) 
Read7 = ReadByte( filein ) 
Read8 = ReadByte( filein ) 

; Закрыть файл после завершения чтения 
CloseFile( filein ) 

Print "Записано - считано" 
Write Byte1 + " - " : Print Read1 
Write Byte2 + " - " : Print Read2 
Write Byte3 + " - " : Print Read3 
Write Byte4 + " - " : Print Read4 
Write Byte5 + " - " : Print Read5 
Write Byte6 + " - " : Print Read6 
Write Byte7 + " - " : Print Read7 
Write Byte8 + " - " : Print Chr$( Read8 ) 

WaitKey()
 
Ответить с цитированием