method Parameters.Add (Name as String, [Value as Variant])
Adds a Parameter object to the collection and returns a reference to the newly created object.

TypeDescription
Name as String A String expression that indicates the name of the parameter to be added.
Value as Variant A VARIANT expression that specifies the value of the parameter to be added.
ReturnDescription
ParameterA Parameter object being added.
The Add method adds a new parameter to the current property. The Name property specifies the name of the parameter. The Value property specifies the value of the parameter. The control fires the AddParameter event once a new parameter is added, if the control's FireEvents property is True.

The following is a simple example of an iCalendar format:

BEGIN:VCALENDAR
BEGIN:VEVENT
SUMMARY;LANGUAGE=en-US:Company Holiday Party
DATE:20010101
END:VEVENT
END:VCALENDAR

The LANGUAGE indicates the name of the parameter, of the property SUMMARY.

The following samples show how you can add parameters to a property.

VBA (MS Access, Excell...)

Set ICalendar1 = CreateObject("Exontrol.ICalendar.1")
With ICalendar1
	With .Content.Components.Add("VCALENDAR")
		With .Components.Add("VEVENT").Properties
			.Add("SUMMARY","Company Holiday Party").Parameters.Add "LANGUAGE","en-US"
			.Add "DATE",#1/1/2001#
		End With
	End With
	Debug.Print( .Save )
End With

VB6

Set ICalendar1 = CreateObject("Exontrol.ICalendar.1")
With ICalendar1
	With .Content.Components.Add("VCALENDAR")
		With .Components.Add("VEVENT").Properties
			.Add("SUMMARY","Company Holiday Party").Parameters.Add "LANGUAGE","en-US"
			.Add "DATE",#1/1/2001#
		End With
	End With
	Debug.Print( .Save )
End With

VB.NET

' Add 'exontrol.exicalendar.dll(ExICalendar.dll)' reference to your project.
Exicalendar1 = New exontrol.EXICALENDARLib.exicalendar()
With Exicalendar1
	With .Content.Components.Add("VCALENDAR")
		With .Components.Add("VEVENT").Properties
			.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
			.Add("DATE",#1/1/2001#)
		End With
	End With
	Debug.Print( .Save() )
End With

VB.NET for /COM

AxICalendar1 = CreateObject("Exontrol.ICalendar.1")
With AxICalendar1
	With .Content.Components.Add("VCALENDAR")
		With .Components.Add("VEVENT").Properties
			.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
			.Add("DATE",#1/1/2001#)
		End With
	End With
	Debug.Print( .Save() )
End With

C++

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXICALENDARLib' for the library: 'ICalendar 1.0 Type Library'

	#import <ExICalendar.dll>
	using namespace EXICALENDARLib;
*/
EXICALENDARLib::IICalendarPtr spICalendar1 = ::CreateObject(L"Exontrol.ICalendar.1");
EXICALENDARLib::IComponentPtr var_Component = spICalendar1->GetContent()->GetComponents()->Add(L"VCALENDAR");
	EXICALENDARLib::IPropertiesPtr var_Properties = var_Component->GetComponents()->Add(L"VEVENT")->GetProperties();
		var_Properties->Add(L"SUMMARY","Company Holiday Party")->GetParameters()->Add(L"LANGUAGE","en-US");
		var_Properties->Add(L"DATE",COleDateTime(2001,1,1,0,00,00).operator DATE());
OutputDebugStringW( spICalendar1->Save() );

C++ Builder

Exicalendarlib_tlb::IICalendarPtr ICalendar1 = Variant::CreateObject(L"Exontrol.ICalendar.1");
Exicalendarlib_tlb::IComponentPtr var_Component = ICalendar1->Content->Components->Add(L"VCALENDAR");
	Exicalendarlib_tlb::IPropertiesPtr var_Properties = var_Component->Components->Add(L"VEVENT")->Properties;
		var_Properties->Add(L"SUMMARY",TVariant("Company Holiday Party"))->Parameters->Add(L"LANGUAGE",TVariant("en-US"));
		var_Properties->Add(L"DATE",TVariant(TDateTime(2001,1,1).operator double()));
OutputDebugString( ICalendar1->Save() );

C#

// Add 'exontrol.exicalendar.dll(ExICalendar.dll)' reference to your project.
exontrol.EXICALENDARLib.exicalendar exicalendar1 = new exontrol.EXICALENDARLib.exicalendar();
exontrol.EXICALENDARLib.Component var_Component = exicalendar1.Content.Components.Add("VCALENDAR");
	exontrol.EXICALENDARLib.Properties var_Properties = var_Component.Components.Add("VEVENT").Properties;
		var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US");
		var_Properties.Add("DATE",Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
System.Diagnostics.Debug.Print( exicalendar1.Save() );

JScript/JavaScript

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="JScript">
function Init()
{
	var var_Component = ICalendar1.Content.Components.Add("VCALENDAR");
		var var_Properties = var_Component.Components.Add("VEVENT").Properties;
			var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US");
			var_Properties.Add("DATE","1/1/2001");
	alert( ICalendar1.Save() );
}
</SCRIPT>
</BODY>

VBScript

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			With .Components.Add("VEVENT").Properties
				.Add("SUMMARY","Company Holiday Party").Parameters.Add "LANGUAGE","en-US"
				.Add "DATE",#1/1/2001#
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

C# for /COM

EXICALENDARLib.ICalendar axICalendar1 = new EXICALENDARLib.ICalendar();
EXICALENDARLib.Component var_Component = axICalendar1.Content.Components.Add("VCALENDAR");
	EXICALENDARLib.Properties var_Properties = var_Component.Components.Add("VEVENT").Properties;
		var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US");
		var_Properties.Add("DATE",Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
System.Diagnostics.Debug.Print( axICalendar1.Save() );

X++ (Dynamics Ax 2009)

public void init()
{
	COM com_Component,com_Component1,com_Components,com_Parameters,com_Properties,com_Property,com_exicalendar1;
	anytype exicalendar1,var_Component,var_Component1,var_Components,var_Parameters,var_Properties,var_Property;
	;

	super();

	// Add 'exicalendar.dll(ExICalendar.dll)' reference to your project.
	exicalendar1 = COM::createFromObject(new EXICALENDARLib.exicalendar()); com_exicalendar1 = exicalendar1;
	var_Component = COM::createFromObject(com_exicalendar1.Content().Components()).Add("VCALENDAR"); com_Component = var_Component;
		var_Components = COM::createFromObject(com_Component.Components()); com_Components = var_Components;
		var_Component1 = COM::createFromObject(com_Components).Add("VEVENT"); com_Component1 = var_Component1;
		var_Properties = com_Component1.Properties(); com_Properties = var_Properties;
			var_Property = COM::createFromObject(com_Properties.Add("SUMMARY","Company Holiday Party")); com_Property = var_Property;
			var_Parameters = COM::createFromObject(com_Property).Parameters(); com_Parameters = var_Parameters;
			com_Parameters.Add("LANGUAGE","en-US");
			com_Properties.Add("DATE",COMVariant::createFromDate(str2Date("1/1/2001",213)));
	print( com_exicalendar1.Save() );
}

Delphi 8 (.NET only)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
	with Content.Components.Add('VCALENDAR') do
	begin
		with Components.Add('VEVENT').Properties do
		begin
			Add('SUMMARY','Company Holiday Party').Parameters.Add('LANGUAGE','en-US');
			Add('DATE','1/1/2001');
		end;
	end;
	OutputDebugString( Save() );
end

Delphi (standard)

ICalendar1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1'))) as EXICALENDARLib_TLB.ICalendar);
with ICalendar1 do
begin
	with Content.Components.Add('VCALENDAR') do
	begin
		with Components.Add('VEVENT').Properties do
		begin
			Add('SUMMARY','Company Holiday Party').Parameters.Add('LANGUAGE','en-US');
			Add('DATE','1/1/2001');
		end;
	end;
	OutputDebugString( Save() );
end

VFP

thisform.ICalendar1 = CreateObject("Exontrol.ICalendar.1")
with thisform.ICalendar1
	with .Content.Components.Add("VCALENDAR")
		with .Components.Add("VEVENT").Properties
			.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
			.Add("DATE",{^2001-1-1})
		endwith
	endwith
	DEBUGOUT( .Save )
endwith

dBASE Plus

local oICalendar,var_Component,var_Properties

oICalendar = new OleAutoClient("Exontrol.ICalendar.1")

var_Component = oICalendar.Content.Components.Add("VCALENDAR")
	var_Properties = var_Component.Components.Add("VEVENT").Properties
		var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
		var_Properties.Add("DATE","01/01/2001")
? oICalendar.Save() 

XBasic (Alpha Five)

Dim oICalendar as P
Dim var_Component as P
Dim var_Properties as P

oICalendar = OLE.Create("Exontrol.ICalendar.1")

var_Component = oICalendar.Content.Components.Add("VCALENDAR")
	var_Properties = var_Component.Components.Add("VEVENT").Properties
		var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
		var_Properties.Add("DATE",{01/01/2001})
? oICalendar.Save() 

Visual Objects

local var_Component as IComponent
local var_Properties as IProperties

oDCOCX_Exontrol1 := IICalendar{"Exontrol.ICalendar.1"}
var_Component := oDCOCX_Exontrol1:Content:Components:Add("VCALENDAR")
	var_Properties := var_Component:Components:Add("VEVENT"):Properties
		var_Properties:Add("SUMMARY","Company Holiday Party"):Parameters:Add("LANGUAGE","en-US")
		var_Properties:Add("DATE",SToD("20010101"))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:Save() ))

PowerBuilder

OleObject oICalendar,var_Component,var_Properties

oICalendar = CREATE OLEObject
oICalendar.ConnectToNewObject("Exontrol.ICalendar.1")

var_Component = oICalendar.Content.Components.Add("VCALENDAR")
	var_Properties = var_Component.Components.Add("VEVENT").Properties
		var_Properties.Add("SUMMARY","Company Holiday Party").Parameters.Add("LANGUAGE","en-US")
		var_Properties.Add("DATE",2001-01-01)
MessageBox("Information",string( oICalendar.Save() ))

Visual DataFlex

Procedure OnCreate
	Forward Send OnCreate
	Variant oComICalendar1
	Get ComCreateObject "Exontrol.ICalendar.1" to oComICalendar1

	Variant voComponent
	Get ComContent to voComponent
	Handle hoComponent
	Get Create (RefClass(cComComponent)) to hoComponent
	Set pvComObject of hoComponent to voComponent
		Variant voComponents
		Get ComComponents of hoComponent to voComponents
		Handle hoComponents
		Get Create (RefClass(cComComponents)) to hoComponents
		Set pvComObject of hoComponents to voComponents
			Variant voComponent1
			Get ComAdd of hoComponents "VCALENDAR" to voComponent1
			Handle hoComponent1
			Get Create (RefClass(cComComponent)) to hoComponent1
			Set pvComObject of hoComponent1 to voComponent1
				Variant voComponents1
				Get ComComponents of hoComponent1 to voComponents1
				Handle hoComponents1
				Get Create (RefClass(cComComponents)) to hoComponents1
				Set pvComObject of hoComponents1 to voComponents1
					Variant voComponent2
					Get ComAdd of hoComponents1 "VEVENT" to voComponent2
					Handle hoComponent2
					Get Create (RefClass(cComComponent)) to hoComponent2
					Set pvComObject of hoComponent2 to voComponent2
						Variant voProperties
						Get ComProperties of hoComponent2 to voProperties
						Handle hoProperties
						Get Create (RefClass(cComProperties)) to hoProperties
						Set pvComObject of hoProperties to voProperties
							Variant voProperty
							Get ComAdd of hoProperties "SUMMARY" "Company Holiday Party" to voProperty
							Handle hoProperty
							Get Create (RefClass(cComProperty)) to hoProperty
							Set pvComObject of hoProperty to voProperty
								Variant voParameters
								Get ComParameters of hoProperty to voParameters
								Handle hoParameters
								Get Create (RefClass(cComParameters)) to hoParameters
								Set pvComObject of hoParameters to voParameters
									Get ComAdd of hoParameters "LANGUAGE" "en-US" to Nothing
								Send Destroy to hoParameters
							Send Destroy to hoProperty
							Get ComAdd of hoProperties "DATE" "1/1/2001" to Nothing
						Send Destroy to hoProperties
					Send Destroy to hoComponent2
				Send Destroy to hoComponents1
			Send Destroy to hoComponent1
		Send Destroy to hoComponents
	Send Destroy to hoComponent
	Showln (ComSave(Self))
End_Procedure

XBase++

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oICalendar
	LOCAL oComponent
	LOCAL oProperties

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oICalendar := XbpActiveXControl():new( oForm:drawingArea )
	oICalendar:CLSID  := "Exontrol.ICalendar.1" /*{D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6}*/
	oICalendar:create(,, {10,60},{610,370} )

		oComponent := oICalendar:Content():Components():Add("VCALENDAR")
			oProperties := oComponent:Components():Add("VEVENT"):Properties()
				oProperties:Add("SUMMARY","Company Holiday Party"):Parameters():Add("LANGUAGE","en-US")
				oProperties:Add("DATE","01/01/2001")
		DevOut( oICalendar:Save() )

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN