<!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> </DIV>
<DIV><FONT face=Arial size=2>Ainda estou apanhando naquela questão de passar
de números para arrays booleanos..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Sem querer abusar, mas já abusando ...
rsrs..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </DIV>
<DIV><FONT face=Arial size=2>Desde já agradeço a todos.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Claudio H.Binaghi</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </DIV>
<DIV><FONT face=Arial size=2>Na verdade são 6 procedimentos que
fazem:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Boolean => Real</FONT></DIV>
<DIV><FONT face=Arial size=2>Real => Boolean</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>
<DIV><FONT face=Arial size=2>Boolean => Int</FONT></DIV>
<DIV><FONT face=Arial size=2>Int => Boolean</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Boolean => Word</FONT></DIV>
<DIV><FONT face=Arial size=2>Word => Boolean</FONT></DIV>
<DIV>
<DIV><FONT face=Arial
size=2>___________________________________________________</FONT></DIV></DIV></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><BEGIN CODE></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
REAL_BOOLEAN : Transforma uma variavel REAL em posições de uma matriz do
*<BR>*
tipo
Boolean.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (48 elementos), passada como parametro
*<BR>* VAR,
que recebe o resultado da
transformação.
*<BR>* R = número REAL a ser
"transformado" em posições booleanas.
*<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> BY :
array[1..6] of Byte Absolute R;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(B,SizeOf(B),0);<BR>
For I:=1 to 6 do<BR> If BY[I]<>0 then For J:=1 to 8
do<BR> B[8*(I-1)+J]:=Boolean(BITS[J] and
BY[I]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
INT_BOOLEAN : Transforma uma variavel INTEGER em posições de uma
matriz
*<BR>*
do tipo
Boolean.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro
*<BR>* VAR,
que recebe o resultado da
transformação.
*<BR>* I = número INTEGER a ser
"transformado" em posições booleanas.
*<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> BY
: array[1..2] of Byte Absolute I;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(B,SizeOf(B),0);<BR>
For J:=1 to 2 do<BR> If BY[J]<>0 then For K:=1 to 8
do<BR> B[8*(J-1)+K]:=Boolean(BITS[K] and
BY[J]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
WORD_BOOLEAN : Transforma uma variavel WORD em posições de uma matriz do
*<BR>*
tipo
Boolean.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro
*<BR>* VAR,
que recebe o resultado da
transformação.
*<BR>* W = número WORD a ser
"transformado" em posições booleanas.
*<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> BY
: array[1..2] of Byte Absolute W;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(B,SizeOf(B),0);<BR>
For J:=1 to 2 do<BR> If BY[J]<>0 then For K:=1 to 8
do<BR> B[8*(J-1)+K]:=Boolean(BITS[K] and
BY[J]);<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
BOOLEAN_REAL : Retorna um número REAL obtido de um vetor Booleano do tipo
*<BR>*
TIPO_BOOLEAN_REAL.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (48 elementos) a ser
"transformado".
*<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> BY :
array[1..6] of Byte;<BR> R : Real Absolute
BY;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(BY,6,0);<BR> For
I:=1 to 6 do<BR> For J:=1 to 8
do<BR> If B[8*(I-1)+J] then
BY[I]:=BY[I]+BITS[J];<BR> Result:=R;<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
BOOLEAN_INT : Retorna um número INTEGER obtido de um vetor Booleano
do
*<BR>*
tipo
TIPO_BOOLEAN_INT.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (16 elementos) a ser
"transformado".
*<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> BY :
array[1..2] of Byte;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(BY,2,0);<BR> For
I:=1 to 2 do<BR> For J:=1 to 8
do<BR> If B[8*(I-1)+J] then
BY[I]:=BY[I]+BITS[J];<BR> If LongInt((BY[2] shl 8)+BY[1])>32767
then<BR> Result:=Integer(((BY[2] shl
8)+BY[1])-65536)<BR> else<BR> Result:=(BY[2]
shl 8)+BY[1];<BR>End;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>{****************************************************************************<BR>*
BOOLEAN_WORD : Retorna um número WORD obtido de um vetor Booleano do tipo
*<BR>*
TIPO_BOOLEAN_INT.
*<BR>*****************************************************************************<BR>*
Input: B = matriz (vetor) Boolean (16 elementos) a ser
"transformado".
*<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> BY :
array[1..2] of Byte;<BR> N : Word Absolute
BY;</FONT></DIV>
<DIV><FONT face=Arial size=2>Begin<BR> FillChar(BY,2,0);<BR> For
I:=1 to 2 do<BR> For J:=1 to 8
do<BR> If B[8*(I-1)+J] then
BY[I]:=BY[I]+BITS[J];<BR> BOOLEAN_WORD:=N;<BR>End;<BR></FONT></DIV>
<DIV><FONT face=Arial size=2><END CODE></DIV></FONT>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </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> </DIV>
<DIV><FONT face=Arial size=2>ótimo código, bem limpo e simples...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </DIV>
<DIV><FONT face=Arial size=2>abs</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </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><code><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> < <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> <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> <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> <SPAN class=br0>}</SPAN></DIV>
<LI class=li1>
<DIV class=de1><SPAN
class=br0>}</SPAN></DIV></LI></OL></code><BR><BR>para ... :
<BR><code><BR>
<OL style="FONT-FAMILY: courier new,monospace">
<LI class=li1>
<DIV class=de1><SPAN class=kw1>for</SPAN> <SPAN class=br0>my $i (
0..7 </SPAN><SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
<LI class=li2>
<DIV class=de2> <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> <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> <SPAN class=br0>}</SPAN></DIV>
<LI class=li1>
<DIV class=de1><SPAN
class=br0>}</SPAN></DIV></LI></OL><BR></code><BR><BR>
<DIV class=gmail_quote>2009/7/8 Blabos de Blebe <SPAN dir=ltr><<A
href="mailto:blabos@gmail.com">blabos@gmail.com</A>></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 | Não
| Sim | Não | Não</SPAN><BR
style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Solli | Não
| Sim | Sim | Não</SPAN><BR
style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Montovani | Não | Não
| Não | 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 | 4
|</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Solli | 6
|</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Montovani | 1
|</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 <<A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A>><BR>><BR>> A todos
boa noite!<BR>> <BR>> Soli,<BR>> valeu a intenção, mas
assim não rola..<BR>> já resolvi isto com & mesmo...<BR>>
<BR>> Estou passando o meu sistema que é em
Delphi..mas...<BR>> sou novato total em Perl...rsrs...<BR>>
<BR>> <BR>> Respondendo a sua pergunta:<BR>>
________________<BR>> Um breve histórico:<BR>> <BR>> Eu
trabalho com processamento de pesquisas de mercado. (tabulação)<BR>>
<BR>> No começo trabalhei muito anos com Statiscs SPSS, Statiscs
... (com estes programas as bases ficavam realmente
gigantes..rsrs..200.000 campos..rsrs)<BR>> acabei desenvolvendo meu
próprio sistema de tabulação.<BR>> <BR>> Desenvolvi um
formato para o meu arquivo de dados,<BR>> levando em consideração
minhas necessidades, tais como:<BR>> <BR>> - conteúdo
criptografado.<BR>> - tamanho final do arquivo de base.<BR>> -
quantidade final de campos na base.<BR>> - base não normalizada =
campos multivalorados e dependentes..<BR>> - conteúdo dos campos:
numérico.<BR>> <BR>> levando em consideração que:<BR>> -
80% dos campos de uma pesquisa são campos numéricos e RM (respostas
múltiplas=campos multivalorados)<BR>> Ex:<BR>> Quais
frutas vc gosta:<BR>> 1 - abacaxi<BR>> 2 -
Mamão<BR>> 3 - abacate.... até o código 50.<BR>>
<BR>> um fulano responde os códigos 2/3/4/9/10/15<BR>>
<BR>> num buffer(array de boleanos) eu marco true
nestas posição e gravo.<BR>> <BR>> Veja, no SPSS ou em
outras bases "normais" eu precisaria de 15 campos para guardar as
informações,<BR>> quando que eu guardo num campo só..de tamanho bem
pequeno...rsrs..<BR>> <BR>> (não percebeu meu nome
..rsrs => Binaghi = Binário..rsrs.. aqui só rola um
neurônio, que de vez em quando resolve ficar True..rsrs)<BR>>
____________________________________________________<BR>>
____________________________________________________<BR>>
<BR>> (é um código totalmente grosso..mas funfa..rsrs)<BR>>
<BR>> É assim que eu faço:<BR>> <BR>> Leio o
arq:<BR>> <BR>> open(tap,"<$PathHtdocs");<BR>>
binmode tap;<BR>> my ($buf,
$data, $n, @cont);<BR>> while (($n =
read tap, $data, $x) != 0) {<BR>>
print "$n bytes
read\n";<BR>> $buf .=
$data;<BR>> }<BR>>
print "$buf";<BR>>
close(tap);<BR>> @cont=split(//,$buf);<BR>> <BR>>
Comparo o conteúdo:<BR>> <BR>> push (@byt,1);<BR>>
push (@byt,2);<BR>> push (@byt,4);<BR>> push
(@byt,8);<BR>> push (@byt,16);<BR>> push
(@byt,32);<BR>> push (@byt,64);<BR>> push
(@byt,128);<BR>> my @res;<BR>> my
$RecCount=$n*8;<BR>> for($a=1;$a<=$RecCount+1;$a++){<BR>>
push (@res,0);<BR>>
}<BR>> my $pos=0;<BR>>
for($a=1;$a<=$n;$a++){<BR>>
$val=$cont[$a];<BR>> print "----> testa valor
$a:=$cont[$a]<br>\n"; <BR>>
if(ord($val)!=0){<BR>>
for($k=0;$k<=7;++$k){<BR>>
$pos=8*($a-1)+$k+1;<BR>>
$ord=ord($val);<BR>>
if(ord($val) &
$byt[$k]) {<BR>>
$res[$pos]=1;<BR>>
$r=ver_conteudo(ord($val),$byt[$k]);<BR>> print "----> res[$pos]:=1
/ $r<br>\n";<BR>>
}<BR>>
}<BR>> }<BR>>
}<BR>>
____________________________________________________<BR>>
____________________________________________________<BR>>
<BR>> Esse formato é para as respostas no formato de
códigos,<BR>> os textos, destes códigos, ficam guardados em outro
arquivo..<BR>> Tipo na base normal se guarda no formato literal: Sim,
Não..<BR>> na minha base quardo 1, 2 e tenho um texo só para sim e
não..<BR>> <BR>> Sacou...<BR>> <BR>>
<BR>> Obrigado pela atenção..<BR>> <BR>> Abs<BR>>
<BR>> Claudio H.Binaghi<BR>> <A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A><BR>> 5511
3288.4840<BR>> <BR>> <BR>> <BR>>
<BR>> <BR>><BR>> ----- Original Message -----<BR>>
From: Solli Honorio<BR>> To: <A href="mailto:saopaulo-pm@mail.pm.org"
target=_blank>saopaulo-pm@mail.pm.org</A><BR>> Sent: Wednesday, July
08, 2009 3:32 PM<BR>> Subject: Re: [SP-pm] Problemas numa
comparação<BR>> 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>><BR>>
<code><BR>> sub ver_conteudo {<BR>> return 1 <<
$_[0] & $_[1] ? 1 : 0;<BR>> }<BR>><BR>> if (
ver_conteudo(1,6) ) {<BR>> print "Verdadeiro\n";<BR>> } else
{<BR>> print "Falso\n";<BR>> }<BR>>
</code><BR>><BR>> 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>><BR>> Solli M. Honório<BR>><BR>> 2009/7/8 Solli
Honorio <<A href="mailto:shonorio@gmail.com"
target=_blank>shonorio@gmail.com</A>><BR>>><BR>>> 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>>><BR>>> <code><BR>>> sub ver_conteudo
{<BR>>> my @bits = (1,2,4,8,16,32,64,128);<BR>>>
return $bits[1] & $_[0] ? 1 : 0;<BR>>> }<BR>>><BR>>>
if ( ver_conteudo(8) ) {<BR>>> print
"Verdadeiro\n";<BR>>> } else {<BR>>> print
"Falso\n";<BR>>> }<BR>>> </code><BR>>><BR>>>
Agora fiquei curioso, porque e como vc está traduzindo um programa em
Delphi para Perl ? Isto é para uma empresa ?<BR>>><BR>>>
Abraços,<BR>>><BR>>> Solli M. Honório<BR>>><BR>>>
2009/7/8 <<A href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A>><BR>>>><BR>>>>
<BR>>>> Pessoall, Boa tarde!<BR>>>>
<BR>>>> Como sempre, estou precisando de um
HELP!!!<BR>>>> <BR>>>> Estou passando um sistema
de Delphi para Perl<BR>>>> e não tenho consiguido
achar indicação <BR>>>> para desenvolver este trecho do
código.<BR>>>> <BR>>>> É uma comparação feita como
entre Bytes como Boolean.<BR>>>>
________________________________________________________________<BR>>>>
________________________________________________________________<BR>>>>
Segue o trecho do código:<BR>>>> <BR>>>> Procedure
Ver_Conteudo;<BR>>>> const BITS: array[0..7] of Byte
= (1,2,4,8,16,32,64,128);<BR>>>> Res:
Boolean;<BR>>>> Begin<BR>>>>
<BR>>>> Res := Boolean ( BITS[1] and 6
); // Este é o trecho que me interessa, este
resultado dá true.<BR>>>> <BR>>>> if (Res)
Then ShowMessage('True') else ShowMessage('False');<BR>>>>
<BR>>>> End;<BR>>>> <BR>>>>
________________________________________________________________<BR>>>>
________________________________________________________________<BR>>>>
<BR>>>> Qualquer ajuda/ luz, ajuda
muito...<BR>>>> <BR>>>> desde já agradeço a
todos.<BR>>>> <BR>>>> Abs<BR>>>>
<BR>>>> Claudio H.Binaghi<BR>>>> <A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A><BR>>>> 5511
3288.4840<BR>>>><BR>>>>
_______________________________________________<BR>>>>
SaoPaulo-pm mailing list<BR>>>> <A
href="mailto:SaoPaulo-pm@pm.org"
target=_blank>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>>><BR>>><BR>>><BR>>>
--<BR>>> "o animal satisfeito dorme". - Guimarães
Rosa<BR>><BR>><BR>><BR>> --<BR>> "o animal satisfeito
dorme". - Guimarães Rosa<BR>><BR>>
________________________________<BR>><BR>>
_______________________________________________<BR>> SaoPaulo-pm
mailing list<BR>> <A href="mailto:SaoPaulo-pm@pm.org"
target=_blank>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>><BR>>
_______________________________________________<BR>> SaoPaulo-pm
mailing list<BR>> <A href="mailto:SaoPaulo-pm@pm.org"
target=_blank>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><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>