1245 lines
80 KiB
HTML
1245 lines
80 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<title>Using Basic Search Syntax Example (C#)</title>
|
|
<meta http-equiv="Content-Language" content="en-us">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
|
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
|
|
<style type="text/css">
|
|
.auto-style2 {
|
|
font-size: x-small;
|
|
}
|
|
</style>
|
|
</head>
|
|
<meta name=MS-HKWD content="C# examples,search syntax">
|
|
|
|
<body>
|
|
<h1><span style="font-weight: normal; font-size: 7.5pt;">SOLIDWORKS PDM Professional API Help</span></h1>
|
|
<h1>Using Basic Search Syntax Example (C#)</h1>
|
|
<p><a name="Top"></a>This example shows how to search the vault for file and
|
|
folder card variables using CreateSearch2 search syntax.</p>
|
|
<p><b>NOTE</b>: If using the primary interop assembly
|
|
provided with SOLIDWORKS PDM Professional, see
|
|
<a href="Using_NET_Framework_in_Applications.htm">Using .NET Framework 4.0 in
|
|
Stand-alone Applications</a>.</p>
|
|
|
|
<p class=APICODE><font face="Courier New"><font color="#008000">
|
|
//----------------------------------------------------------------------------<br>
|
|
// Preconditions:<br>
|
|
// 1. Start Microsoft Visual Studio.<br>
|
|
// a. Click <b>File > New > Project > Visual C# >
|
|
Console Application</b>.<br>
|
|
// b. Type Search in <b>Name</b>.<br>
|
|
// c. Click <b>Browse</b> and navigate to the folder where to
|
|
create the project.<br>
|
|
// d. Click <b>OK</b>. <br>
|
|
// e. Click S<b>how All Files</b> in the Solution Explorer
|
|
toolbar and expand <br>
|
|
// <b> Program.cs</b> in the Solution Explorer.<br>
|
|
// f. Replace the code in <strong>Program</strong><b>.cs</b>
|
|
with <a href="#Form1">this code</a>.<br>
|
|
// 2. Add <b>EPDM.Interop.epdm.dll</b> as a reference (right-</font><font size="2"><span style="COLOR: green">click</span></font><font color="#008000">
|
|
the project<br>
|
|
// name in the Solution Explorer, click <b>Add Reference</b>,
|
|
click <br>
|
|
// <b> Assemblies > Framework</b> in the left-side panel, browse to
|
|
the top folder of <br>
|
|
// your SOLIDWORKS PDM Professional installation, locate and
|
|
select <br>
|
|
// <b> EPDM.Interop.epdm.dll</b>, click <b>Open</b>, click <b>Add,</b>
|
|
and click <b>Close</b>).<br>// 3. Change the vault name and the vault view path
|
|
in the code.<br>// 4. <font size="1" class="auto-style2">
|
|
<span style="COLOR: green"><font color="#008000" face="Courier New"> Make sure
|
|
your vault contains a text file data card with a Document Number data card variable,<br>// and checked-in files with data card values exactly as described in the code.</font></span></font><br>
|
|
// 5. Click <b>Debug > Start Debugging</b> or press F5.<br>
|
|
//<br>
|
|
// Postconditions: Press a key when prompted in the console.<br>
|
|
//----------------------------------------------------------------------------</font></font></p>
|
|
<p class="APICODE"><font face="Courier New" color="#008000">
|
|
<a name="Form1"></a></font><font face="Courier New" color="#008000">
|
|
//Program.cs</font></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
System;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
System.Collections.Generic;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
System.Linq;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
System.Text;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
System.Threading.Tasks;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">using</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
EPDM.Interop.epdm;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">namespace</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
ConsoleApp1<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">class</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> </span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:#2B91AF">Program</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>
|
|
</span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">static</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> </span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">void</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> Main(</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">[]
|
|
args)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>
|
|
{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Press
|
|
a key..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.ReadKey();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>IEdmVault21 CurrentVault = </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
new</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
EdmVault5() </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">as</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
IEdmVault21;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>CurrentVault.LoginAuto(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"JEB5"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">,
|
|
0);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// The vault contains these
|
|
files:<span style="mso-spacerun:yes">
|
|
</span>The file data cards contain these variables and values:</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// DocNum=five-six-seven
|
|
Comnt=ijk.txt<span style="mso-spacerun:yes">
|
|
</span>@Document Number=567 & @Comment=ijk</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// DocNum=five-six-seven
|
|
Comnt=xyz.txt<span style="mso-spacerun:yes">
|
|
</span>@Document Number=567 & @Comment=xyz</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span></span><span style="font-size:10.0pt;font-family:"Courier New";color:green">//
|
|
DocNum=one-two-three Comnt=abc.txt<span style="mso-spacerun:yes">
|
|
</span>@Document Number=123 & @Comment=abc</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>IEdmSearchResult5 _searchResult;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>IEdmSearch9 _search = (IEdmSearch9)CurrentVault.CreateSearch2();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Let's see whether the
|
|
IEdmSearch9 object _search works - just as an example; not needed in common
|
|
practice</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">string</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">[] VarNames0 = { }; <o:p></o:p>
|
|
</span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddMultiVariableCondition(VarNames0, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"@:"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// poVariableNames can be null</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.GetFirstResult();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">bool</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> OriginatedFromCreateSearch2 =
|
|
_search.GetSyntaxErrors() != </span>
|
|
<span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:blue">null</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"OriginatedFromCreateSearch2
|
|
= "</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"> + OriginatedFromCreateSearch2);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Press
|
|
a key..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.ReadKey();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">for</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> (</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">int</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> i = 0; i < 7; i++)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">bool</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"> ExceptionEncountered =
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
false</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.Clear();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.StartFolderID = CurrentVault.GetFolderFromPath(</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:#A31515">"C:\\Users\\J4M\\Desktop\\JEB5"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">).ID;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span></span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">switch</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> (i)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
0:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Single variable search
|
|
conditions</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Expressions for special criteria and variables</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Finds DocNum=five-six-seven Comnt=xyz.txt</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Expressions
|
|
for special criteria and variables:"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.FileName = </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"(limit | cam) !wheel OR DocNum"</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Document
|
|
Number"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"56 & 7"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Comment"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">,
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"xy | z NOT a"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
1:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Multi-variable condition
|
|
with extended possibilities for variable names</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"A
|
|
multi-variable condition with extended possibilities for names:"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">[]
|
|
VarNames = { </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"\"Document Number\""</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">,<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Variable name contains a space so it must be quoted; quotes must be escaped
|
|
with backslashes</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"Comment"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">,<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:green">// Extra quotes are not
|
|
required for simple names</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"51"</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black">,<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:green">// Database ID of Project name is a numeric constant</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"_Name"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:green">// _Name represents
|
|
file/folder name</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>};<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// xy and z should be in one and the same variable value - owing to {}</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Text 567 can be present in a different variable of a searched document</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Because 567 and {z xy} can be in different variable values of the same
|
|
document (and here we want to find such cases),</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
//<span style="mso-spacerun:yes"> </span>apply : at the beginning of
|
|
the condition to turn on multi-value search logic</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Finds DocNum=five-six-seven Comnt=xyz.txt</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddMultiVariableCondition(VarNames, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
":567 {z xy}"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">break</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
2:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Multi-variable condition for
|
|
all vault variables plus file/folder name</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"A
|
|
multi-variable condition for all vault variables:"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">[]
|
|
VarNames = { </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"\"\""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">,<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// "" represents any vault
|
|
variable (and so does numeric constant 0)</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:#A31515">"_Name"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Unquoted _Name represents
|
|
file/folder name</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>};<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Finds DocNum=five-six-seven Comnt=xyz.txt</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddMultiVariableCondition(VarNames, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
":567 xyz | five xy"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
3:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Multi-variable condition
|
|
with mistakenly unquoted names</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"A
|
|
multi-variable condition with mistakenly unquoted names:"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
try</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">[]
|
|
VarNames = { </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"Document Number"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"Comment"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">, </span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:#A31515">"Project Name"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
};<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span><span style="font-size:10.0pt;font-family:"Courier New";color:green">//
|
|
Causes an exception because there are unquoted names with spaces</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddMultiVariableCondition(VarNames, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
":567 xyz | five xy"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">catch</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> (System.ArgumentException ex)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Wrong
|
|
variable name syntax... HRESULT = 0x"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"> + ex.HResult.ToString(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"X"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)
|
|
+ ex.Message);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>ExceptionEncountered = </span>
|
|
<span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:blue">true</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
4:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Syntax errors are not
|
|
displayed and no documents are returned</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Non-displayed
|
|
syntax errors:"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.FileName = </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"(limit = | cam) !wheel OR AND DocNum"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Document
|
|
Number"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"56 && 7"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Comment"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">,
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"xy | z() NOT a"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
5:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Syntax errors are displayed
|
|
(because @: is at the beginning of the conditions) and no documents are returned</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Messages
|
|
about syntax errors:"</span><span style="font-size:10.0pt;font-family:
|
|
"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.FileName = </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"@:(limit = | cam) !wheel OR AND DocNum"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Document
|
|
Number"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:#A31515">"56 && 7"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddVariable2(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Comment"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">,
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"@:xy | z() NOT a"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
case</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
6:<span style="mso-spacerun:yes"> </span></span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:green">// Multi-value syntax with
|
|
error reporting (because @: is at the beginning of the condition)</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">""</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Advanced
|
|
syntax features:"</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// The first argument, VarNames0, can be null because all the variables used are
|
|
defined directly inside the second argument (condition)</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// The second argument specifies to look for files that have (Comment = abc and
|
|
any card variable containing xyz) OR (file name or "Document Number" containing
|
|
123 or ab, but not five)</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// @: turns on multi-value logic at the top level of a condition (as does just a
|
|
colon)</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// @: allows variable bindings</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:green">
|
|
// Finds DocNum=one-two-three Comnt=abc.txt</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_search.AddMultiVariableCondition(VarNames0, </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">
|
|
"@: @Comment=abc & @\"\"(xyz) | @(\"Document Number\" | _Name)(123 | ab &
|
|
!five)"</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
break</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">if</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"> (ExceptionEncountered)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_searchResult = </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
null</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">;<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span></span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:blue">else</span><span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_searchResult = _search.GetFirstResult();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">if</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"> (_searchResult ==
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
null</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Returned
|
|
null..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">else</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Returned
|
|
a file list..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Press
|
|
a key..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.ReadKey();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p> </o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">if</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"> (_searchResult !=
|
|
</span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
null</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
while</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
(_searchResult != </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
null</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"NAME
|
|
= "</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black"> + _searchResult.Name + </span>
|
|
<span style="font-size:10.0pt;
|
|
font-family:"Courier New";color:#A31515">", PATH = "</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
+ _searchResult.Path);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Press
|
|
a key..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.ReadKey();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>_searchResult = _search.GetNextResult();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:blue">else</span><span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black"><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">[]
|
|
SyntaxErrors = _search.GetSyntaxErrors();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">if</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
(SyntaxErrors != </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
null</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span></span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">
|
|
foreach</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
(</span><span style="font-size:10.0pt;font-family:"Courier New";color:blue">string</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
s </span>
|
|
<span style="font-size:10.0pt;font-family:"Courier New";color:blue">in</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">
|
|
SyntaxErrors)<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>{<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(s);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.WriteLine(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#A31515">"Press
|
|
a key..."</span><span style="font-size:10.0pt;font-family:"Courier New";
|
|
color:black">);<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>Console.ReadKey();<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes">
|
|
</span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>
|
|
}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:
|
|
10.0pt;font-family:"Courier New";color:black">
|
|
<span style="mso-spacerun:yes"> </span>}<o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
<span style="font-size:10.0pt;line-height:107%;font-family:
|
|
"Courier New";color:black">}</span><span style="font-size:10.0pt;line-height:
|
|
107%;font-family:"Courier New""><o:p></o:p></span></p>
|
|
<p class="APICODE">
|
|
</p>
|
|
<p class="APICODE" align="center"><font face="Courier New" color="#008000">
|
|
<a href="#Top">Back to top</a></font></p>
|
|
|
|
</body>
|
|
|
|
</html>
|