MIME-Version: 1.0
Content-Location: file:///C:/1ECDA904/Ladoublepersonnalited.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml"
xmlns:o=3D"urn:schemas-microsoft-com:office:office"
xmlns:w=3D"urn:schemas-microsoft-com:office:word"
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 11">
<meta name=3DOriginator content=3D"Microsoft Word 11">
<link rel=3DFile-List href=3D"Ladoublepersonnalited_files/filelist.xml">
<title>La double personnalit&eacute; d&#8217;un integer</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>MCRG Software</o:Author>
  <o:LastAuthor>MCRG Software</o:LastAuthor>
  <o:Revision>3</o:Revision>
  <o:TotalTime>120</o:TotalTime>
  <o:Created>2006-08-26T12:23:00Z</o:Created>
  <o:LastSaved>2006-08-26T12:27:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>604</o:Words>
  <o:Characters>3443</o:Characters>
  <o:Company>Indiana University</o:Company>
  <o:Lines>28</o:Lines>
  <o:Paragraphs>8</o:Paragraphs>
  <o:CharactersWithSpaces>4039</o:CharactersWithSpaces>
  <o:Version>11.5606</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=3D"false" LatentStyleCount=3D"156">
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0pt;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:EN-CA;}
p
	{mso-margin-top-alt:auto;
	margin-right:0pt;
	mso-margin-bottom-alt:auto;
	margin-left:0pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
	mso-para-margin:0pt;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
table.MsoTableGrid
	{mso-style-name:"Table Grid";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	border:solid windowtext 1.0pt;
	mso-border-alt:solid windowtext .5pt;
	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
	mso-border-insideh:.5pt solid windowtext;
	mso-border-insidev:.5pt solid windowtext;
	mso-para-margin:0pt;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US style=3D'tab-interval:36.0pt'>
<BR><CENTER><DIV=20
style=3D"BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; FONT: 13pt =
Verdana; BORDER-LEFT: black 1px solid; WIDTH: 400px; PADDING-TOP: 4px; =
BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: yellow"><A=20
href=3D"http://www.atoutfox.org/"><B>atoutfox.org</B></A><BR><FONT=20
size=3D-2>ATOUTFOX - 2006</FONT><BR></DIV></CENTER>


<div class=3DSection1>

<p class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><a name=3D"=
OLE_LINK2"></a><a
name=3D"OLE_LINK1"><span style=3D'mso-bookmark:OLE_LINK2'><b style=3D'mso-b=
idi-font-weight:
normal'><span lang=3DFR-CA style=3D'font-size:14.0pt;mso-ansi-language:FR-C=
A'>La
double personnalit&eacute; d&#8217;un integer</span></b></span></a><b
style=3D'mso-bidi-font-weight:normal'><span lang=3DFR-CA style=3D'font-size=
:14.0pt;
mso-ansi-language:FR-CA'>.<o:p></o:p></span></b></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p>Cet article m&#8217;est venu &agrave; l&#8217;id&eacute;e lorsque je
discutais avec un coll&egrave;gue sur l&#8217;utilit&eacute; d&#8217;un
integer<span style=3D'mso-spacerun:yes'>&nbsp; </span>dans une application =
et je
me suis aper&ccedil;u que mon coll&egrave;gue ne connaissait pas la
deuxi&egrave;me personnalit&eacute; d&#8217;un integer. Pour lui un integer
&eacute;tait un type de champs style num&eacute;rique qui pouvait qui prend=
re
seulement 10 chiffres (donc pour lui limit&eacute; en soit) et la valeur
maximale qu&#8217;un champs integer pouvait prendre &eacute;tait <span
style=3D'color:black'>2147483647</span><span style=3D'font-size:10.0pt;font=
-family:
"Courier New";color:black'> </span><span style=3D'color:black'>et la valeur
minimale est de -2147483647 (donc encore un fois pour lui limit&eacute;). <=
/span><span
lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'>A titre de compa=
raison
un champ num&eacute;rique (sans d&eacute;cimale)<span
style=3D'mso-spacerun:yes'>&nbsp; </span>peut avoir 15 chiffres (&agrave; t=
itre
de pr&eacute;cision) donc les valeurs sont de </span><span lang=3DFR-CA
style=3D'mso-ansi-language:FR-CA'>- .9999999999E+19 &agrave; .9999999999E+2=
0<span
style=3D'color:black'>, qui pour lui repr&eacute;sentait un avantage
d&eacute;finitif. Un des d&eacute;savantages d&#8217;un champ num&eacute;ri=
que
est qu&#8217;il est de 8 bytes et un integer est de 4 bytes.<o:p></o:p></sp=
an></span></p>

<p><b style=3D'mso-bidi-font-weight:normal'><span lang=3DFR-CA style=3D'col=
or:black;
mso-ansi-language:FR-CA'>Mais</span></b><span lang=3DFR-CA style=3D'color:b=
lack;
mso-ansi-language:FR-CA'>, je lui ai fait remarqu&eacute; la double
personnalit&eacute; d&#8217;un champ integer qui pour les besoin de la cause
serait tr&egrave;s utile. Nous cherchions un moyen pour attribuer un (ou <s=
pan
class=3DGramE>des )</span> statut(s) diff&eacute;rent(s) pour un commande d=
ans un
application<span style=3D'mso-spacerun:yes'>&nbsp; </span>(<span class=3DSp=
ellE>ie</span>.
Commande retenue pour au niveau du cr&eacute;dit, commande retenue pour un
manque de stock, commande cr&eacute;e et non imprim&eacute;, commande
cr&eacute;e et imprim&eacute;, commande livr&eacute;e etc.) La solution
qu&#8217;il proposait &eacute;tait d&#8217;utiliser des champs logiques pour
chaque statut, Je lui ai fait remarqu&eacute; qu&#8217;il en faudrait une
quinzaine (En plus des autres champs pour total, taxes <span class=3DSpellE=
>etc</span>).
Ma proposition &eacute;tait <b style=3D'mso-bidi-font-weight:normal'>un</b>=
 champ
integer. Il ne voyait pas comment d&eacute;terminer le statut d&#8217;une
commande en &eacute;valuant le contenu d&#8217;un champ integer.<o:p></o:p>=
</span></p>

<p><span lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'>C&#8217=
;est a
ce point que je lui ai expliqu&eacute; la double personnalit&eacute; d&#821=
7;un
champs integer (possiblement la vrai personnalit&eacute;). Oui un champ int=
eger
peut contenir une valeur num&eacute;rique, mais un champ integer est aussi
compos&eacute; de 32 champs logiques (bool&eacute;en) qui peuvent &ecirc;tre
utilis&eacute; avec un seul champ. Donc pour chaque bit (terme qui identifie
chaque champ logique contenu dans un champ integer, peut &ecirc;tre r&eacut=
e;gl&eacute;
&agrave; vrai ou faux (.t. ou .f.) (Ou 0 et 1<span class=3DGramE>) .</span>=
 Mon coll&egrave;gue
commen&ccedil;ait &agrave; voir l&#8217;utilit&eacute; d&#8217;un champ
integer. Voici quelques exemples d&#8217;un champ integer.<o:p></o:p></span=
></p>

<table class=3DMsoTableGrid border=3D1 cellspacing=3D0 cellpadding=3D0
 style=3D'border-collapse:collapse;border:none;mso-border-alt:solid windowt=
ext .5pt;
 mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;mso-border-inside=
h:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
  <td width=3D590 valign=3Dtop style=3D'width:442.8pt;border:solid windowte=
xt 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>CLEAR <o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>CREATE CURSOR </span><span class=3DSpellE><span style=3D'font-size=
:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>moncurseur=
</span></span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> (<span class=3DSpellE>champflag</span> <span class=3DSpellE>i</sp=
an>)<o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:bl=
ue;
  mso-ansi-language:FR-CA'>INSERT INTO </span><span class=3DSpellE><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:bl=
ack;
  mso-ansi-language:FR-CA'>moncurseur</span></span><span lang=3DFR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  FR-CA'> (<span class=3DSpellE>champflag</span>) </span><span lang=3DFR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  FR-CA'>VALUES </span><span lang=3DFR-CA style=3D'font-size:10.0pt;font-fa=
mily:
  "Courier New";color:black;mso-ansi-language:FR-CA'>(0x00000001)<span
  style=3D'mso-spacerun:yes'>&nbsp; </span></span><span lang=3DFR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:green;mso-ansi-=
language:
  FR-CA'>&amp;&amp; ou 1 <o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>FOR </span><span class=3DSpellE><span style=3D'font-size:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>i</span></=
span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> =3D 0 </span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:blue;mso-ansi-language:EN-US'>TO </span><span style=3D'font-size:10=
.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>31<o:p></o=
:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'><span style=3D'mso-spacerun:yes'>&nbsp; </span>? </span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>BITTEST</span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:black;mso-ansi-language:EN-US'>(<span class=3DSpellE>champflag,i</s=
pan>)<o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>ENDFOR<o:p></o:p></span></p>
  <p><span lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'><o:p>=
&nbsp;</o:p></span></p>
  </td>
 </tr>
</table>

<p><span lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>Le code ci haut nous donne une
s&eacute;rie de 32 valeurs (32 bits) logiques. &Agrave; noter que la
premi&egrave;re valeur est .T. et les 31 autres sont .<span class=3DGramE>F=
.,</span>
Donc on a utilis&eacute; la bit 0 pour indiqu&eacute; un statut pour notre
commande. Il nous en reste 31 autres que l&#8217;on peut utiliser, pour
indiquer le statut de notre commande, et l&#8217;avantage de cette technique
est que si on mets la bit 1<span style=3D'mso-spacerun:yes'>&nbsp;
</span>(deuxi&egrave;me bit dans la s&eacute;rie) &agrave;<span
style=3D'mso-spacerun:yes'>&nbsp; </span>.T. la premi&egrave;re bit reste
&agrave; .t. aussi, donc on peut accumuler le statut de la commande sans pe=
rdre
les statuts<span style=3D'mso-spacerun:yes'>&nbsp; </span>d&eacute;j&agrave;
acquis. <o:p></o:p></span></p>

<table class=3DMsoTableGrid border=3D1 cellspacing=3D0 cellpadding=3D0
 style=3D'border-collapse:collapse;border:none;mso-border-alt:solid windowt=
ext .5pt;
 mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;mso-border-inside=
h:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
  <td width=3D590 valign=3Dtop style=3D'width:442.8pt;border:solid windowte=
xt 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>CLEAR <o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>CREATE CURSOR </span><span class=3DSpellE><span style=3D'font-size=
:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>moncurseur=
</span></span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> (<span class=3DSpellE>champflag</span> <span class=3DSpellE>i</sp=
an>)<o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:bl=
ue;
  mso-ansi-language:FR-CA'>INSERT INTO </span><span class=3DSpellE><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:bl=
ack;
  mso-ansi-language:FR-CA'>moncurseur</span></span><span lang=3DFR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  FR-CA'> (<span class=3DSpellE>champflag</span>) </span><span lang=3DFR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  FR-CA'>VALUES </span><span lang=3DFR-CA style=3D'font-size:10.0pt;font-fa=
mily:
  "Courier New";color:black;mso-ansi-language:FR-CA'>(</span><span class=3D=
GramE><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:bl=
ue;
  mso-ansi-language:FR-CA'>BITSET</span><span lang=3DFR-CA style=3D'font-si=
ze:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:FR-CA'>(</span></=
span><span
  class=3DSpellE><span lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"=
Courier New";
  color:black;mso-ansi-language:FR-CA'>champflag</span></span><span lang=3D=
FR-CA
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  FR-CA'>,0))<span style=3D'mso-spacerun:yes'>&nbsp; </span></span><span
  lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:gr=
een;
  mso-ansi-language:FR-CA'>&amp;&amp; ou 1 <o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>FOR </span><span class=3DSpellE><span style=3D'font-size:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>i</span></=
span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> =3D 0 </span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:blue;mso-ansi-language:EN-US'>TO </span><span style=3D'font-size:10=
.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>31<o:p></o=
:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'><span style=3D'mso-spacerun:yes'>&nbsp; </span>? </span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>BITTEST</span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:black;mso-ansi-language:EN-US'>(<span class=3DSpellE>champflag,i</s=
pan>)<o:p></o:p></span></p>
  <p><span style=3D'font-size:10.0pt;font-family:"Courier New";color:blue'>=
ENDFOR</span><span
  lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'><o:p></o:p></s=
pan></p>
  </td>
 </tr>
</table>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'>L=
e code ci
haut va mettre le bit 0 (premier bit) &agrave; .t. (ou 1). Si par exemple <=
span
class=3DSpellE>plutard</span> dans la validation de notre commande, elle ob=
tient
un statut qui nous indique que l&#8217;on devrait mettre le bit 1
(deuxi&egrave;me bit) &agrave; .<span class=3DGramE>T.,</span> n&#8217;a qu=
&#8217;a
faire ceci <o:p></o:p></span></p>

<table class=3DMsoTableGrid border=3D1 cellspacing=3D0 cellpadding=3D0
 style=3D'border-collapse:collapse;border:none;mso-border-alt:solid windowt=
ext .5pt;
 mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;mso-border-inside=
h:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
  <td width=3D590 valign=3Dtop style=3D'width:442.8pt;border:solid windowte=
xt 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'>x=3D </span><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
  color:blue;mso-ansi-language:EN-US'>BITSET</span><span style=3D'font-size=
:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>(champflag=
,1)<o:p></o:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>REPLACE </span><span class=3DSpellE><span style=3D'font-size:10.0p=
t;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>champflag<=
/span></span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> </span><span style=3D'font-size:10.0pt;font-family:"Courier New";
  color:blue;mso-ansi-language:EN-US'>WITH </span><span style=3D'font-size:=
10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>x<o:p></o:=
p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>FOR </span><span class=3DSpellE><span style=3D'font-size:10.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>i</span></=
span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'> =3D 0 </span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:blue;mso-ansi-language:EN-US'>TO </span><span style=3D'font-size:10=
.0pt;
  font-family:"Courier New";color:black;mso-ansi-language:EN-US'>31<o:p></o=
:p></span></p>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'><span style=3D'mso-spacerun:yes'>&nbsp; </span>? </span><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;mso-ansi-l=
anguage:
  EN-US'>BITTEST</span><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:black;mso-ansi-language:EN-US'>(<span class=3DSpellE>champflag,i</s=
pan>)<o:p></o:p></span></p>
  <p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:blue;mso-ansi-language:EN-US'>ENDFOR</span><span style=3D'mso-ansi-=
language:
  EN-US'><o:p></o:p></span></p>
  </td>
 </tr>
</table>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'>E=
t on
remarque que le deux bits (0 <span class=3DGramE>et1 )</span> sont &agrave;=
 .T.. <o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'>S=
i pour une
raison donn&eacute;e nous devrions changer un bit de .T. &agrave; .F. on a =
qu&#8217;a
sp&eacute;cifier le bit et utiliser BITCLEAR<o:p></o:p></span></p>

<table class=3DMsoTableGrid border=3D1 cellspacing=3D0 cellpadding=3D0
 style=3D'border-collapse:collapse;border:none;mso-border-alt:solid windowt=
ext .5pt;
 mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;mso-border-inside=
h:
 .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
  <td width=3D590 valign=3Dtop style=3D'width:442.8pt;border:solid windowte=
xt 1.0pt;
  mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
  <p class=3DMsoNormal style=3D'mso-layout-grid-align:none;text-autospace:n=
one'><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'>x=3D </span><span style=3D'font-size:10.0pt;font-family:"Courier N=
ew";
  color:blue;mso-ansi-language:EN-US'>BITCLEAR</span><span style=3D'font-si=
ze:
  10.0pt;font-family:"Courier New";color:black;mso-ansi-language:EN-US'>(ch=
ampflag,1)<o:p></o:p></span></p>
  <p class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier=
 New";
  color:blue;mso-ansi-language:EN-US'>REPLACE </span><span class=3DSpellE><=
span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'>champflag</span></span><span style=3D'font-size:10.0pt;font-family=
:"Courier New";
  color:black;mso-ansi-language:EN-US'> </span><span style=3D'font-size:10.=
0pt;
  font-family:"Courier New";color:blue;mso-ansi-language:EN-US'>WITH </span=
><span
  style=3D'font-size:10.0pt;font-family:"Courier New";color:black;mso-ansi-=
language:
  EN-US'>x</span><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><o:p>=
</o:p></span></p>
  </td>
 </tr>
</table>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'>C=
eci va remettre
le bit 1 &agrave; .F. et maintenir le statut des autres bit tel quel.<o:p><=
/o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'>F=
oxpro nous
offre quelques autres fonctions <span class=3DGramE>a</span> utiliser sur le
bits. Comme </span><span class=3DGramE><span lang=3DFR-CA style=3D'font-siz=
e:10.0pt;
font-family:"Courier New";color:blue;mso-ansi-language:FR-CA'>BITAND</span>=
<span
lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:blac=
k;
mso-ansi-language:FR-CA'>(</span></span><span lang=3DFR-CA style=3D'font-si=
ze:10.0pt;
font-family:"Courier New";color:black;mso-ansi-language:FR-CA'>),</span><sp=
an
lang=3DFR-CA style=3D'font-size:10.0pt;font-family:"Courier New";color:blue;
mso-ansi-language:FR-CA'>BITOR</span><span lang=3DFR-CA style=3D'font-size:=
10.0pt;
font-family:"Courier New";color:black;mso-ansi-language:FR-CA'>() etc. </sp=
an><span
lang=3DFR-CA style=3D'color:black;mso-ansi-language:FR-CA'>Consulter l&#821=
7;aide en
ligne pour les autres fonctions.<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'color:black;mso-ansi-langu=
age:FR-CA'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'color:black;mso-ansi-langu=
age:FR-CA'>En
conclusion, peut-&ecirc;tre cet article est inutile et tous le programmeurs
FoxPro connaissaient le double utilit&eacute; d&#8217;un champs integer et =
que
mon coll&egrave;gue &eacute;tait le seul, ou peut-&ecirc;tre qu&#8217;il y =
en d&#8217;autre
qui vont trouver ce champ plus utile &agrave; l&#8217;avenir.<o:p></o:p></s=
pan></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'color:black;mso-ansi-langu=
age:FR-CA'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DFR-CA style=3D'mso-ansi-language:FR-CA'><=
o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><b style=3D=
'mso-bidi-font-weight:
normal'><span lang=3DFR-CA style=3D'font-size:14.0pt;mso-ansi-language:FR-C=
A'><o:p>&nbsp;</o:p></span></b></p>

<p class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><b style=3D=
'mso-bidi-font-weight:
normal'><span lang=3DFR-CA style=3D'font-size:14.0pt;mso-ansi-language:FR-C=
A'><o:p>&nbsp;</o:p></span></b></p>

</div>

</body>

</html>
