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 |
Funktionen und Methoden | |
---|---|
AssignTo | Element komplett auf ein anderes Element kopieren |
Assign | Element komplett von einem anderen Element kopieren |
InitCbParam | Haupt-Element initialisieren, entspricht InitParamType("Complex") |
InitParamType | Typ des Haupt-Elements setzen |
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 |
IsSameParam:L | prüfen ob das Element identisch ist |
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 |
AddComplexParam:O | Element vom Typ "Complex" hinzufügen |
AddArrayParam:O | Element vom Typ "Array" hinzufügen |
DeleteParam | Element löschen |
DeleteAllParams | Alle Unter-Elemente löschen |
Param:O | Zugriff auf ein Unter-Element mit diesem Namen. |
ParamValue:U | Zugriff auf den Wert eines Unter-Elements. |
ParamValueDef:U | Zugriff auf den Wert eines Unter-Elements. |
ParamName:C | Name eines Unter-Elements über den Index ermitteln |
CbCopyTo | Alle Einstellungen und Unter-Elemente kopieren |
CbToJSONString:C | Ausgabe als JSON-Formatierter Text |
CbToJSONStringIndent:C | Ausgabe als JSON-Formatierter Text mit Einzügen |
Beispiel
//******************************************************************************
//******************************************************************************
// 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
- TBeasCustomServiceParamItem
- TBeasSimpleServiceParamItem
- TBeasComplexServiceParamItem
- TBeasArrayServiceParamItem