Мегаобучалка Главная | О нас | Обратная связь


Стандартный ввод-вывод, система окон



2015-12-04 342 Обсуждений (0)
Стандартный ввод-вывод, система окон 0.00 из 5.00 0 оценок




2.2. Предикаты ввода/вывода 2.2.1 Ввод (INPUT) readln(StringVariable) (string) - (o) читает строку с текущего устройства и связывает ее с пере-менной StringVariable. readint(IntgVariable) (integer) - (o) читает целое число с текущего устройства и связывает его спеременной IntgVariable. readreal(RealVariable) (real) - (o) читает действительное число с текущего устройства и связыва-ет его с переменной RealVariable. readchar(CharVariable) (char) - (o) читает символ с текущего устройства и связывает ее с пере-менной CharVariable. file_str(DosFileName,StringVariable) (string,string) - (i,o) (i,i) читает (записывает) из файла (в файл) DosFileName строку исвязывает ее с переменной StringVariable. - 24 -inkey(CharVariable) (сhar) - (o) читает символ со стандартного устройства ввода. В отличие отпредиката readchar выполнение программы не прерывается. Поэтомуinkey применяют главным образом для организации циклов ожидания. keypressed проверяет нажата ли некоторая клавиша, не читая при этомвведенный с клавиатуры символ. unreadchar(CharToBePushedBack) (сhar) - (i) заносит символ в буфер клавиатуры. readterm(Domain,Variable) (DomainName,Domain) - (i,o) читает терм, объявленный с именем Domain. С помощью readtermосуществляется доступ к фактам в файле. 2.2.2 Вывод (OUTPUT) write(Variable|Constant*) Записывает заданные значения на текущее устройство вывода. Вкачестве аргумента используется список переменных и/или констант. nl перевод строки writef(FormatString,Variable|Constant*) Осуществляет вывод заданных значений в указанном формате. В формате строки используются следующие опции:%d десятичное число (char и integer);%u беззнаковое целое (char и integer);%R указатель на запись в базе данных (database reference number);%X шестнадцатиричное число (string, database reference numb);%x шестнадцатиричное число (char и integer);%s строка (symbol и string);%c символ (char и integer);%g действительное число (по умолчанию для real);%e действительное число в экспоненциальном формате%f действительное число с фиксированной запятой%lf действительное число с фиксированной запятой - 25 -\n - переход на новую строку\t - табуляция\nnn - символ в десятичном коде ASCII 2.3. Работа с файлами ( FILESYSTEM ) openread(SymbolicFileName,DosFileName) (file,string) - (i,i) Открывает файл для чтения. Здесь SymbolicFileName - логичес-кое имя файла, определяемое в DOMAINS как относящееся к типуfile, DosFileName - имя файла в MS DOS. Например, DOMAINS in = file GOAL openread(in,"file.txt"). openwrite(SymbolicFileName,DosFileName) (file,string) - (i,i) Открывает файл для записи. openappend(SymbolicFileName,DosFileName) (file,string) - (i,i) Открывает файл для дополнения. openmodify(SymbolicFileName,DosFileName) (file,string) - (i,i) Открывает файл для чтения/записи. readdevice(SymbolicFileName) (file) - (i) (o) Присваивает текущему устройству ввода заданное символическоеимя файла или считывает заданное символическое имя файла. writedevice(SymbolicFileName) (file) - (i) (o) Присваивает текущему устройству вывода заданное символичес-кое имя файла или считывает заданное символическое имя файла. filemode(SymbolicFileName,FileMode) (file,Integer) - (i,i) (i,o) Устанавливает/опрашивает тип заданного файла. FileMode = 0 - текстовый файл, 1 - двоичный файл. closefile(SymbolicFileName) (file) - (i) Закрывает данный файл. - 26 -filepos(SymbolicFileName,FilePosition,Mode) (file,real,integer) - (i,i,i) (i,o,i) Устанавливает указатель данного файла на заданную позициюили считывает текущую позицию. Mode = 0 - относительно начала файла, 1 - относительно текущей позиции, 2 - относительно конца файла. eof(SymbolicFileName) (file) - (i) Проверка на конец файла. Выполняется успешно, если указательтекущей позиции файла указывает на конец файла, и завершается не-удачно в противном случае. flush(SymbolicFileName) (file) - (i) Очищает содержимое буфера. Содержимое внутреннего файловогобуфера пересылается в заданный файл. С помощью предиката flushможно организовать передачу данных до того, как буфер будет за-полнен. existfile(DosFileName) (string) - (i) Проверяет существует ли заданный файл в текущем каталоге. deletefile(DosFileName) (string) - (i) Удаляет заданный файл DOS. renamefile(OldDosFileName,NewDosFileName) (string,string) - (i,i) Переименовывает файл DOS. OldDosFileName - старое имя,NewDosFileName - новое имя файла. disk(DosPath) (string) - (i) (o) Устанавливает или показывает накопитель и путь.2.4. Управление экраном ( SCREEN HANDLING ) scr_char(Row,Column,Char) (integer,integer,char) - (i,i,i) (i,i,o) Устанавливает/считывает символ Char в строке Row и столбцеColumn текущего окна. - 27 -scr_attr(Row,Column,Attr) (integer,integer,integer) - (i,i,i) (i,i,o) Устанавливает/считывает атрибут Attr (цвет фона и цвет сим-вола) в строке Row и столбце Column текущего окна. field_str(Row,Column,Length,String) (integer,integer,integer,string) - (i,i,i,i) (i,i,i,o) Записывает/читает строку String длинной Lenght в_2 _0строке Rowи столбце Column текущего окна. field_attr(Row,Column,Length,Attr) (integer,integer,integer,integer) - (i,i,i,i) (i,i,i,o) Устанавливает/считывает атрибут Attr (цвет фона и цвет сим-вола) поля длинной Lenght в строке Row и столбце Column текущегоокна. cursor(Row,Column) (integer,integer) - (i,i) (o,o) Перемещает курсор в заданную позицию текущего окна или счи-тывает координаты его месторасположения. cursorform(Startline,Endline) (integer,integer) - (i,i) (o,o) Определяет/считывает размер курсора внутри области, занимае-мой одним символом. Где: 0 < Startline < 14, 0 < Endline < 14. attribute(Attr) (integer) - (i) (o) Устанавливает/считывает атрибут Attr (цвет фона и цвет сим-вола) позиции под курсором. textmode(Rows,Cols) (integer,integer) - (i,i) (o,o) Этим предикатом производится опрос или установка максималь-ных параметров монитора в текстовом режиме, где Rows - числострок, Cols - число столбцов. (Обычно: Rows x Cols = 25x80 или 43x132) snowcheck(on/off) (string) - (i) (o) Включение или отключение контроля эффекта "снега" на экранедисплея (для CGA-монитора). - 28 - 2.5. Управление окнами ( WINDOW SYSTEM ) makewindow(WindowNo,ScrAtt,FrameAtt,Framestr, Row,Column,Height,Width,ClearWindow,FrameStrPos,BorderChars) (integer,integer,integer,string, integer,integer,integer,integer,integer,integer,string) - (i,i,i,i,i,i,i,i,i,i,i) (o,o,o,o,o,o,o,o,o,o,o) Построение окна или опрос его атрибутов, где WindowNo - номер окна ScrAtt - цвет окна FrameAtt - цвет рамки Framestr - заголовок Row,Column - координаты верхнего левого угла окна Height,Width - высота и ширина окна ClearWindow = 0 - не очищать окно после построения, = 1 - очистить окно после построения FrameStrPos = 255 - расположение заголовка в центре окна; <> 255 - расположение заголовка относительно начала окна BorderChars - строка из 6 символов для построения рамки окна. 1-й символ: верхний левый символ рамки 2-й символ: верхний правый символ рамки 3-й символ: нижний левый символ рамки 4-й символ: нижний правый символ 5-й символ: символ горизонтальной линии 6-й символ: символ вертикальной линииНапример: "++++-¦" для рамки из одиночной линии "++++-¦" для рамки из двойной линии makewindow(WindowNo,ScrAtt,FrameAtt,Framestr, Row,Column,Height,Width) (integer,integer,integer,string, integer,integer,integer,integer) - (i,i,i,i,i,i,i,i) (o,o,o,o,o,o,o,o) Построение окна или опрос его атрибутов. - 29 - shiftwindow(WindowNo) (integer) - (i) (o) Устанавливает в качестве текущего активного окна окно с но-мером WindowNo или считывает номер активного окна gotowindow(WindowNo) (integer) - (i) Устанавливает в качестве активного окно с номером WindowNo resizewindow Изменяет размер текущего окна в интерактивном режиме resizewindow(StartRow,NoOfRows,StartCol,NoOfCols) (integer,integer,integer,integer) - (i,i,i,i) Предикат изменения размеров окна по заданным параметрам:StartRow, StartCol - координаты верхнего левого угла окнаNoOfRows, NoOfCols - высота и ширина окна colorsetup(Main_Frame) (integer) - (i) Предикат для изменения цвета текущего окна, где:Main_frame = 0 Изменение цвета в окне. = 1 Изменение цвета рамки окна. existwindow(WindowNo) (integer) - (i) Проверяет, существует ли окно с заданным номером removewindow удаляет текущее окно removewindow(WindowNo,Refresh) (integer,integer) - (i,i) Предикат удаления окна с параметрами, где: WindowNo - номер окна Refresh = 0 Без отчистки фона. = 1 C отчисткой фона. clearwindow очистить текущее окно window_str(ScreenString) (string) - (i) (o) Выводит строку в текущее окно или считывает строку из теку-щего окна - 30 - window_attr(Attribute) (integer) - (i) Установить цвет фона и цвет символов текущего окна scroll(NoOfRows,NoOfCols) (integer,integer) - (i,i) Сдвигает содержимое текущего окна на заданное число строк истолбцов framewindow(FrameAttr) (integer) - (i) Предикат изменения цвета рамки текущего окна framewindow(FrameAttr,FrameStr,FrameStrPos,FrameTypeStr) (Integer,String,Integer,String) - (i,i,i,i) Предикат изменения рамки текущего окна, где: FrameAttr - цвет окна, FrameStr - заголовок, FrameStrPos - позиция заголовка (если 255, то в центре), FrameTypeStr - строка из 6 символов, задающих рамку окна Предикаты низкоуровневой поддержки (MISCELLANEOUS MACHINE LOWLEVEL) port_byte(PortNo,Value) (integer,integer) - (i,i) (i,o) Посылает байт в порт или читает его из порта. - 55 -ptr_dword(String,Segment,Offset) (string,integer,integer) - (i,o,o) (o,i,i) Читает строку или адрес строки. memword(Segment,Offset,Word) (integer,integer,integer) - (i,i,i) (i,i,o) Запоминает или считывает слово. membyte(Segment,Offset,Byte) (integer,integer,integer) - (i,i,i) (i,i,o) Запоминает или считывает байт. bitand(X,Y,Z) (integer,integer,integer) - (i,i,o) Логическое И : Z = X and Y. bitor(X,Y,Z) (integer,integer,integer) - (i,i,o) Логическое ИЛИ : Z = X or Y. bitxor(X,Y,Z) (integer,integer,integer) - (i,i,o) Исключающее ИЛИ : Z = X xor Y. bitnot(X,Y) (integer,integer,integer) - (i,o) Логическое НЕ : : Y = not X. bitleft(X,N,Z) (integer,integer,integer) - (i,i,o) Логический сдвиг влево на N битов. bitright(X,N,Z) (integer,integer,integer) - (i,i,o) Логический сдвиг вправо на N битов. bios(Interruptno,reg(AXi,BXi,CXi,DXi,SIi,DIi,DSi,ESi), reg(AXo,BXo,CXo,DXo,SIo,DIo,DSo,ESo)) (integer,REG,REG) - (i,i,o) (i,i,reg(o,o ... )) Обработка прерываний. bios(Interruptno,reg(AXi,BXi,CXi,DXi,SIi,DIi,DSi,ESi), reg(AXo,BXo,CXo,DXo,SIo,DIo,DSo,ESo),OutFlags) (integer,REG,REG,integer) - (i,i,o,o) (i,i,reg(o,o ... ),o) Обработка прерываний с выдачей флага.


2015-12-04 342 Обсуждений (0)
Стандартный ввод-вывод, система окон 0.00 из 5.00 0 оценок









Обсуждение в статье: Стандартный ввод-вывод, система окон

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (342)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)