Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[14]

rsl/T0, rsl/L4 SET2

scheme L4 SET3 = with T0 in

extend L4 SET2 with

class value pKeys :

RWTable - Text

* - - to return list of primary keys pKeys(onm, os, (rNo, fNo), vPos, vSz, fSz, t) = pKeys(t, rNo),

curRec : RWTable - Text - Text curRec((onm, os, (rNo, fNo), vPos, vSz, fSz, t)) = rec(t, rNo)

-- End Of Scheme

2.5.3 Concrete Record Visualisation

•Первая колонка - порядковый номер;

•Вторая - название полей;

•Третья - значения;

•Четвертая - признак редактирования.

-- Start of Scheme

rsl/T0, rsl/L4 SETT scheme L4 SETR =

with T0 in

extend L4 SETT with

type RWRecord = { (fn, or, fPos, vPos, vSz, fSz, t) : RWTable • nFlds(t) = 4 Л

fSz = ( onoSz, fldSz, valSz, editSz} Л fName(1, t) = "oNo"Л fName(2, t) = "Fields"Л


fName(3, t) = "Values fName(4, t) = "Edit?"}

replace : RWRecord х Item - RWRecord, field : RWRecord - Item, onoSz, fldSz, valSz, editSz : Nat, mkRWRecord : Action х Text* - RWRecord

-- End Of Scheme

2.5.4 Abstract Set

-- Start of Scheme

rsl/T0, rsl/L4 SET0

scheme L4 SET01 = with T0 in

extend L4 SET0 with

class type Table

isName : FName х Table - Bool,

- -focus, view , view size

FName х Order х Pair х Pair х Pair х Table - Pair х Pair х Table, nRecs : Table - Nat, - - how many recs in Table

nFlds : Table - Nat,--how many flds in Table

nPKeys : Table - Nat, - - how many primary keys in Table

fName : Nat х Table - Text,--to return name of field of Table

pKeys : Table х Nat - Text* ,--to return list of primary keys of set record

Table х Nat - Text - Text - - to return set rec

-- End Of Scheme


2.5.5 Abstract Item

Как обычно обьявляются каналы обмена следующего уровня абстракции itIn, itOut и задается процесс, обрабатывающий элементы item Задаем типы поля FNat - для нумерования записей в таблицах и FText - для отображения текстовых полей. Функции isNat и isText проверяют можно ли проконвертировать текст в соответсвующий тип.

-- Start of Scheme

scheme L4 ITEM = class

ItInput,

ItOutput,

FName = Text,--name of field

FNat = { x : Text • isNat(x) } , FText = { x : Text • isText(x) } , FType == TNat TText

channel itIn : ItInput, itOut : ItOutput

item : Item - in itIn out itOut Item, isNat : Text - Bool, isText : Text - Bool

-- End Of Scheme

2.6 Set Level not ready

2.7 Item Level



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15]