Is 2 neither true, nor false? 3? 4?<div><br></div><div>If false is zero,</div><div>Then true is not false.</div><div><br></div><div>Also C doesn't have a boolean type per se. Iirc it was introduced in some version of c++ standard.</div><div><br></div><div>In C it's very strange to see code like that:</div><div><br></div><div>If (b==1)</div><div><br></div><div>It's always </div><div>If (b)</div><div>Or</div><div>If (!b)</div><div><br></div><div><br><br>On Sunday, August 27, 2017,  <<a href="mailto:noreply@z505.com">noreply@z505.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2017-08-27 06:22, Dmitry Boyarintsev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Sun, Aug 27, 2017 at 2:37 AM, <<a>noreply@z505.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Why borland chose the bool to not be 100 percent compatible, and<br>
only 50 percent compatible?<br>
<br>
Bool in delphi:<br>
true = -1<br>
<br>
Bool in C:<br>
true = ($FFFFFFFF)      1<br>
<br>
Why not just make it exactly compatible, there must be some<br>
underlying (possibly obnoxious) reason for this mess.<br>
</blockquote>
<br>
They are compatible, if you declare like this:<br>
<br>
true = (not false);<br>
<br>
</blockquote>
<br>
Depends, AFAIK, if the C library checks for an exact value of 1 somewhere, when Delphi/FPC sends in a -1, this could cause problems, but I haven't thought about it enough.<br>
<br>
I just don't see why both languages could not just agree to use "1", they must have had some reason, strange or not.<br>
______________________________<wbr>_________________<br>
fpc-pascal maillist  -  <a>fpc-pascal@lists.freepascal.<wbr>org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/cg<wbr>i-bin/mailman/listinfo/fpc-pas<wbr>cal</a></blockquote></div>