Obsah

Spuštění MS Scriptu ze šablony.

Spuštění procedury nebo funkce z jiné šablony.

Optimalizace kódu

Case sensitive

Skriptovací jazyky třetích firem

Popis rozhraní

Model

Entita

Atribut

Datový typ

Slovníkový datový typ

Relace

Index

Položka indexu

Trigger

Template

Alternativní klíč

Položka alternativního klíče

Uživatelská role

Uživatel

Permissions

UserRoleUser

Process

DataStore

Terminator

DataFlow

SysUtils

TextStream

Log

Rtf

Variables

Model2


IModel

Vlastnosti      Metody      Rozhraní

Obecné rozhraní k aktuálnímu modelu.

Popis

Používejte rozhraní Model k získání základních informací k aktuálnímu modelu. Model zpřístupňuje všechna důležitá rozhraní k :

•	entitně relačnímu modelu,

•	modelu datových toků,

•	všem šablonám,

•	základním informacím k modelu.


IModel - properies
IModel - vlastnosti

IModel	Legenda

Obecné

Created

Modified

Rozhraní k DFD

CountDataFlows

CountDataStores

CountProcesses

CountTerminators

Rozhraní k ERD

CountAlterKeys

CountAlterKeyItems

CountAttributes

CountDataTypes

CountDictTypes

CountEntities

CountIndexes

CountIndexItems

CountRelations

CountTriggers

CountUserRoles

CountUserPermiss

CountUsers

CountUserRoleUsers

Rozhraní k šablonám

CountDatabaseTemplates

CountModelTemplates

CountSystemTemplates

CountUDFDatabaseTemplates

CountUDFSystemTemplates


IModel - methods
IModel - metody

IModel	Legenda

Rozhraní k DFD

DataFlows

DataStores

GetDataFlow

GetDataStore

GetProcess

GetTerminator

Processes

Terminators

Rozhraní k ERD

AlterKeys

AlterKeyItems

Attributes

DataTypes

DictTypes

Entities

GetAlterKey

GetAlterKeyItem

GetAttribute

GetDataType

GetDictType

GetEntity

GetIndex

GetIndexItem

GetRelation

GetTrigger

GetUserRole

GetUserPermiss

GetUserGetUserRoleUser

Indexes

IndexItems

ModelTemplates

Relations

Triggers

UserRoles

UserPermiss

Users

UserRoleUsers

Rozhraní k šablonám

DatabaseTemplates

GetModelTemplate

SystemTemplates

UDFSystemTemplated

UDFDatabaseTemplates


IEntity

Vlastnosti      Metody      Rozhraní

Rozhraní k entitě.

Popis

Používejte rozhraní IEntity k získání základních informací k jedné konkretní entitě. IEntity zpřístupňuje mimo jiné všechna důležitá rozhraní ke všem :

•	atributům,

•	alternativním klíčům,

•	relacím a

•	indexovům

této entity.


IEntity - properties
IEntity - vlastnosti

IEntity	Legenda

Základní

Id

Name

Vlastní

CountAlterKeys

CountAttributes

CountIndexes

CountRelations

Dependent

Description

Generate

UserTrigger

Storage

PKConstraint

TableName


IEntity - methods
IEntity - metody

IEntity	Legenda

Rozhraní

AlterKeys

Attributes

Indexes

Relations


IAttribute

Vlastnosti      Metody      Rozhraní

Rozhraní k atributu.

Popis

Používejte rozhraní IAttribute k získání základních informací ke konkretnímu atributu.


IAttribute - properties
IAttribute - vlastnosti

IAttribute	Legenda

Základní

Id

Name

Vlastní

Check

CheckConstraint

ColName

CountFk

DataTypeId

Def

Def2

Default

DefaultConstraint

Description

DictTypeId

FK

EntityId

PK

RoleName

SQLDataType

Unique

UniqueConstraint


IAttribute - methods
Attribute - metody

IAttribute	Legenda

Informační

AttrFkId

EntityFkId

RelationFkId


IDataType

Vlastnosti      Metody      Rozhraní

Rozhraní k datovým typům databáze.

Popis

Používejte rozhraní IDatatype k získání základních informací ke všem dostupným datovým typům aktuální databáze.


IDataType - properties
IDataType - vlastnosti

IDataType	Legenda

Základní

Id

Name

Vlastní

DataTypeName

DefaultDecimal

DefaultLength

ExportToId

ExportToLength

ExportToDecimal

IsDecimal

IsLength

MaxDecimal

MaxLength

MinDecimal

MinLength

TransformCode

TransformTo


IDataType - methods
IDataType - metody

IDataType	Legenda

Nejsou


IDictDataType

Vlastnosti      Metody      Rozhraní

Rozhraní ke slovníkovím datovým typům databáze.

Popis

Používejte rozhraní IDictDatatype k získání základních informací ke všem uživatelem definovaným slovníkovým datovým typům k aktuálnímu modelu.


IDictDataType - properties
IDictDataType - vlastnosti

IDictDataType	Legenda

Základní

Id

Name

Vlastní

Check

DataTypeId

Decimal

Def

Def2

Default

Description

DictName

Length


IDictDataType - methods
IDictDataType - metody

IDictDataType	Legenda

Nejsou


IRelation

Vlastnosti      Metody      Rozhraní

Rozhraní k relacím.

Popis

Používejte rozhraní IRelation k získání základních informací ke všem relacím aktuálního modelu.


IRelation - properties
IRelation - vlastnosti

IRelation      Legenda

Základní

Id

Name

Vlastní

ChildDeleteIntegrity:Integer

ChildEntityId:Integer; ID child entity

ChildInsertIntegrity:Integer

ChildUpdateIntegrity:Integer

Description: WideString	Popis

FKConstraint: WideString 	Název constraint cizího klíče

ParentDeleteIntegrity:Integer

ParentEntityId:Integer; ID Parent entity.

ParentInsertIntegrity:Integer

ParentUpdateIntegrity:Integer

PartialityParent: Integer

PartialityChild: Integer	Viz. ParcialityParent

Type:Integer; Typ relace.


IRelation - methods
IRelation - metody

IRelation      Legenda

Nejsou


IIndex

Vlastnosti      Metody      Rozhraní

Rozhraní k databázovým indexům.

Popis

Používejte rozhraní IIndex k získání základních informací ke všem databázovým indexům aktuálního modelu.


IIndex - properties
IIndex - vlastnosti

IIndex      Legenda

Základní

Id

Name

Vlastní

CaseSensitive

Clustered

Descending

EntityId

ExprType

Expression

Filter

Storage

Unique


IIndex - methods
IIndex - metody

IIndex      Legenda

Nejsou


IIndexItem

Vlastnosti      Metody      Rozhraní

Rozhraní k položkám databázových indexům.

Popis

Používejte rozhraní IIndexItem jako seznam vazeb mezi všemi databázovými indexy a atributy aktuálního modelu.


IIndexItem - properties
IIndexItem - vlastnosti

IIndexItem      Legenda

Základní

Id

Name

Vlastní

AttributeId

IndexId

Descending


IIndexItem - methods
IIndexItem - metody

IIndexItem      Legenda

Nejsou


ITrigger

Vlastnosti      Metody      Rozhraní

Rozhraní k uživatelským triggerům, procedurám a pohledům.

Popis

Používejte rozhraní ITrigger k získání všech základních informací ke všem uživatelským triggerům, procedurám a pohledům aktuálního modelu.


ITrigger - properties
ITrigger - vlastnosti

ITrigger      Legenda

Základní

Id

Name

Vlastní

Enabled

Source

Type


ITrigger - methods
ITrigger - metody

ITrigger      Legenda

Nejsou


ITemplate

Vlastnosti      Metody      Rozhraní

Obecné rozhraní k šablonám.

Popis

Používejte rozhraní ITrigger k získání všech základních informací ke všem šablonám všech úrovní a všech kategorií.


ITemplate - properties
ITemplate - vlastnosti

ITemplate      Legenda

Základní

Id

Name

Vlastní

Author

Category

Company

Created

Description

Enabled

EnityId

Level

MainScript

Modified

ScriptLanguage

Source

Version


ITemplate - methods
ITemplate - metody

ITemplate      Legenda

Nejsou


IAlternateKey

Vlastnosti      Metody      Rozhraní

Rozhraní k alternativním klíčům.

Popis

Používejte rozhraní IAlternateKey k získání všech základních informací ke všem altertnativním klíčům aktuálního modelu.


IAlternateKey - properties
IAlternateKey - vlastnosti

IAlternateKey      Legenda

Základní

Id

Name

Vlastní

AlterKeyName

EntityId


IAlternateKey - methods
IAlternateKey - metody

IAlternateKey      Legenda

Nejsou


IAlternateKeyItem

Vlastnosti      Metody      Rozhraní

Rozhraní k položkám alternativních klíčů.

Popis

Používejte rozhraní IAlternateKeyItem jako seznam vazeb mezi všemi alternativními klíčí a atributy aktuálního modelu.


IAlternateKeyItem - properties
IAlternateKeyItem - vlastnosti

IAlternateKeyItem      Legenda

Základní

Id

Name

Vlastní

AlterKeyId

AttributeId


IAlternateKeyItem - methods
IAlternateKeyItem - metody

IAlternateKeyItem      Legenda

Nejsou


IUserRole

Vlastnosti      Metody      Rozhraní

Rozhraní k uživatelským rolím.

Popis

Používejte rozhraní IUserRole k získání všech základních informací ke všem uživatelským rolím aktuálního modelu.


IUserRole - properties
IUserRole - vlastnosti

IUserRole      Legenda

Základní

Id

Name

Vlastní

Description

Generate

UserRoleName


IUserRole - methods
IUserRole - metody

IUserRole      Legenda

Nejsou


IUser

Vlastnosti      Metody      Rozhraní

Rozhraní k definovaným uživatelům.

Popis

Používejte rozhraní IUser k získání všech základních informací ke všem definovaným databázovým uživatelům aktuálního modelu.


IUser - properties
IUser - vlastnosti

IUser      Legenda

Základní

Id

Name

Vlastní

Description

Generate

UserName


IUser - methods
IUser - metody

IUser      Legenda

Nejsou


IPermission

Vlastnosti      Metody      Rozhraní

Rozhraní k databázovým právům.

Popis

Používejte rozhraní IPermission k získání všech základních informací ke všem definovaným databázovým právům uživatelů k jednotlivým objektům aktuálního modelu.

Note

Práva lze přidělit dle možností databáze k:

•	entitám,

•	procedurám,

•	triggerům a

pohledům.


IPermission - properties
IPermission - vlastnosti

IPermission      Legenda

Základní

Id

Name

Vlastní

CanDelete

CanDRI

CanExecute

CanInsert

CanSelect

CanUpdate

ObjectId

ObjectType

OwnerId

OwnerType

Prává

Delete

DRI

Execute

Insert

Select

Update


IPermission - methods
IPermission - metody

IPermission      Legenda

Nejsou


IUserRoleUser

Vlastnosti      Metody      Rozhraní

Rozhraní k seznamu vazeb mezi uživatelí a uživatelskými rolí.

Popis

Používejte rozhraní IUserRoleUser jako seznam vazeb mezi všemi databázovými uživatelí a databázovými uživatelskými rolí aktuálního modelu.


IUserRoleUser - properties
IUserRoleUser - vlastnosti

IUserRoleUser      Legenda

Základní

Id

Name

Vlastní

RoleId

UserId


IUserRoleUser - methods
IUserRoleUser - metody

IUserRoleUser      Legenda

Nejsou


IProcess

Vlastnosti      Metody      Rozhraní

Rozhraní k procesu.

Popis

Používejte rozhraní IProcess k získání všech základních informací ke všem definovaným procesům všech úrovní aktuálního modelu datových toků.


IProcess - properties
IProcess - vlastnosti

IProcess      Legenda

Základní

Id

Name

Vlastní

Description

LowestLevel

ParentId

ProcessId

Specification


IProcess - methods
IProcess - metody

IProcess      Legenda

Nejsou


IDataStore

Vlastnosti      Metody      Rozhraní

Rozhraní k datastoru.

Popis

Používejte rozhraní IDataStore k získání všech základních informací ke všem definovaným datastorům všech úrovní aktuálního modelu datových toků.


IDataStore - properties
IDataStore - vlastnosti

IDataStore      Legenda

Základní

Id

Name

Vlastní

Description

EntityId

ParentId

ProcessId


IDataStore - methods
IDataStore - metody

IDataStore      Legenda

Nejsou


ITerminator

Vlastnosti      Metody      Rozhraní

Rozhraní k terminátoru.

Popis

Používejte rozhraní ITerminator k získání všech základních informací ke všem definovaným terminátorům všech úrovní aktuálního modelu datových toků.


ITerminator - properties
ITerminator - vlastnosti

ITerminator      Legenda

Základní

Id

Name

Vlastní

Description

ParentId

ProcessId


ITerminator - methods
ITerminator - metody

ITerminator      Legenda

Nejsou


IDataFlow

Vlastnosti      Metody      Rozhraní

Rozhraní k datovému toku.

Popis

Používejte rozhraní IDataFlow k získání všech základních informací ke všem definovaným datovým tokům všech úrovní aktuálního modelu datových toků.


IDataFlow - properties
IDataFlow - vlastnosti

IDataFlow      Legenda

Základní

Id

Name

Vlastní

Description

FromId

FromObjType

ParentId

ProcessId

ToId

ToObjType

Type


IDataFlow - methods
IDataFlow - metody

IDataFlow      Legenda

Nejsou


ISysUtils

Vlastnosti      Metody      Rozhraní

Rozhraní k pomocným funkcím.

Popis

Používejte rozhraní ISysUtils jako přístup ke knihovně funkcí pro všeobecné použití.

Poznámka

Funkce se volají bez explicitního určení rozhraní, takže stačí např. napsat AnsiUpperCase(x), nemusíte psát SysUtils.AnsiUpperCase(x). Samozřejmě fungují oba způsoby.


ISysUtils - properties
ISysUtils - vlastnosti

ISysUtils      Legenda

Nejsou


ISysUtils - methods
ISysUtils - metody

ISysUtils      Legenda

AnsiUpperCase

Copy

Date

DateTimeToStr

DateToStr

Day

Delete

Insert

LowerCase

Month

Now

IntToStr

ReadAnsiLowerCase

StrToInt

Time

TimeToStr

Trim

TrimLeft

TrimRight

UpperCase

UserVarToBool

Year


ITextStream

Vlastnosti      Metody      Rozhraní

Rozhraní k textovému souboru.

Popis

Používejte rozhraní ITextStream pro jednoduchý přístup k textovým souborům. Rozhraní Vám umožní vytvářet, otevírat anebo ukládat textové soubory.

Poznámka

Rozhraní se využívá např. při generování SQL skriptů, RTF anebo HTML dokumentů.


ITextStream - properties
ITextStream - vlastnosti

ISysUtils      Legenda

FileName

Text


ITextStream - methods
ITextStream - metody

ISysUtils      Legenda

Clear

Load

LoadFromFile

Save

SaveToFile

Write

Writeln


ILog

Vlastnosti      Metody      Rozhraní

Rozhraní k protokolovacímu souboru.

Popis

Používejte rozhraní ILog k vytváření protokolovacího souboru průběhu zpracování skriptu. Všechny událostí zapsané do souboru se průběžně zobrazují v aplikačním okně Log.


ILog - properties
ILog - vlastnosti

ILog      Legenda

Nejsou


ILog - methods
ILog - metody

ILog      Legenda

Clear

SaveToFile

Write

Writeln


IRtf

Vlastnosti      Metody      Rozhraní

Rozhraní k tvorbě Rtf souborů.

Popis

Používejte rozhraní IRtf k snadnému vytvoření vlastních RTF souborů (rich text files).

Poznámky

Rtf soubory mají výhodu, že lze vytvořit formátovaný text, ktery je možno si prohlídnout anebo upravit na velké většině textových editorů. (Napr. MS Word, WordPad, 602Text a mnoha dalších).


IRtf - properties
IRtf - vlastnosti

IRtf      Legenda

Text


IRtf - methods
IRtf - metody

IRtf      Legenda

Základní

New

SaveToFile

Write

Writeln

Styly

DefineStyle

SetStyle

Tabulky

DefineCell

DefineColumn

DefineTable

DrawTable

Záložky

CallBookmark

DefineBookmark

SetBookmark


IVariables

Vlastnosti      Metody      Rozhraní

Rozhraní ke správě proměnných.

Popis

Používejte rozhraní IVariables k definici vlastních uživatelských proměnných k danému skriptu. Takto definované proměnné se objeví vždy ve složce "Uživatelské proměnné skriptu" a proto může koncový uživatel skriptu jejich hodnotu lehce změnit. Proměnné jsou dostupné během zpracování celého skriptu.

Poznámky

Proměnné se musí ve skriptu definovat vždy ve funkci DefineVariables. Každá definovaná proměnná se stává automaticky vlastností rozhraní. (Např. Variables.MojePromenna = 5 ).


IVariables - properties
IVariables - vlastnosti

IVariables      Legenda

Type


IVariables - methods
IVariables - metody

IVariables      Legenda

Základní

DefineVariable


Legenda_Vlastnosti
Vlastnosti

 určená pouze ke čtení

 určená pouze k zápisu


Legenda_Metody
Vlastnosti

 metoda nevrací výsledek


Templates.Hiearchie
Hiearchie šablon

CountSystemTemplates

|

CountUDFSystemTemplates

|

CountDatabaseTemplates

|

CountUDFDatabaseTemplates

|

CountModelTemplates


ID

property ID:integer

Identifikátor objektu.


Name

Název objektu


Model.CountEntities

Model      Příbuzné      Příklad

Vrací počet entit v modelu.

property CountEntities: Integer; readonly;

Popis

Použíjte vlastnost CountEntities, k získání celkového počtu entit v aktuálním ER-modelu.


Entities

Model

function Entities(index:integer):IDispatch;

Vrací rozhraní na entitu podle pořadí. Pořadí je od 0 do Model.CountEntities-1

příklad, který vypíše všechny názvy entit v modelu.

function Main()

{

for (i=0; i<Model.CountEntities; i++)

{

Ent = Model.Entities(i);

Log.Writeln(Ent.Name);

}

}


Model.Entities.Example
Příklad k Entity, CountEntities

Příklad v JavaScriptu vypíše názvy entit aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountEntities; i++)

{

Entity = Model.Entities(i);

Log.Writeln(Entity.Name);

};

};


Model.CountAttributes

Model      Příbuzné      Příklad

Vrací počet atributů v modelu.

property CountAttributes: Integer; readonly;

Popis

Použíjte vlastnost CountAttributes, k získání celkového počtu atributů všech entit v aktuálním modelu.


Model.Attributes.Examples

Příklad k Attributes, CountAttributes

Příklad v JavaScriptu vypíše názvy všech atributů aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountAttributes; i++)

{

Atr = Model.Attributes(i);

Log.Writeln(Atr.Name);

};

};


Model.Attributes

Vrací rozhraní na atribut podle pořadí. Pořadí je od 0 do Model.CountAttributes-1

příklad:

function Main()

{

for (i=0; i<Model.CountAttributes; i++)

{

Atr = Model.Attributes(i);

Log.Writeln(Atr.Name);

}

}


Model.CountDataTypes

Model      Příbuzné      Příklad

Vrací počet datových typů.

property CountDataTypes: Integer; readonly;

Popis

Použíjte vlastnost CountDataTypes, k získání celkového počtu datových typů definovaných k databází aktuálního ER-modelu.


Model.DataTypes

function DataTypes(index:integer):IDispatch;

Vrací rozhraní na datový typ podle pořadí. Pořadí je od 0 do Model.CountDataTypes-1;

příklad vypíše seznam všech typů.

function Main()

{

for (i=0; i<Model.CountDataTypes; i++)

{

t = Model.DataTypes(i);

Log.Writeln(t.Name);

}

}

Model.DataTypes

Model      Příbuzné      Příklad{keepn}

Vrací počet atributů v modelu.

property CountAttributes: Integer; readonly;

Popis

Použíjte vlastnost CountAttributes, k získání celkového počtu atributů všech entit v aktuálním modelu.


Model.DataTypes.Example
Příklad k DataTypes, CountDataTypes

Příklad v JavaScriptu vypíše názvy všech typů definovaných k databází aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountDataTypes; i++)

{

DataType = Model.DataTypes(i);

Log.Writeln(DataType.Name);

};

};


Model.CountDictTypes

Model      Příbuzné

Vrací počet slovníkových datových typů.

property CountDictTypes: Integer; readonly;

Popis

Použíjte vlastnost CountDictTypes, k získání počtu slovníkových datových typů definovaných uživatelem k aktuálnímu ER-modelu.


DictTypes

function DictTypes(index:integer):IDispatch;

Vrací rozhraní na slovníkový datový typ podle pořadí. Pořadí je od 0 do Model.DictTypesCount-1

Příklad:

function Main()

{

for (i=0; i<Model.CountDictTypes; i++)

{

d = Model.DictTypes(i);

Log.Writeln(d.Name);

}

}


Model.CountRelations

Model      Příbuzné      Příklad

Vrací počet relací v modelu.

property CountRealtions: Integer; readonly;

Popis

Použíjte vlastnost CountRelations, k získání celkového počtu relací v aktuálním modelu.


Relations

function Relations(index:integer):IDispatch

Vrací rozhraní na relaci podle pořadí. Pořadí je od 0 do Model.CountRelations-1

Příklad:


Model.Relations.Example

Příklad k Relations, CountRelations

Příklad v JavaScriptu vypíše názvy všech relací aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountRelations; i++)

{

RelShips = Model.Relations(i);

Log.Writeln(RelShips.Name);

};

};


Model.CountIndexes

Model      Příbuzné      Příklad

Vrací počet databázových indexů v modelu.

property CountIndexes: Integer; readonly;

Popis

Použíjte vlastnost CountIndexes, k získání celkového počtu databázových indexů všech entit v aktuálním modelu.


Indexes

function Indexes(index:integer):IDispatch;

Vrací rozhraní na databázový index podle jeho pořadi. Pořadí je od 0 do Model.CountIndexes-1

příklad:

function Main()

{

for (i=0; i<Model.CountIndexes; i++)

{

ind = Model.Indexes(i);

Log.Writeln(ind.Name);

}

}


Model.Indexes.Example
Příklad k Indexes, CountIndexes

Příklad v JavaScriptu vypíše názvy všech indexů všech entit aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountIndexes; i++)

{

Idx = Model.Indexes(i);

Log.Writeln(Idx.Name);

};

};


Model.CountIndexItems

Model	Příbuzné

Vrací počet položek databázových indexů.

property CountIndexItems: Integer; readonly;

Popis

Použíjte vlastnost CountIndexItems, k získání celkového počtu položek všech databázových indexů v aktuálním modelu.


IndexItems

function IndexItems(index:integer):IDispatch;

Vrací rozhraní na indexovou položku podle pořadí. Pořadí je od 0 do Model.CountIndexItems-1

příklad, ktery vypíše všechny indexy a jejich položky:

function Main()

{

for (i=0; i<Model.CountIndexes; i++)

{

ind = Model.Indexes(i);

Log.Writeln(ind.Name);

for (j=0; j<Model.CountIndexItems; j++)

{

ii = Model.IndexItems(j);

if (ind.id == ii.IndexId)

{

Atr = Model.GetAttribute(ii.AttributeId);

Log.Writeln(Atr.Name);

}

}

}

}


Model.CountTriggers

Model	Příbuzné      Příklad

Vrací počet uživatelských triggerů, procedur a pohledů.

property CountTriggers: Integer; readonly;

Popis

Použíjte vlastnost CountTriggers, k získání celkového počtu všech uživatelských triggerů, procedur a pohledů aktuálního entitně relačního modelu.


Triggers

function Triggers(index:integer):IDispatch;

Vrací trigger podle pořadí. Pořadí je od 0 do Model.CountTriggers-1

Příklad, ktery vypíše všechny uživatelské triggry, procedury a pohledy i s názvy.

function Main()

{

for (i=0; i<Model.CountTriggers; i++)

{

Tr = Model.Triggers(i);

Log.Writeln(Tr.Name);

Log.Writeln(Tr.Source);

}

}


Model.Triggers.Example
Příklad k Triggers, CountTriggers

Příklad v JavaScriptu vypíše všechny názvý uživatelských triggerů, procedur a pohledů a jejich obsah, ke všem entitám aktuálního ER-model do okna Log.

function Main()

{

for (i=0; i<Model.CountIndexes; i++)

{

Trigger = Model.Triggers(i);

Log.Writeln(Trigger.Name);

Log.Writeln(Trigger.Source);

};

};


CountModelTemplates

property CountModelTemplates:integer; readonly;

Počet uživatelských šablon v modelu. Jsou tam zahrnuty i šablony patřící jednotlivým entitám.


ModelTemplates

function ModelTemplates(index:integer):IDispatch;

Vrací rozhraní na šablonu podle jejího pořadí. Pořadí je od 0 do Model.CountModelTemplates-1.

příklad:

function Main()

{

for (i=0; i<Model.CountModelTemplates; i++)

{

Templ = Model.ModelTemplates(i);

if (Templ.Level == 5)

{

Ent = Model.GetEntity(Templ.EntityId);

Log.Writeln('Entita '+Ent.Name);

}

Log.Writeln(Templ.Name);

Log.Writeln(Templ.Source);

}

}


Model.CountAlterKeys
Model.CountDataFlows

Model	Příbuzné

Vrací počet alternativních klíčů v modelu.

property CountAlterKeys: Integer; readonly;

Popis

Použíjte vlastnost CountAlterKeys, k získání celkového počtu alternativních klíčů v aktuálním modelu.


AlterKeys

function AlterKeys(index:integer):IDispatch;

Vrací rozhraní na alternativní klíč podle pořadí. Pořadí je od 0 do Model.CountAlterKeys-1.


Model.CountAlterKeyItems

Model	Příbuzné

Vrací počet položek alternativních klíčů v modelu.

property CountAlterKeyItems: Integer; readonly;

Popis

Použíjte vlastnost CountAlterKeyItems, k získání celkového počtu položek všech alternativních klíčů v aktuálním modelu.


AlterKeyItems

function AlterKeyItems(index:integer):IDispatch;

Vrací rozhraní na položku alternativního klíče podle pořadí. Pořadí je od 0 do Model.CountAlterKeyItems-1. Pracuje se s ní podobně jako s IndexItems.


Model.CountUserRoles

Model	Příbuzné

Vrací počet uživatelských rolí v modelu.

property CountUserRoles: Integer; readonly;

Popis

Použíjte vlastnost CountUserRoles, k získání celkového počtu uživatelských rolí definovaných k aktuálnímu modelu.


UserRoles

function UserRoles(index:integer):IDispatch;

Vrací rozhraní na databázovou uživatelskou roli podle pořadí. Pořadí je od 0 do Model.CountUserRoles-1.


Model.CountUserPermiss

Model	Příbuzné

Vrací počet uživatelských práv v modelu.

property CountUserPermiss: Integer; readonly;

Popis

Použíjte vlastnost CountUserPermiss, k získání celkového počtu definovaných databázových uživatelských práv v aktuálním ER modelu.

Poznámka

Uživatelské práva můžou být, dle možností používané databáze, definované k entitě, proceduře, triggeru anebo pohledu. Seznam uživatelských práv definuje vztah mezi uživatelem nebo uživatelskou rolí a daným objektem.


UserPermiss

function UserPermiss(index:integer):IDispatch;

Vrací rozhraní na databázové uživatelské právo podle pořadí. Pořadí je od 0 do Model.CountUserPermiss-1.


Model.CountUsers

Model	Příbuzné

Vrací počet databázových uživatelů v modelu.

property CountUsers: Integer; readonly;

Popis

Použíjte vlastnost CountUsers, k získání celkového počtu definovaných databázových uživatelů v aktuálním ER modelu.


Users

function Users(index:integer):IDispatch;

Vrací rozhraní na databázového uživatele podle pořadí. Pořadí je od 0 do Model.CountUsers-1.


Model.CountUserRoleUsers

Model	Příbuzné

Vrací počet definovaných vztahů uživatelů k uživatelským rolím v modelu.

property CountUserRoleUsers: Integer; readonly;

Popis

Použíjte vlastnost CountUserRoleUsers, k získání celkového počtu definovaných vztahů databázových uživatelů k uživatelským rolím v aktuálním ER modelu.

Poznámka

Každému uživateli lze přiřadit libovolný počet rolí, které mu umožňují získat různé práva k určitým objektům. Pokud nadefinujete například ve vašem modelu čtyři uživatelé a každému z nich přiřadíte dvě role, tak Vám vrátí metoda CountUserRoleUsers hodnotu osm.


UserRoleUsers

function UserRoleUsers(index:integer):IDispatch;

Vrací rozhraní na UserRoleUsers podle pořadí. Pořadí je od 0 do Model.CountUserRoleUsers.


Model.Created

Model	Příbuzné

Vrací datum vytvoření modelu.

property Created: TDataTime; readonly;

Popis

Použíjte vlastnost Created, k získání data vytvoření modelu. V modelu naleznete tuto informaci například na razítku. Návratová hodnota je typu Double.


Model.Modified

Model	Příbuzné

Vrací datum poslední modifikace modelu.

property Modified: TDataTime; readonly;

Popis

Použíjte vlastnost Modified, k získání data poslední modifikace modelu. V modelu naleznete tuto informaci například na razítku. Datum se mění automaticky při uložení modelu. Návratová hodnota je typu Double.


Model.CountProcesses

Model	Příbuzné

Vrací počet procesů v modelu.

property CountProcesses: Integer; readonly;

Popis

Použíjte vlastnost CountProcesses, k získání počtu všech procesů v aktuálním modelu. Do výsledků jsou zahrnuté procesy všech úrovní.


Process

function Process(index:integer):IDispatch;

Vrací rozhraní na proces v DFD podle pořadí. Pořadí je od 0 do Model.CountProcess-1.


Model.CountDataStores

Model	Příbuzné

Vrací počet datastorů v modelu.

property CountDataStores: Integer; readonly;

Popis

Použíjte vlastnost CountDataStores, k získání počtu všech datastorů v aktuálním modelu. Do výsledků jsou zahrnuté datastory procesů všech úrovní.

Poznámka

Pokud se jeden a tentýž datastore vyskytuje v několika úrovních modelu, tak se každý jednotlivý vnořený datastore započítá do výsledků. Tzn. pokud máte v modelu jeden datastore, který je až ve třetí úrovní procesu, tak vám metoda CountDataStores jako výsledek vrátí hodnotu tři.


DataStores

function DataStored(index:integer):IDispatch;

Vrací rozhraní na datastore v DFD podle pořadí. Pořadí je od 0 do Model.CountDataStores-1.


Model.CountTerminators

Model	Příbuzné

Vrací počet terminátorů v modelu.

property CountTerminators: Integer; readonly;

Popis

Použíjte vlastnost CountTerminators, k získání počtu všech terminátoru v aktuálním modelu. Do výsledků jsou zahrnuté terminátory z procesů všech úrovní.

Poznámka

Pokud se jeden a tentýž terminátor vyskytuje v několika úrovních modelu, tak se každý jednotlivý vnořený terminátor započítá do výsledků. Tzn. pokud máte v modelu jeden terminátor, který je až ve třetí úrovní procesu, tak vám metoda CountTerminators jako výsledek vrátí hodnotu tři.


Terminators

function Terminators(index:integer):IDispatch;

Vrací rozhraní na terminátor z DFD podle pořadí. Pořadí je od 0 do Model.CountTerminators-1.


Model.CountDataFlows

Model	Příbuzné

Vrací počet datových toků v modelu.

property CountDataFlows: Integer; readonly;

Popis

Použíjte vlastnost CountDataFlows, k získání počtu všech datových toků v aktuálním modelu. Do výsledků jsou zahrnuté  datové toky procesů všech úrovní.

Poznámka

Pokud se jeden a tentýž datový tok vyskytuje v několika úrovních modelu, tak se každý jednotlivý vnořený datový tok započítá do výsledků. Tzn. pokud máte v modelu jeden datový tok, který je až ve třetí úrovní procesu, tak vám metoda CountDataFlows jako výsledek vrátí hodnotu tři.


DataFlows

function DataFlows(index:integer):IDispatch; readonly;

Vrací rozhraní na datový tok v DFD podle pořadí. Pořadí je od 0 do Model.CountDataFlows-1.


ReadOnly

property ReadOnly:boolean;

Určuje, zda je zakázáno zapisovat do klíčových údajů v modelu přes TLB knihovnu. Implicitní hodnota je true.


Model.CountSystemTemplates

Hierarchie      Model	Příbuzné

Vrací počet systémových šablon.

property CountSystemTemplates: Integer; readonly;

Popis

Použíjte vlastnost CountSystemTemplates, k získání počtu systémových šablon, které jsou nezávislé na modelu nebo databází v systému k dispozici.

Poznámka

Do seznamu se počítají systémové šablony ze všech dostupných kategorií (HTML,RTF,...). Tyto šablony jsou určené pouze ke čtení.


SystemTemplates


Model.CountDatabaseTemplates

Hierarchie      Model	Příbuzné

Vrací počet databázových šablon.

property CountDatabseTemplates: Integer; readonly;

Popis

Použíjte vlastnost CountDatabaseTemplates, k získání počtu systémových databázových šablon pro aktuální databází.

Poznámka

Do seznamu se počítají systémové databázové šablony ze všech dostupných kategorií (HTML,RTF,...). Tyto šablony jsou pouze ke čtení.


Model.CountUDFDatabaseTemplates

Hierarchie      Model	Příbuzné

Vrací počet uživatelských databázových šablon.

property CountUDFDatabseTemplates: Integer; readonly;

Popis

Použíjte vlastnost CountUDFDatabaseTemplates, k získání počtu uživatelsých systémových databázových šablon pro aktuální databází.

Poznámka

Do seznamu se počítají uživatelské systémové databázové šablony ze všech dostupných kategorií (HTML,RTF,...).


Model.CountUDFSystemTemplates

Hierarchie      Model	Příbuzné

Vrací počet uživatelských systémových šablon.

property CountUDFSystemTemplates: Integer; readonly;

Popis

Použíjte vlastnost CountUDFSystemTemplates, k získání počtu uživatelských systémových šablon, které jsou nezávislé na modelu nebo databází v systému k dispozici.

Poznámka

Do seznamu se počítají uživatelské systémové šablony ze všech dostupných kategorií (HTML,RTF,...).


Model.CountModelTemplates

Hierarchie      Model	Příbuzné

Vrací počet uživatelských šablon k modelu.

property CountModelTemplates: Integer; readonly;

Popis

Použíjte vlastnost CountModelTemplates, k získání počtu uživatelských šablon, které jsou definované pouze k aktuálnímu modelu.

Poznámka

Do seznamu se počítají šablony ze všech dostupných kategorií (HTML,RTF,...). Návratová hodnota obsahuje všechny uživatelské šablony k modelu, tzn. i šablony definované k entitě.


Kombinace MS Scriptu a šablon

V CASE Studio můžete s úspěchem kombinovat šablony fungující podle staré koncepce se šablonami napsanými ve skriptovacích jazycích. Můžete z klasické šablony volat proceduru nebo funkci umístěnou v šaloně napsané ve skriptovacím jazyku. Naopak ne.

Používají se k tomu procedury:

Script(TemplateName);

V šabloně TemplateName spustí proceduru Main.

ScriptProc(TemplateName,ProcName,[par1,par2...]);

V šabloně TemplateName spustí procedure ProcName s parametry par1,par2 ....

Příklad:

Šablona CreateDatabase

@ForTable("","",ScriptProc(scr1,proc1,Table.Id),"","")

Projde všechny tabulky v modelu, a pro každou vyvolá proceduru proc1, jako parametr použije ID entity.

Pozn: ID použije, protože šablony neumí pracovat s proměnnými typu rozhraní.

Šablona scr1

function proc1(x)

{

s = '';

e = Model.GetEntity(x);	// Podle ID získá rozhraní na entitu.

s = 'Create table ' + e.TableName + '(';

c = e.CountAttributes;	// do c počet atributů v entitě

// kvůli rychlosti

for (i=0; i < c; i++)	// prochází všechny atributy v entitě

{

a = e.Attributes(i);

s = s + '\n' + a.ColName + ' ' + a.SQLDataType;

if (i+1 != c)	// pokud to není poslední atribut

   {

   s = s +',';	// přidá za něho čárku

   }

}

s = s + '\n)\n\n';

return (s);

}

Výsledek funkce return (s) se připojí na konec výstupního textového souboru.


Optimalizace

Několik zásad pro lepší práci MS Scriptu. Příklady označené jako špatné jsou plně funkční, ale neefektivní.

1. Pokud např. v entitě zjišťujete počet atributů, a tuto hodnotu použijete vícekrát, uložte si ji do proměnné.

Správně

c = ent.CountAttributes;

for (i=0; i<c; i++)

{

if (i+1 = c)

{

}

}

Špatně

for (i=0; i<ent.CountAttributes; i++)

{

if (i+1 = ent.CountAttributes)

{

}

}

Vysvětlení: Entita nevlastní atributy, atributy vlastní model. Pokud se ve scriptu zeptáte entity, kolik má atributů, entita se zeptá modelu, kolik je atributů s EntityID = Ent.Id. Což je samozřejme velmi neefektivní. Toto platí pro všechny seznamy v entitě, indexu a alternativním klíči.

2. Pokud např. přístupujete k rozhraní atributu přes entitu, a rozhraní téhož atributu použijete vícekrát, uložte si rozhraní do proměnné.

Správně

a = ent.Attributes(i);

s = a.ColName + ' ' + a.SQLDataType;

Špatně

s = ent.Attributes(i).ColName + ' ' + ent.Attributes(i).SQLDataType;

Vysvětlení: Podobně jako u bodu 1, v případě požadavku na ent.Attributes(i) se entita dotazuje modelu, a ten opět prochází všechny atributy, a vratí rozhraní na i-ty atribut s EntityID = Ent.Id, což je opět nefektivní.

3. Pokud opakovaně voláme funkci z jiné šablony (např. ve smyčce), uložíme si rozhraní na jinou šablonu do proměnné.

Správně

t = Scripting.Modul1;

for (i=0; i<1000; i++)

{

t.Show();

(

Špatně

for (i=0; i<1000; i++)

{

Scripting.Modul1.Show();

}

Vysvětlení: Při uložení rozhraní šablony do proměnné se šablona nemusí opakovaně vyhledávat v seznamu šablon. (Ve skutečnosti se vyhledává jenom při prvním použití, pak se uloží do poolu a při dalších použítích se vyhledává tam, ale i tak je rychlejsí použít rozhraní uložené v proměnné).


Vyvolání procedury nebo funkce z jiné šablony

Pokud chcete z jedné šablony se skriptovacím jazykem zavolat funkci nebo proceduru z jiné šablony, použijte k tomu

Scripting.<TemplateName>.<ProcName(par1,par2,par3,...)>

př:

Pokud chcete ze šablony MyTools zavolat funkce DPH, napište to takto:

s = Scripting.MyTools.DPH(x,22);

Při volání funkcí a procedur v šablonách se nemusíte starat, ve kterém skriptovacím jazyce je volaná šablona napsaná, systém se sám postará o správnou funkci. Proto můžete např. ze šablony napsané v JScriptu volat funkce umístěné šabloně napsané ve VBScriptu.


Case sensitive

Citlivost na velká a malá písmena závisí na možnostech instalovaných skriptovacích jazyků. Např. JScript je case sensitive, VBScript je case insensitive. Výjimkou jsou názvy metod a properties v rozhraních, ty jsou vždy case insensitive.


Skriptovací jazyky od třetích firem
TerminatorsSkriptovací jazyky od třetích firem

MS Scripting umožňuje kromě JScriptu a VBScriptu používat i skriptovací jazyky od třetích firem.

Př.

Pokud chcete v CASE Studiu používat např. Perl, musíte

1. Stáhněte si z http://www.activestate.com podporu Perlu pro MS Windows, a nainstalujte ji.

2. Najděte na disku soubor ScriptList.ini  (je v adresáří bin), a opravte ho, třeba takto:

 [ScriptList]

;1 = JScript

;2 = VBScript

3 = PerlScript

101 = OtherScript

První 2 řádky nechte zakomentářované, JScript a VBScript jsou definované přímo v systému. Perl od ActiveState má vyhrazeno číslo 3. Pokud  chcete použít jiný skriptovací jazyk, použíjte jako identifikátor číslo větší než 100. Čísla menší než 100 smějí použít jen autoři programu.