% BYTE % BYTE.OPEN- открывает файл 20 % BYTE.WRITE- записывает в файл байты 20 % BYTE.CLOSE- закрывает файл 20 % BYTE.READ.BYTE- читает из файла 41 % BYTE.POSITION.GET- получает позицию считываемого бита 41 % BYTE.WRITE.NUMBER- записывает в файл число 58 % BYTE.READ.NUMBER- читает из файла числа 58 % BYTE.POSITION.SET- задает начало позиции считывания 82 % BYTE.READ.BUFFER- считывает байты в буффер 106 % BYTE.WRITE.BUFFER- записывает байты из буффера 106 % BYTE.EOF- показывает статус открытого файла- 0 или 1 129 % BYTE.TRUNCATE- сокращает файл на n байт и закрывает его 179 % BYTE.COPY- копирует файл 193 ? "==== BYTE.OPEN BYTE.WRITE.BYTE BYTE.CLOSE ====" ? "" BYTE.OPEN w, fail, "test.txt" % открыли новый файл (и создали, если его небыло) BYTE.WRITE.BYTE fail, "apelsin" % записали в файл байты BYTE.CLOSE fail % закрыли файл ? "открыли (или создали) новый файл, записали байты и закрыли" % r- чтение из файла, w- запись поверх существующего в файле, a- добавление, % начинает писать после последнего байта % fail- имя байтов, которыми будет манипулировать программа % открытие файла для записи w делает его пустым, если мы туда ничего не записываем % когда чение байтов из файла заканчивается, переменной присваивается (-1) ? "" ? "" ? "==== BYTE.READ.BYTE BYTE.POSITION.GET ====" ? "" byte.open r,fail, "test.txt" do BYTE.READ.BYTE fail, x % считываем побайтно из файла BYTE.POSITION.GET fail, y % получаем позицию считываемого байта ? x; "- считанный байт" ? y; "- номер позиции считанного байта" until x<0 byte.close fail ? "" ? "" ? "==== BYTE.WRITE.NUMBER BYTE.READ.NUMBER ====" ? "" byte.open w, fail, "test2.txt" BYTE.WRITE.NUMBER fail, 9, 388297379291 % записали в файл числа byte.close fail byte.open r, fail, "test2.txt" do BYTE.READ.NUMBER fail, x % читаем из файла числа ? x until x<0 byte.close fail ? "записали в файл числа и прочитали их" ? "-1 означает, что все байты прочитаны" ? "" ? "==== BYTE.POSITION.SET ====" ? "" byte.open r, fail, "test.txt" BYTE.POSITION.SET fail, 6 % задали, с какого байта начнется считывание do byte.read.byte fail, x byte.position.get fail, y ? "x=";" "; x ? "y=";" "; y until x<0 byte.close fail ? "x- считанный байт" ? "y- позиция читаемого байта" ? "BYTE.POSITION.SET задает позицию считываемого байта" ? "работает только в файлах, открытых для чтения" ? "" ? "" ? "==== BYTE.READ.BUFFER BYTE.WRITE.BUFFER ====" ? "" byte.open r, fail, "test.txt" byte.position.set fail, 3 % начали считывание с 3 байта BYTE.READ.BUFFER fail, 4, x$ % считали 4 байта в строковую переменную byte.close fail ? x$; "- считанные байты" ? "apelsin- сам весь файл" byte.open w, zapisano, "test3.txt" % открыли новый файл, в который запишем байты BYTE.WRITE.BUFFER zapisano, x$ % записали из буффера x$ байты в файл byte.close zapisano ? "" ? "" ? "==== BYTE.EOF ====" ? "" ? "определяем статус открытого файла" ? "" ? "==== пример 1 ====" byte.open r, fail, "test.txt" % открыли файл для чтения, но еще не читали BYTE.EOF fail,x ? x byte.close fail ? "файл открыт для чтения" ? "" ? "==== пример 2 ====" byte.open r, fail, "test.txt" do byte.read.byte fail, y % открыли и прочитали все байты until y<0 BYTE.EOF fail, x ? x byte.close fail ? "файл открыт для чтения и уже прочитан" ? "если файл еще не прочитан до конца, будет- 0" ? "" ? "==== пример 3 ====" byte.open w, fail, "test.txt" % открыли файл для записи BYTE.EOF fail, x ? x byte.close fail ? "файл открыт для записи или добавления" ? "" ? "" ? "==== BYTE.TRUNCATE ====" ? "" % BYTE.TRUNCATE fail, n ? "сокращает файл на n байт и закрывает его" ? "эта команда может использоваться только на файлах, открытых для записи или" ? "добавления" ? "" ? "" ? "==== BYTE.COPY ====" ? "" byte.open r, fail, "test3.txt" BYTE.COPY fail, "testcopy.txt" % копируем из fail в "testcopy.txt" byte.open r, failcopy, "testcopy.txt" do byte.read.byte failcopy, x % читаем новый файл ? x until x<0 byte.close failcopy ? "если часть файла прочитана, то она скопирована не будет" ? "если файл полностью прочитан, то он скопирован не будет" ? "после копирования оба файла закрываются" ? "BYTE.COPY работает в тысячи раз быстрее, чем BYTE.READ/ BYTE.WRITE" end