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


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




[11]

2.4.4.2 RWRecord - Start of Scheme rsl/T0, rsl/L3 SET0

scheme L3 SETR = with T0 in

extend L3 SET0 with

class type RWRecord

value empty : RWRecord,

sort : RWRecord х Text - RWRecord, move : RWRecord х SETInput - RWRecord,

pKeys : RWRecord - Text* ,--to return list of primary keys

curRec : RWRecord - Text - Text, replace : RWRecord х Item - RWRecord, field : RWRecord - Item, mkRWRecord : Action х Text* - RWRecord

-- End Of Scheme

2.4.5 Abstract Item -- Start of Scheme

scheme L3 ITEM = class

type ItInput, ItOutput, Item

channel itIn : ItInput, itOut : ItOutput

item : Item - in itIn out itOut Item

-- End Of Scheme


2.4.6 Main Menu of Application

Так как имеющейся на текущий момент информации (как показано в схемах L3 CNTx.RSL и L3 REC.rsl) оказывается достаточно, чтобы строить содержимое панелей нашего приложения, то появляется возможность полностью описать главное меню приложения.

В качестве примера приведем описание элементов меню административной утилиты для систем ComVu.com и UniSay.com:

-- Start of Scheme

rsl/T0, rsl/L3 CNT scheme A ADM W AU =

with T0 in

extend L3 CNT with

class value

About, Access Rights, My Projects, Projects, Groups : MenuItem,

-- global variables of adm w

-- to work with embedded SQL connection : Text, - - url of www- service version : Text, - - version of application

sid : Text, - - system identification of query - to check

-- an user rights rc : Text, - -

pkeys : Text* , - - to keep list of primary key columns of a previous

-- panel query

curRec : Text - Text, - - to pass the proper values of current record

-- to update, delete statements notSet : { x : Text • x = "not set"}

[ about panel ] About = ("About"~

( ("About Panel 0, ,

"select Manager of UniDB. Version = :version / You are connected to :connection fi - - select

, - - what to show before insert , - - update delete

My Projects


("My Projects, ( ("List of projects 1, ,

"select distinct id, * from ar. v prjSid where sid = :sid

( - - Actions to edit project content (content includes

-- descriptions) "Project Content 2, ,

-- res(1) must to have id of curr record of

-- prev next query

"select distinct id, prn, * from ar. v prjV where prn=:pKeys(1)

( - - Actions to edit version description "Version Description 1, ,

"select id, * from ar. v dcoDcv where cnt =:pKeys(1) and prn =:pKeys(2) order by dcvNm as "select 0 as id, - 1 as prn, 0 as id, :pKeys(1) as cnt, - 1 as dcv, :notSet as dcvNm, :notSet as "call ar. dcoUpd(:rc,:curRec(id),:curRec(cnt),:curRec(dcv),:curRec(val),0) - - update

"call ar. dcoUpd(:rc,:curRec(id),:curRec(cnt),:curRec(dcv),:curRec(val),1)"- - delete

( - - Actions to edit version attribute "Version Attribute 0, , , , , )> ), - - [ projects panel ] Projects = ("Pro jects ,

( ("List of V the projects 1, ,

"select distinct id, * from ar. v prj where sid = :sid

( - - Actions to edit project content (content includes

-- descriptions) "Project Content 2, ,

-- res(1) must to have id of curr record of

-- prev next query

"select distinct id, prn, * from ar. v prjV where prn=:pKeys(1)

( - - Actions to edit version description "Version Description 1, ,

"select id, * from ar. v dcoDcv where cnt =:pKeys(1) and prn =:pKeys(2) order by dcvNm asc "select 0 as id, - 1 as prn, 0 as id, :pKeys(1) as cnt, - 1 as dcv, :notSet as dcvNm, :notSet as va "call ar. dcoUpd(:rc,:curRec(didd),:curRec(dcntd),:curRec(ddcvd),:curRec(vdald),0) - - update

"call ar. dcoUpd(:rc,:curRec(didd),:curRec(dcntd),:curRec(ddcvd),:curRec(vdald),1)" - - delete

( - - Actions to edit version attribute "Version Attribute 0, , , , , )> ), [ groups panel ]



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