<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16850" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Pessoal, Boa noite!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Ainda estou apanhando naquela questão de passar 
de&nbsp;números para arrays booleanos..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Sem querer abusar, mas já abusando ... 
rsrs..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Se alguém puder me dar umas dicas, </FONT></DIV>
<DIV><FONT face=Arial size=2>ou onde posso encontrar estas 
informações.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Desde já agradeço a todos.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Claudio H.Binaghi</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>___________________________________________________</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Segue abaixo como faço em 
Delphi...</FONT></DIV></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Na verdade são 6 procedimentos que 
fazem:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Boolean =&gt; Real</FONT></DIV>
<DIV><FONT face=Arial size=2>Real =&gt; Boolean</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV>
<DIV><FONT face=Arial size=2>Boolean =&gt; Int</FONT></DIV>
<DIV><FONT face=Arial size=2>Int&nbsp;=&gt; Boolean</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Boolean =&gt; Word</FONT></DIV>
<DIV><FONT face=Arial size=2>Word&nbsp;=&gt; Boolean</FONT></DIV>
<DIV>
<DIV><FONT face=Arial 
size=2>___________________________________________________</FONT></DIV></DIV></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&lt;BEGIN CODE&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
REAL_BOOLEAN : Transforma uma variavel REAL em posições de uma matriz do&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
tipo 
Boolean.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (48 elementos), passada como parametro&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VAR, 
que recebe o resultado da 
transformação.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R = número REAL&nbsp; a ser 
"transformado" em posições booleanas.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>procedure 
REAL_BOOLEAN{(var B:TIPO_BOOLEAN_REAL;R:Real)};</FONT></DIV>
<DIV><FONT face=Arial size=2>const BITS : array[1..8] of Byte = 
(1,2,4,8,16,32,64,128);</FONT></DIV>
<DIV><FONT face=Arial size=2>var I,J : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; : 
array[1..6] of Byte Absolute R;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(B,SizeOf(B),0);<BR>&nbsp; 
For I:=1 to 6 do<BR>&nbsp;&nbsp;&nbsp; If BY[I]&lt;&gt;0 then For J:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B[8*(I-1)+J]:=Boolean(BITS[J] and 
BY[I]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
INT_BOOLEAN : Transforma uma variavel INTEGER em posições de uma 
matriz&nbsp;&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
do tipo 
Boolean.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VAR, 
que recebe o resultado da 
transformação.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I = número INTEGER&nbsp; a ser 
"transformado" em posições booleanas.&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>procedure 
INT_BOOLEAN{(var B:TIPO_BOOLEAN_INT;I:Integer)};<BR>const BITS : array[1..8] of 
Byte = (1,2,4,8,16,32,64,128);<BR>var J,K : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; 
: array[1..2] of Byte Absolute I;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(B,SizeOf(B),0);<BR>&nbsp; 
For J:=1 to 2 do<BR>&nbsp;&nbsp;&nbsp; If BY[J]&lt;&gt;0 then For K:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B[8*(J-1)+K]:=Boolean(BITS[K] and 
BY[J]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
WORD_BOOLEAN : Transforma uma variavel WORD em posições de uma matriz do&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
tipo 
Boolean.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VAR, 
que recebe o resultado da 
transformação.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; W = número WORD&nbsp; a ser 
"transformado" em posições booleanas.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>procedure 
WORD_BOOLEAN{(var B:TIPO_BOOLEAN_INT;W:WORD)};<BR>const BITS : array[1..8] of 
Byte = (1,2,4,8,16,32,64,128);<BR>var J,K : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; 
: array[1..2] of Byte Absolute W;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(B,SizeOf(B),0);<BR>&nbsp; 
For J:=1 to 2 do<BR>&nbsp;&nbsp;&nbsp; If BY[J]&lt;&gt;0 then For K:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B[8*(J-1)+K]:=Boolean(BITS[K] and 
BY[J]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
BOOLEAN_REAL : Retorna um número REAL obtido de um vetor Booleano do tipo 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
TIPO_BOOLEAN_REAL.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (48 elementos) a ser 
"transformado".&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>function 
BOOLEAN_REAL{(B:TIPO_BOOLEAN_REAL):Real};<BR>const BITS : array[1..8] of Byte = 
(1,2,4,8,16,32,64,128);<BR>var I,J : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; : 
array[1..6] of Byte;<BR>&nbsp;&nbsp;&nbsp; R&nbsp;&nbsp; : Real Absolute 
BY;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(BY,6,0);<BR>&nbsp; For 
I:=1 to 6 do<BR>&nbsp;&nbsp;&nbsp; For J:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If B[8*(I-1)+J] then 
BY[I]:=BY[I]+BITS[J];<BR>&nbsp; Result:=R;<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
BOOLEAN_INT : Retorna um número INTEGER obtido de um vetor Booleano 
do&nbsp;&nbsp;&nbsp; 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
tipo 
TIPO_BOOLEAN_INT.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (16 elementos) a ser 
"transformado".&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>function 
BOOLEAN_INT{(B:TIPO_BOOLEAN_INT):Integer};<BR>const BITS : array[1..8] of Byte = 
(1,2,4,8,16,32,64,128);<BR>var I,J : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; : 
array[1..2] of Byte;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(BY,2,0);<BR>&nbsp; For 
I:=1 to 2 do<BR>&nbsp;&nbsp;&nbsp; For J:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If B[8*(I-1)+J] then 
BY[I]:=BY[I]+BITS[J];<BR>&nbsp;&nbsp; If LongInt((BY[2] shl 8)+BY[1])&gt;32767 
then<BR>&nbsp;&nbsp;&nbsp;&nbsp; Result:=Integer(((BY[2] shl 
8)+BY[1])-65536)<BR>&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp; Result:=(BY[2] 
shl 8)+BY[1];<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>{****************************************************************************<BR>* 
BOOLEAN_WORD : Retorna um número WORD obtido de um vetor Booleano do tipo 
*<BR>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
TIPO_BOOLEAN_INT.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
*<BR>*****************************************************************************<BR>* 
Input: B = matriz (vetor) Boolean (16 elementos) a ser 
"transformado".&nbsp;&nbsp;&nbsp; 
*<BR>****************************************************************************}<BR>function 
BOOLEAN_WORD{(B:TIPO_BOOLEAN_INT):Word};</FONT></DIV>
<DIV><FONT face=Arial size=2>const BITS : array[1..8] of Byte = 
(1,2,4,8,16,32,64,128);</FONT></DIV>
<DIV><FONT face=Arial size=2>var I,J : Byte;<BR>&nbsp;&nbsp;&nbsp; BY&nbsp; : 
array[1..2] of Byte;<BR>&nbsp;&nbsp;&nbsp; N&nbsp;&nbsp; : Word Absolute 
BY;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR>&nbsp; FillChar(BY,2,0);<BR>&nbsp; For 
I:=1 to 2 do<BR>&nbsp;&nbsp;&nbsp; For J:=1 to 8 
do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If B[8*(I-1)+J] then 
BY[I]:=BY[I]+BITS[J];<BR>&nbsp; BOOLEAN_WORD:=N;<BR>End;<BR></FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;END CODE&gt;</DIV></FONT>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=claudio@dpreferencial.com.br 
  href="mailto:claudio@dpreferencial.com.br">claudio@dpreferencial.com.br</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=saopaulo-pm@mail.pm.org 
  href="mailto:saopaulo-pm@mail.pm.org">saopaulo-pm@mail.pm.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, July 09, 2009 12:36 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [SP-pm] Problemas numa 
  comparação</DIV>
  <DIV><FONT face=Arial size=2></FONT><BR></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Gostei do exemplo que vc colou lá no 
  Pastebin..</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>ótimo código, bem limpo e simples...</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>VIvendo e aprendendo, </FONT></DIV>
  <DIV><FONT face=Arial size=2>valeu pela dica..</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>abs</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <BLOCKQUOTE 
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
    <DIV 
    style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
    <A title=shonorio@gmail.com href="mailto:shonorio@gmail.com">Solli 
    Honorio</A> </DIV>
    <DIV style="FONT: 10pt arial"><B>To:</B> <A title=saopaulo-pm@mail.pm.org 
    href="mailto:saopaulo-pm@mail.pm.org">saopaulo-pm@mail.pm.org</A> </DIV>
    <DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, July 08, 2009 11:30 
    PM</DIV>
    <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [SP-pm] Problemas numa 
    comparação</DIV>
    <DIV><BR></DIV>Meu querido, tire o sotaque de C e coloque o sotaque de Perl, 
    então :<BR><BR>... de :<BR>&lt;code&gt;<BR>
    <OL style="FONT-FAMILY: courier new,monospace">
      <LI class=li2>
      <DIV class=de2><SPAN class=kw1>my</SPAN> <SPAN class=re0>$num</SPAN> = 
      <SPAN class=nu0>0</SPAN>;</DIV>
      <LI class=li1>
      <DIV class=de1><SPAN class=kw1>for</SPAN> <SPAN class=br0>(</SPAN><SPAN 
      class=kw1>my</SPAN> <SPAN class=re0>$i</SPAN> = <SPAN class=nu0>0</SPAN>; 
      <SPAN class=re0>$i</SPAN> &lt; <SPAN class=nu0>8</SPAN>; <SPAN 
      class=re0>$i</SPAN>++<SPAN class=br0>)</SPAN> <SPAN 
      class=br0>{</SPAN></DIV>
      <LI class=li2>
      <DIV class=de2>&nbsp; &nbsp; <SPAN class=kw1>if</SPAN> <SPAN 
      class=br0>(</SPAN><SPAN class=re0>$options</SPAN><SPAN 
      class=br0>[</SPAN><SPAN class=re0>$i</SPAN><SPAN class=br0>]</SPAN> eq 
      <SPAN class=st0>"S"</SPAN><SPAN class=br0>)</SPAN> <SPAN 
      class=br0>{</SPAN></DIV>
      <LI class=li1>
      <DIV class=de1>&nbsp; &nbsp; &nbsp; &nbsp; <SPAN class=re0>$num</SPAN> = 
      set_bit<SPAN class=br0>(</SPAN><SPAN class=re0>$num</SPAN>, <SPAN 
      class=re0>$i</SPAN><SPAN class=br0>)</SPAN>;</DIV>
      <LI class=li2>
      <DIV class=de2>&nbsp; &nbsp; <SPAN class=br0>}</SPAN></DIV>
      <LI class=li1>
      <DIV class=de1><SPAN 
    class=br0>}</SPAN></DIV></LI></OL>&lt;/code&gt;<BR><BR>para ... : 
    <BR>&lt;code&gt;<BR>
    <OL style="FONT-FAMILY: courier new,monospace">
      <LI class=li1>
      <DIV class=de1><SPAN class=kw1>for</SPAN>&nbsp; <SPAN class=br0>my $i ( 
      0..7 </SPAN><SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
      <LI class=li2>
      <DIV class=de2>&nbsp; &nbsp; <SPAN class=kw1>if</SPAN> <SPAN 
      class=br0>(</SPAN><SPAN class=re0>$options</SPAN><SPAN 
      class=br0>[</SPAN><SPAN class=re0>$i</SPAN><SPAN class=br0>]</SPAN> eq 
      <SPAN class=st0>"S"</SPAN><SPAN class=br0>)</SPAN> <SPAN 
      class=br0>{</SPAN></DIV>
      <LI class=li1>
      <DIV class=de1>&nbsp; &nbsp; &nbsp; &nbsp; <SPAN class=re0>$num</SPAN> = 
      set_bit<SPAN class=br0>(</SPAN><SPAN class=re0>$num</SPAN>, <SPAN 
      class=re0>$i</SPAN><SPAN class=br0>)</SPAN>;</DIV>
      <LI class=li2>
      <DIV class=de2>&nbsp; &nbsp; <SPAN class=br0>}</SPAN></DIV>
      <LI class=li1>
      <DIV class=de1><SPAN 
    class=br0>}</SPAN></DIV></LI></OL><BR>&lt;/code&gt;<BR><BR>
    <DIV class=gmail_quote>2009/7/8 Blabos de Blebe <SPAN dir=ltr>&lt;<A 
    href="mailto:blabos@gmail.com">blabos@gmail.com</A>&gt;</SPAN><BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">6000 
      campos? 200000 campos?<BR><BR>O que é um campo, nesse contexto? Não 
      conheço o tal do SPSS.<BR><BR>Você usa algum banco de dados, tipo MySQL, 
      Postgres?<BR><BR>Mas voltando ao assunto?<BR><BR>Pelo que eu entendi, 
      denovo supondo, você tem algo como:<BR><BR><SPAN 
      style="FONT-FAMILY: courier new,monospace">----------| Maçã | Laranja | 
      Abacaxi | Banana</SPAN><BR 
      style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Wesley &nbsp; &nbsp;| Não&nbsp; 
      | Sim &nbsp; &nbsp; | Não &nbsp; &nbsp; | Não</SPAN><BR 
      style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Solli &nbsp; &nbsp; | Não 
      &nbsp;| Sim &nbsp; &nbsp; | Sim &nbsp; &nbsp; | Não</SPAN><BR 
      style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Montovani | Não &nbsp;| Não 
      &nbsp; &nbsp; | Não &nbsp; &nbsp; | Sim</SPAN><BR><BR>E quer transformar 
      em:<BR><BR><SPAN style="FONT-FAMILY: courier new,monospace">----------| 
      Frutas |</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Wesley &nbsp; &nbsp;| 4&nbsp; 
      &nbsp; &nbsp; |</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Solli &nbsp; &nbsp; | 6 &nbsp; 
      &nbsp; &nbsp;|</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
      style="FONT-FAMILY: courier new,monospace">Montovani | 1 &nbsp; &nbsp; 
      &nbsp;|</SPAN><BR><BR>Neste caso, me veio à cabeça algo assim:<BR><BR><A 
      href="http://pastebin.com/m729e79c7" 
      target=_blank>http://pastebin.com/m729e79c7</A><BR><BR>Abraços 
      <DIV>
      <DIV></DIV>
      <DIV class=h5><BR><BR>2009/7/8 &lt;<A 
      href="mailto:claudio@dpreferencial.com.br" 
      target=_blank>claudio@dpreferencial.com.br</A>&gt;<BR>&gt;<BR>&gt; A todos 
      boa noite!<BR>&gt; &nbsp;<BR>&gt; Soli,<BR>&gt; valeu a intenção, mas 
      assim não rola..<BR>&gt; já resolvi isto com &amp; mesmo...<BR>&gt; 
      &nbsp;<BR>&gt; Estou passando o meu sistema que é em 
      Delphi..mas...<BR>&gt; sou novato total em Perl...rsrs...<BR>&gt; 
      &nbsp;<BR>&gt; &nbsp;<BR>&gt; Respondendo a sua pergunta:<BR>&gt; 
      ________________<BR>&gt; Um breve histórico:<BR>&gt; &nbsp;<BR>&gt; Eu 
      trabalho com processamento de pesquisas de mercado. (tabulação)<BR>&gt; 
      &nbsp;<BR>&gt; No começo trabalhei muito anos com Statiscs SPSS, Statiscs 
      ... (com estes programas as bases ficavam realmente 
      gigantes..rsrs..200.000 campos..rsrs)<BR>&gt; acabei desenvolvendo meu 
      próprio sistema de tabulação.<BR>&gt; &nbsp;<BR>&gt; Desenvolvi&nbsp;um 
      formato para o meu arquivo de dados,<BR>&gt; levando em consideração 
      minhas necessidades, tais como:<BR>&gt; &nbsp;<BR>&gt; - conteúdo 
      criptografado.<BR>&gt; - tamanho final do arquivo de base.<BR>&gt; - 
      quantidade final de campos na base.<BR>&gt; - base não normalizada&nbsp;= 
      campos multivalorados e dependentes..<BR>&gt; - conteúdo dos campos: 
      numérico.<BR>&gt; &nbsp;<BR>&gt; levando em consideração que:<BR>&gt; - 
      80% dos campos de uma pesquisa são campos numéricos e RM (respostas 
      múltiplas=campos multivalorados)<BR>&gt; &nbsp; Ex:<BR>&gt; &nbsp; Quais 
      frutas vc gosta:<BR>&gt; &nbsp; 1 - abacaxi<BR>&gt; &nbsp; 2 - 
      Mamão<BR>&gt; &nbsp; 3 - abacate....&nbsp; até o código 50.<BR>&gt; 
      &nbsp;<BR>&gt; &nbsp; um fulano responde os códigos 2/3/4/9/10/15<BR>&gt; 
      &nbsp;&nbsp;<BR>&gt; &nbsp; num buffer(array de boleanos) eu marco true 
      nestas posição e gravo.<BR>&gt; &nbsp;<BR>&gt; Veja,&nbsp;no SPSS ou em 
      outras bases "normais"&nbsp;eu precisaria de 15 campos para guardar as 
      informações,<BR>&gt; quando que eu guardo num campo só..de tamanho bem 
      pequeno...rsrs..<BR>&gt; &nbsp;<BR>&gt; (não percebeu meu nome 
      ..rsrs&nbsp;=&gt; &nbsp;Binaghi = Binário..rsrs..&nbsp;aqui só rola um 
      neurônio, que de vez em quando resolve ficar&nbsp;True..rsrs)<BR>&gt; 
      ____________________________________________________<BR>&gt; 
      ____________________________________________________<BR>&gt; 
      &nbsp;<BR>&gt; (é um código totalmente grosso..mas funfa..rsrs)<BR>&gt; 
      &nbsp;<BR>&gt; É assim que eu faço:<BR>&gt; &nbsp;<BR>&gt; Leio o 
      arq:<BR>&gt; &nbsp;<BR>&gt; &nbsp; open(tap,"&lt;$PathHtdocs");<BR>&gt; 
      &nbsp; binmode tap;<BR>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my ($buf, 
      $data, $n, @cont);<BR>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (($n = 
      read tap, $data, $x) != 0) {<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "$n bytes 
      read\n";<BR>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $buf .= 
      $data;<BR>&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "$buf";<BR>&gt; &nbsp; 
      close(tap);<BR>&gt; &nbsp;@cont=split(//,$buf);<BR>&gt; &nbsp;<BR>&gt; 
      Comparo o conteúdo:<BR>&gt; &nbsp;<BR>&gt; &nbsp; push (@byt,1);<BR>&gt; 
      &nbsp; push (@byt,2);<BR>&gt; &nbsp; push (@byt,4);<BR>&gt; &nbsp; push 
      (@byt,8);<BR>&gt; &nbsp; push (@byt,16);<BR>&gt; &nbsp; push 
      (@byt,32);<BR>&gt; &nbsp; push (@byt,64);<BR>&gt; &nbsp; push 
      (@byt,128);<BR>&gt; &nbsp; my @res;<BR>&gt; &nbsp; my 
      $RecCount=$n*8;<BR>&gt; &nbsp; for($a=1;$a&lt;=$RecCount+1;$a++){<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push (@res,0);<BR>&gt; &nbsp; 
      }<BR>&gt; &nbsp; my $pos=0;<BR>&gt; &nbsp; 
      for($a=1;$a&lt;=$n;$a++){<BR>&gt; &nbsp;&nbsp;&nbsp; 
      $val=$cont[$a];<BR>&gt; print "----&gt; testa valor 
      $a:=$cont[$a]&lt;br&gt;\n";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&gt; 
      &nbsp;&nbsp;&nbsp; if(ord($val)!=0){<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for($k=0;$k&lt;=7;++$k){<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      $pos=8*($a-1)+$k+1;<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      $ord=ord($val);<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ord($val) &amp; 
      $byt[$k]) {<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      $res[$pos]=1;<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      $r=ver_conteudo(ord($val),$byt[$k]);<BR>&gt; print "----&gt; res[$pos]:=1 
      / $r&lt;br&gt;\n";<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&gt; 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&gt; &nbsp;&nbsp;&nbsp; }<BR>&gt; 
      &nbsp; }<BR>&gt; 
      ____________________________________________________<BR>&gt; 
      ____________________________________________________<BR>&gt; 
      &nbsp;<BR>&gt; Esse formato é para as respostas no formato de 
      códigos,<BR>&gt; os textos, destes códigos, ficam guardados em outro 
      arquivo..<BR>&gt; Tipo na base normal se guarda no formato literal: Sim, 
      Não..<BR>&gt; na minha base quardo 1, 2 e tenho um texo só para sim e 
      não..<BR>&gt; &nbsp;<BR>&gt; Sacou...<BR>&gt; &nbsp;<BR>&gt; 
      &nbsp;<BR>&gt; Obrigado pela atenção..<BR>&gt; &nbsp;<BR>&gt; Abs<BR>&gt; 
      &nbsp;<BR>&gt; Claudio H.Binaghi<BR>&gt; <A 
      href="mailto:claudio@dpreferencial.com.br" 
      target=_blank>claudio@dpreferencial.com.br</A><BR>&gt; 5511 
      3288.4840<BR>&gt; &nbsp;<BR>&gt; &nbsp;<BR>&gt; &nbsp;<BR>&gt; 
      &nbsp;<BR>&gt; &nbsp;<BR>&gt;<BR>&gt; ----- Original Message -----<BR>&gt; 
      From: Solli Honorio<BR>&gt; To: <A href="mailto:saopaulo-pm@mail.pm.org" 
      target=_blank>saopaulo-pm@mail.pm.org</A><BR>&gt; Sent: Wednesday, July 
      08, 2009 3:32 PM<BR>&gt; Subject: Re: [SP-pm] Problemas numa 
      comparação<BR>&gt; Claudio, eu não ví que vc já havia encontrado o teu 
      problema, mas continuo curioso sobre o teu trabalho... mas quero mostra 
      uma outra solução para o teu problema...<BR>&gt;<BR>&gt; 
      &lt;code&gt;<BR>&gt; sub ver_conteudo {<BR>&gt; &nbsp; return 1 &lt;&lt; 
      $_[0] &amp; $_[1] ? 1 : 0;<BR>&gt; }<BR>&gt;<BR>&gt; if ( 
      ver_conteudo(1,6) ) {<BR>&gt; &nbsp; print "Verdadeiro\n";<BR>&gt; } else 
      {<BR>&gt; &nbsp; print "Falso\n";<BR>&gt; }<BR>&gt; 
      &lt;/code&gt;<BR>&gt;<BR>&gt; apesar de não ser tão legível (com certeza 
      percisa de uma explicação), é muito mais rápido pois não preciso criar um 
      array.<BR>&gt;<BR>&gt; Solli M. Honório<BR>&gt;<BR>&gt; 2009/7/8 Solli 
      Honorio &lt;<A href="mailto:shonorio@gmail.com" 
      target=_blank>shonorio@gmail.com</A>&gt;<BR>&gt;&gt;<BR>&gt;&gt; Claudio, 
      eu não o que vc quer cara, não entendi o que vc quis dizer com 'É uma 
      comparação feita como entre Bytes como Boolean.', então vou responder o 
      que eu acho que deveria ser a tradução do teu 
      código:<BR>&gt;&gt;<BR>&gt;&gt; &lt;code&gt;<BR>&gt;&gt; sub ver_conteudo 
      {<BR>&gt;&gt; &nbsp; my @bits = (1,2,4,8,16,32,64,128);<BR>&gt;&gt; &nbsp; 
      return $bits[1] &amp; $_[0] ? 1 : 0;<BR>&gt;&gt; }<BR>&gt;&gt;<BR>&gt;&gt; 
      if ( ver_conteudo(8) ) {<BR>&gt;&gt; &nbsp; print 
      "Verdadeiro\n";<BR>&gt;&gt; } else {<BR>&gt;&gt; &nbsp; print 
      "Falso\n";<BR>&gt;&gt; }<BR>&gt;&gt; &lt;/code&gt;<BR>&gt;&gt;<BR>&gt;&gt; 
      Agora fiquei curioso, porque e como vc está traduzindo um programa em 
      Delphi para Perl ? Isto é para uma empresa ?<BR>&gt;&gt;<BR>&gt;&gt; 
      Abraços,<BR>&gt;&gt;<BR>&gt;&gt; Solli M. Honório<BR>&gt;&gt;<BR>&gt;&gt; 
      2009/7/8 &lt;<A href="mailto:claudio@dpreferencial.com.br" 
      target=_blank>claudio@dpreferencial.com.br</A>&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; 
      &nbsp;<BR>&gt;&gt;&gt; Pessoall, Boa tarde!<BR>&gt;&gt;&gt; 
      &nbsp;<BR>&gt;&gt;&gt; Como sempre, estou precisando de um 
      HELP!!!<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; Estou passando um sistema 
      de Delphi para Perl<BR>&gt;&gt;&gt; e não tenho consiguido 
      achar&nbsp;indicação&nbsp;<BR>&gt;&gt;&gt; para desenvolver este trecho do 
      código.<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; É uma comparação feita como 
      entre Bytes como Boolean.<BR>&gt;&gt;&gt; 
      ________________________________________________________________<BR>&gt;&gt;&gt; 
      ________________________________________________________________<BR>&gt;&gt;&gt; 
      Segue o trecho do código:<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; Procedure 
      Ver_Conteudo;<BR>&gt;&gt;&gt; &nbsp;&nbsp; const BITS: array[0..7] of Byte 
      = (1,2,4,8,16,32,64,128);<BR>&gt;&gt;&gt; &nbsp;&nbsp; Res:&nbsp;&nbsp; 
      Boolean;<BR>&gt;&gt;&gt; Begin<BR>&gt;&gt;&gt; 
      &nbsp;&nbsp;&nbsp;<BR>&gt;&gt;&gt; &nbsp; Res := Boolean ( BITS[1] and 6 
      );&nbsp;&nbsp; &nbsp;//&nbsp;Este é o trecho que me interessa, &nbsp;este 
      resultado dá true.<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; &nbsp; if (Res) 
      Then ShowMessage('True') else ShowMessage('False');<BR>&gt;&gt;&gt; 
      &nbsp;<BR>&gt;&gt;&gt; End;<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; 
      ________________________________________________________________<BR>&gt;&gt;&gt; 
      ________________________________________________________________<BR>&gt;&gt;&gt; 
      &nbsp;<BR>&gt;&gt;&gt; Qualquer ajuda/ luz,&nbsp;ajuda 
      muito...<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; desde já agradeço a 
      todos.<BR>&gt;&gt;&gt; &nbsp;<BR>&gt;&gt;&gt; Abs<BR>&gt;&gt;&gt; 
      &nbsp;<BR>&gt;&gt;&gt; Claudio H.Binaghi<BR>&gt;&gt;&gt; <A 
      href="mailto:claudio@dpreferencial.com.br" 
      target=_blank>claudio@dpreferencial.com.br</A><BR>&gt;&gt;&gt; 5511 
      3288.4840<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; 
      _______________________________________________<BR>&gt;&gt;&gt; 
      SaoPaulo-pm mailing list<BR>&gt;&gt;&gt; <A 
      href="mailto:SaoPaulo-pm@pm.org" 
      target=_blank>SaoPaulo-pm@pm.org</A><BR>&gt;&gt;&gt; <A 
      href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
      target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt; 
      --<BR>&gt;&gt; "o animal satisfeito dorme". - Guimarães 
      Rosa<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; --<BR>&gt; "o animal satisfeito 
      dorme". - Guimarães Rosa<BR>&gt;<BR>&gt; 
      ________________________________<BR>&gt;<BR>&gt; 
      _______________________________________________<BR>&gt; SaoPaulo-pm 
      mailing list<BR>&gt; <A href="mailto:SaoPaulo-pm@pm.org" 
      target=_blank>SaoPaulo-pm@pm.org</A><BR>&gt; <A 
      href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
      target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR>&gt;<BR>&gt; 
      _______________________________________________<BR>&gt; SaoPaulo-pm 
      mailing list<BR>&gt; <A href="mailto:SaoPaulo-pm@pm.org" 
      target=_blank>SaoPaulo-pm@pm.org</A><BR>&gt; <A 
      href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
      target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR><BR></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm 
      mailing list<BR><A 
      href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</A><BR><A 
      href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" 
      target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR 
    clear=all><BR>-- <BR>"o animal satisfeito dorme". - Guimarães Rosa<BR>
    <P>
    <HR>

    <P></P>_______________________________________________<BR>SaoPaulo-pm 
    mailing 
    list<BR>SaoPaulo-pm@pm.org<BR>http://mail.pm.org/mailman/listinfo/saopaulo-pm</BLOCKQUOTE>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>SaoPaulo-pm mailing 
  list<BR>SaoPaulo-pm@pm.org<BR>http://mail.pm.org/mailman/listinfo/saopaulo-pm</BLOCKQUOTE></BODY></HTML>