<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=Generator content="Microsoft Word 12 (filtered medium)">
<STYLE><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
..MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></STYLE>
</HEAD>
<BODY lang=EN-NZ dir=ltr vLink=purple link=blue>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>I don’t know the compiler for sure on this, but surely has to be that the 
set option gets compiled like a case statement, which minimises the number of 
comparisons made.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Speaking of which, I just this week combined this with a case statement – 
not clearly documented but it does work.&nbsp; This example is sanitising an 
ansi/ascii file for non-printing characters</DIV>
<DIV>&nbsp;</DIV>
<DIV>case FileBytes[i] of</DIV>
<DIV>10,13:&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
//handle end of line</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;</DIV>
<DIV>9,12,32..126:</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
//handle printable characters (9=tab, 12=page break)</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</DIV>
<DIV>else</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
//handle everything else not printable</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;</DIV>
<DIV>end;</DIV>
<DIV>&nbsp;</DIV>
<DIV>(This was to overcome the TStringlist.loadfromfile limitation where large 
files or files with any binary zeros only partially load.)</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV style="FONT: 10pt tahoma">
<DIV><FONT size=3 face=Calibri></FONT>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A title=ross@stationplaylist.com 
href="mailto:ross@stationplaylist.com">Ross Levis</A> </DIV>
<DIV><B>Sent:</B> Wednesday, June 8, 2016 4:56 PM</DIV>
<DIV><B>To:</B> <A title=delphi@listserver.123.net.nz 
href="mailto:delphi@listserver.123.net.nz">'NZ Borland Developers Group - Delphi 
List'</A> </DIV>
<DIV><B>Subject:</B> [DUG] In [set] efficiency</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV class=WordSection1>
<P class=MsoNormal><SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d">I’m wondering 
which is more efficient to process...<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d">if (a=1) or 
(a=2) then ...<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d">or<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d">if a in [1,2] 
then ...<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d">If the answer 
is the first method, does it make a difference if more numbers are checked, eg. 
if a in [1..3,5] then<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d">Cheers.</SPAN><SPAN 
style="FONT-SIZE: 12pt; COLOR: #1f497d"><o:p></o:p></SPAN></P></DIV>
<P>
<HR>
_______________________________________________<BR>NZ Borland Developers Group - 
Delphi mailing list<BR>Post: delphi@listserver.123.net.nz<BR>Admin: 
http://delphi.org.nz/mailman/listinfo/delphi<BR>Unsubscribe: send an email to 
delphi-request@listserver.123.net.nz with Subject: 
unsubscribe</DIV></DIV></DIV></BODY></HTML>