Skip to main content
Skip table of contents

TBeasCustomCbServiceParam

TBeasCustomCbServiceParam

Diese Klasse stellt die Basis-Klasse für den Zugriff auf beas-Service-Parameter im Codeblock dar.

Eigenschaften


ParamCount:N

Anzahl der enthaltenen Unter-Elemente

ParamType:N

Typ des Haupt-Elements
0 - "Simple"
1 - "Complex"
2 - "Array"


Funktionen und Methoden


AssignTo

Element komplett auf ein anderes Element kopieren
Dest:O - TBeasCustomServiceParamItem-Objekt

Assign

Element komplett von einem anderen Element kopieren
Source:O - TBeasCustomServiceParamItem-Objekt

InitCbParam

Haupt-Element initialisieren, entspricht InitParamType("Complex")

InitParamType

Typ des Haupt-Elements setzen
aType:N - Typ siehe ParamType

Clear

Haupt-Element zurücksetzen und alle Unter-Elemente löschen

IsEmpty:L

True, falls keine Unter-Elemente vorhanden sind

ParamExists:L

prüfen ob ein Unter-Element mit diesem Namen existiert
aName:C - Name des Unter-Elements oder eine Kette aus Namen mit "." getrennt
z.b. "Element1.Element1VonElement1"

IsSameParam:L

prüfen ob das Element identisch ist
aParam:O - TBeasCustomCbServiceParam-Objekt mit welchen der Vergleich erfolgen soll

IsReadOnly:L

ReadOnly-Modus aktiv

CanChangeParams:L

Prüfung ob Unter-Elemente verändert werden dürfen

CanAddParams:L

Prüfung ob Elemente hinzugefügt werden dürfen

CanDeleteParams:L

Prüfung ob Unter-Elemente gelöscht werden dürfen

AddParam:O

Element vom Typ "Simple" hinzufügen
aName:C - Name des Elements
aValue:U - Wert des Elements

AddComplexParam:O

Element vom Typ "Complex" hinzufügen
aName:C - Name des Elements

AddArrayParam:O

Element vom Typ "Array" hinzufügen
aName:C - Name des Elements

DeleteParam

Element löschen
Existiert dieser Name nicht wird eine Exception ausgelöst.
aName:C - Name des Unter-Elements oder eine Kette aus Namen mit "." getrennt
z.b. "Element1.Element1VonElement1"

DeleteAllParams

Alle Unter-Elemente löschen

Param:O

Zugriff auf ein Unter-Element mit diesem Namen.
Existiert dieser Name nicht wird eine Exception ausgelöst.
aName:C - Name des Unter-Elements oder eine Kette aus Namen mit "." getrennt
z.b. "Element1.Element1VonElement1"

ParamValue:U

Zugriff auf den Wert eines Unter-Elements.
Existiert dieser Name nicht wird eine Exception ausgelöst.
aName:C - Name des Unter-Elements oder eine Kette aus Namen mit "." getrennt
z.b. "Element1.Element1VonElement1"

ParamValueDef:U

Zugriff auf den Wert eines Unter-Elements.
Existiert dieser Name nicht wird der Default-Wert zurück gegeben.
aName:C - Name des Unter-Elements oder eine Kette aus Namen mit "." getrennt
z.b. "Element1.Element1VonElement1"
aDefaultValue:U - Default-Wert, falls aName nicht existiert

ParamName:C

Name eines Unter-Elements über den Index ermitteln
aIndex:N - Index des Unter-Elements

CbCopyTo

Alle Einstellungen und Unter-Elemente kopieren
aServiceParam:O - TBeasCustomCbServiceParam-Objekt auf welches kopiert werden soll

CbToJSONString:C

Ausgabe als JSON-Formatierter Text

CbToJSONStringIndent:C

Ausgabe als JSON-Formatierter Text mit Einzügen

Beispiel

CODE
//******************************************************************************
//******************************************************************************
// Parameter aufbauen mit Kontakten und einem Context
// Mit diesem Parameter werden dann einige Add/Delete/usw. Funktionen ausgeführt
// und den Parameter ggf. zur Anzeige ausgegeben
//******************************************************************************
//******************************************************************************
|oParams, oContacts, oContext|

//******************************************************************************
// neuen Kontakt hinzufügen
//******************************************************************************
function AddContact(cName, nAge, cGender, aHobbies)
  |oContact, oHobbies, i|

  oContact := oContacts.AddComplexElement(''),
  oContact.AddElement('name', cName),
  oContact.AddElement('age', nAge),
  oContact.AddElement('gender', cGender),
  oHobbies := oContact.AddArrayElement('hobbies'),
  for i := 1 to ALen(aHobbies) do
     oHobbies.AddArrayValue(aHobbies[i]),
  next,
end,

//******************************************************************************
// spezielles Hobby aus allen Kontakten entfernen
//******************************************************************************
function DeleteContactHobby(cHobby)
  |oHobbies, i, j|

  for i := 0 to oContacts.ElementCount - 1 do
     oHobbies := oContacts.Element(Str(i) + '.' + 'hobbies'),
     for j := oHobbies.ElementCount - 1 downto 0 do
        if oHobbies.ElementValue(Str(j)) = cHobby then
           oHobbies.DeleteElement(Str(j)),
        endif,
     next,
  next,
end,

//*****************************************************************************<h3>
oParams := CreateObject('TBeasCbServiceOutputParam'),
oParams.InitCbParam(),
oContacts := oParams.AddArrayParam('contacts'),
oContext  := oParams.AddComplexParam('context'),

// Context befüllen
oContext.AddElement('sender', 'codeblock'),
oContext.AddElement('time', Now()),
oContext.AddElement('showjson', True),  // hiermit wird die Ausgabe gesteuert

// Kontakte hinzufügen
AddContact('Karl',    27, 'm', {'Fußball', 'Handball'}),
AddContact('Osmana',  43, 'w', {'Essen', 'Lesen'}),
AddContact('Phillip', 19, 'm', {'Fußball', 'Basketball', 'Kino'}),
AddContact('Swenja',  33, 'w', {'Schwimmen', 'Tanzen'}),
AddContact('Patrik',  57, 'm', {'Formel1'}),

if oParams.ParamValueDef('context.showjson', False) then
   writeln('--- Parameter ---'),
   writeln(oParams.CbToJSONStringIndent()),
endif,

// alle Hobbies "Fußball" entfernen
DeleteContactHobby('Fußball'),
if oParams.ParamValueDef('context.showjson', False) then
   writeln('--- Hobbie Fußball entfernt ---'),
   writeln(oParams.CbToJSONStringIndent()),
endif,

// Kontext "sender" entfernen
oContext.DeleteElement('sender'),
if oParams.ParamValueDef('context.showjson', False) then
   writeln('--- Kontext sender entfernt ---'),
   writeln(oParams.CbToJSONStringIndent()),
endif,

// alle Kontakte entfernen
oContacts.DeleteAllElements(),
if oParams.ParamValueDef('context.showjson', False) then
   writeln('--- Kontakte entfernt ---'),
   writeln(oParams.CbToJSONStringIndent()),
endif,

// Kontakt-Parameter komplett zurücksetzen
oContacts.Clear(),  // hier wird auch der Name des Elements entfernt!
if oParams.ParamValueDef('context.showjson', False) then
   writeln('--- Kontakte entfernt ---'),
   writeln(oParams.CbToJSONStringIndent()),
endif,

Weitere Verknüpfungen


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.