Aspose::Words::Fields::FieldCompare class
Contents
[
Hide
]FieldCompare class
Implements the COMPARE field. To learn more, visit the Working with Fields documentation article.
class FieldCompare : public Aspose::Words::Fields::Field
Methods
Method | Description |
---|---|
get_ComparisonOperator() | Gets or sets the comparison operator. |
get_DisplayResult() | Gets the text that represents the displayed field result. |
get_End() const | Gets the node that represents the field end. |
get_FieldEnd() const | Gets the node that represents the field end. |
get_FieldStart() const | Gets the node that represents the start of the field. |
get_Format() | Gets a FieldFormat object that provides typed access to field’s formatting. |
get_IsDirty() | Gets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
get_IsLocked() | Gets or sets whether the field is locked (should not recalculate its result). |
get_LeftExpression() | Gets or sets the left part of the comparison expression. |
get_LocaleId() | Gets or sets the LCID of the field. |
get_Result() | Gets or sets text that is between the field separator and field end. |
get_RightExpression() | Gets or sets the right part of the comparison expression. |
get_Separator() | Gets the node that represents the field separator. Can be null. |
get_Start() const | Gets the node that represents the start of the field. |
virtual get_Type() const | Gets the Microsoft Word field type. |
GetFieldCode() | Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. |
GetFieldCode(bool) | Returns text between field start and field separator (or field end if there is no separator). |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
Remove() | Removes the field from the document. Returns a node right after the field. If the field’s end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null. |
set_ComparisonOperator(const System::String&) | Setter for Aspose::Words::Fields::FieldCompare::get_ComparisonOperator. |
set_IsDirty(bool) | Sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
set_IsLocked(bool) | Setter for Aspose::Words::Fields::Field::get_IsLocked. |
set_LeftExpression(const System::String&) | Setter for Aspose::Words::Fields::FieldCompare::get_LeftExpression. |
set_LocaleId(int32_t) | Setter for Aspose::Words::Fields::Field::get_LocaleId. |
set_Result(const System::String&) | Setter for Aspose::Words::Fields::Field::get_Result. |
set_RightExpression(const System::String&) | Setter for Aspose::Words::Fields::FieldCompare::get_RightExpression. |
static Type() | |
Unlink() | Performs the field unlink. |
Update() | Performs the field update. Throws if the field is being updated already. |
Update(bool) | Performs a field update. Throws if the field is being updated already. |
Examples
Shows how to compare expressions using a COMPARE field.
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
auto field = System::ExplicitCast<FieldCompare>(builder->InsertField(FieldType::FieldCompare, true));
field->set_LeftExpression(u"3");
field->set_ComparisonOperator(u"<");
field->set_RightExpression(u"2");
field->Update();
// The COMPARE field displays a "0" or a "1", depending on its statement's truth.
// The result of this statement is false so that this field will display a "0".
ASSERT_EQ(u" COMPARE 3 < 2", field->GetFieldCode());
ASSERT_EQ(u"0", field->get_Result());
builder->Writeln();
field = System::ExplicitCast<FieldCompare>(builder->InsertField(FieldType::FieldCompare, true));
field->set_LeftExpression(u"5");
field->set_ComparisonOperator(u"=");
field->set_RightExpression(u"2 + 3");
field->Update();
// This field displays a "1" since the statement is true.
ASSERT_EQ(u" COMPARE 5 = \"2 + 3\"", field->GetFieldCode());
ASSERT_EQ(u"1", field->get_Result());
doc->UpdateFields();
doc->Save(ArtifactsDir + u"Field.COMPARE.docx");
See Also
- Class Field
- Namespace Aspose::Words::Fields
- Library Aspose.Words for C++