<html>
<head>
</head>
<body>
<DIV><FONT size=2 face=arial>É na verdade simplificaria , mas ...<BR>___________________________________________<BR><BR>Esqueci de comentar ..meus campos tem dois fomatos básicos. <BR>1 - é o código que pod ir de 1...99999. o usuário defini.<BR>2 - é numérico: Real, Int e word..<BR>estes quatro tipos eu transformo no array boolean...<BR>___________________________________________<BR><BR>Veja um comparativo:<BR><BR>uma única record com 05 campos, sendo:<BR>1 - campoA Boolean 02 códigos - tamanho 02 byts<BR>2 - campoB Boolean 10 códigos - tamanho 10 byts<BR>3 - campoC Boolean 05 códigos - tamanho 05 byts<BR>4 - campoD Boolean 03 códigos - tamanho 03 byts<BR>5 - campoE Real -- - tamanho 48 byts<BR> ------------------------<BR>tamanho total 68 byts..<BR><BR>Conteudo da record.<BR>A,B,C,D,E<BR>2,1/5/8,2,1/2/3,5292.32<BR><BR>Veja: tamanho do arquivo ficou em:<BR>- no meu formato 9 bytes.<BR>- no txt 23 bytes. 2,1/5/8,2,1/2/3,5292.32<BR>- no txt 68 bytes. 01100010010001000111101100011001010000111010111100010100011010100100<BR> <BR>vamos nos falando,<BR><BR>abs<BR><BR><BR></FONT></DIV>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Mensagem Original ----- </DIV>
<DIV style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>De:</B> <A title=blabos@gmail.com href="mailto:blabos@gmail.com">Blabos de Blebe</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Para:</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>Data:</B> Thursday, 09 De July De 2009 21:32</DIV>
<DIV style="FONT: 10pt arial"><B>Assunto:</B> Re: [SP-pm] Do Delphi para Perl - Array Boolean para Real/Int/Worde a volta</DIV><BR><FONT size=2 face=arial><FONT size=2 face="Courier New">Olha, eu vou pular as várias ressalvas e tentar ser útil.<BR><BR>Ao invés de usar números, por que você não usa uma string com as letras 0 e 1?<BR><BR>Ttipo:<BR><BR>my $valores = "00011010111010101010100010101";<BR><BR>Com isso:<BR><BR>Você não vai ter que se preocupar com o comprimento binário de um<BR>inteiro ou aramazenar flags em um número em ponto flutuante;<BR>Você não vai ter que se preocupar com a quantidade de valores;<BR>Você vai poder usar as funções length e substr para implementar<BR>funções semelhantes às que estão no pastebin.<BR>Você vai poder converter as listas em escalares e vice-versa, apenas<BR>com split e join.<BR><BR><BR><BR>2009/7/9 <CLAUDIO@DPREFERENCIAL.COM.BR>:<BR>> Pessoal, Boa noite!<BR>><BR>> Ainda estou apanhando naquela questão de passar de números para arrays<BR>> booleanos..<BR>><BR>> Sem querer abusar, mas já abusando ... rsrs..<BR>><BR>><BR>> Se alguém puder me dar umas dicas,<BR>> ou onde posso encontrar estas informações.<BR>><BR>> Desde já agradeço a todos.<BR>><BR>> Claudio H.Binaghi<BR>><BR>> ___________________________________________________<BR>> Segue abaixo como faço em Delphi...<BR>><BR>> Na verdade são 6 procedimentos que fazem:<BR>><BR>> Boolean => Real<BR>> Real => Boolean<BR>><BR>> Boolean => Int<BR>> Int => Boolean<BR>><BR>> Boolean => Word<BR>> Word => Boolean<BR>> ___________________________________________________<BR>><BR>> <BEGIN CODE><BR>><BR>><BR>> {****************************************************************************<BR>> * REAL_BOOLEAN : Transforma uma variavel REAL em posições de uma matriz do<BR>> *<BR>> * tipo Boolean.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (48 elementos), passada como parametro<BR>> *<BR>> * VAR, que recebe o resultado da transformação.<BR>> *<BR>> * R = número REAL a ser "transformado" em posições booleanas.<BR>> *<BR>> ****************************************************************************}<BR>> procedure REAL_BOOLEAN{(var B:TIPO_BOOLEAN_REAL;R: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 Absolute R;<BR>> 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;<BR>><BR>> {****************************************************************************<BR>> * INT_BOOLEAN : Transforma uma variavel INTEGER em posições de uma matriz<BR>> *<BR>> * do tipo Boolean.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro<BR>> *<BR>> * VAR, que recebe o resultado da transformação.<BR>> *<BR>> * I = número INTEGER a ser "transformado" em posições booleanas.<BR>> *<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;<BR>> 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;<BR>><BR>> {****************************************************************************<BR>> * WORD_BOOLEAN : Transforma uma variavel WORD em posições de uma matriz do<BR>> *<BR>> * tipo Boolean.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (16 elementos), passada como parametro<BR>> *<BR>> * VAR, que recebe o resultado da transformação.<BR>> *<BR>> * W = número WORD a ser "transformado" em posições booleanas.<BR>> *<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;<BR>><BR>> 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;<BR>><BR>> {****************************************************************************<BR>> * BOOLEAN_REAL : Retorna um número REAL obtido de um vetor Booleano do tipo<BR>> *<BR>> * TIPO_BOOLEAN_REAL.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (48 elementos) a ser "transformado".<BR>> *<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;<BR>><BR>> 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;<BR>><BR>> {****************************************************************************<BR>> * BOOLEAN_INT : Retorna um número INTEGER obtido de um vetor Booleano do<BR>> *<BR>> * tipo TIPO_BOOLEAN_INT.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (16 elementos) a ser "transformado".<BR>> *<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;<BR>><BR>> 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;<BR>><BR>> {****************************************************************************<BR>> * BOOLEAN_WORD : Retorna um número WORD obtido de um vetor Booleano do tipo<BR>> *<BR>> * TIPO_BOOLEAN_INT.<BR>> *<BR>> *****************************************************************************<BR>> * Input: B = matriz (vetor) Boolean (16 elementos) a ser "transformado".<BR>> *<BR>> ****************************************************************************}<BR>> function BOOLEAN_WORD{(B:TIPO_BOOLEAN_INT):Word};<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;<BR>> N : Word Absolute BY;<BR>> 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>> <END CODE><BR>><BR>><BR>><BR>><BR>><BR>><BR>><BR>> ----- Original Message -----<BR>> From: <A href="mailto:claudio@dpreferencial.com.br" target=_top>claudio@dpreferencial.com.br</A><BR>> To: <A href="mailto:saopaulo-pm@mail.pm.org" target=_top>saopaulo-pm@mail.pm.org</A><BR>> Sent: Thursday, July 09, 2009 12:36 PM<BR>> Subject: Re: [SP-pm] Problemas numa comparação<BR>><BR>> Gostei do exemplo que vc colou lá no Pastebin..<BR>><BR>> ótimo código, bem limpo e simples...<BR>><BR>> VIvendo e aprendendo,<BR>> valeu pela dica..<BR>><BR>> abs<BR>><BR>><BR>> ----- Original Message -----<BR>> From: Solli Honorio<BR>> To: <A href="mailto:saopaulo-pm@mail.pm.org" target=_top>saopaulo-pm@mail.pm.org</A><BR>> Sent: Wednesday, July 08, 2009 11:30 PM<BR>> Subject: Re: [SP-pm] Problemas numa comparação<BR>> Meu querido, tire o sotaque de C e coloque o sotaque de Perl, então :<BR>><BR>> ... de :<BR>> <CODE><BR>><BR>> my $num = 0;<BR>> for (my $i = 0; $i < 8; $i++) {<BR>> if ($options[$i] eq "S") {<BR>> $num = set_bit($num, $i);<BR>> }<BR>> }<BR>><BR>> </CODE><BR>><BR>> para ... :<BR>> <CODE><BR>><BR>> for my $i ( 0..7 ) {<BR>> if ($options[$i] eq "S") {<BR>> $num = set_bit($num, $i);<BR>> }<BR>> }<BR>><BR>> </CODE><BR>><BR>> 2009/7/8 Blabos de Blebe <BLABOS@GMAIL.COM><BR>>><BR>>> 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>>> ----------| Maçã | Laranja | Abacaxi | Banana<BR>>> Wesley | Não | Sim | Não | Não<BR>>> Solli | Não | Sim | Sim | Não<BR>>> Montovani | Não | Não | Não | Sim<BR>>><BR>>> E quer transformar em:<BR>>><BR>>> ----------| Frutas |<BR>>> Wesley | 4 |<BR>>> Solli | 6 |<BR>>> Montovani | 1 |<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<BR>>><BR>>> 2009/7/8 <CLAUDIO@DPREFERENCIAL.COM.BR><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<BR>>> > estes programas as bases ficavam realmente gigantes..rsrs..200.000<BR>>> > 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<BR>>> > 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<BR>>> > 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<BR>>> > 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 readn";<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=_top>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=_top>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<BR>>> > continuo curioso sobre o teu trabalho... mas quero mostra uma outra solução<BR>>> > 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 "Verdadeiron";<BR>>> > } else {<BR>>> > print "Falson";<BR>>> > }<BR>>> > </CODE><BR>>> ><BR>>> > apesar de não ser tão legível (com certeza percisa de uma explicação), é<BR>>> > muito mais rápido pois não preciso criar um array.<BR>>> ><BR>>> > Solli M. Honório<BR>>> ><BR>>> > 2009/7/8 Solli Honorio <SHONORIO@GMAIL.COM><BR>>> >><BR>>> >> Claudio, eu não o que vc quer cara, não entendi o que vc quis dizer com<BR>>> >> 'É uma comparação feita como entre Bytes como Boolean.', então vou responder<BR>>> >> 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 "Verdadeiron";<BR>>> >> } else {<BR>>> >> print "Falson";<BR>>> >> }<BR>>> >> </CODE><BR>>> >><BR>>> >> Agora fiquei curioso, porque e como vc está traduzindo um programa em<BR>>> >> Delphi para Perl ? Isto é para uma empresa ?<BR>>> >><BR>>> >> Abraços,<BR>>> >><BR>>> >> Solli M. Honório<BR>>> >><BR>>> >> 2009/7/8 <CLAUDIO@DPREFERENCIAL.COM.BR><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<BR>>> >>> 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=_top>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=_top>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=_top>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=_top>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>>> SaoPaulo-pm mailing list<BR>>> <A href="mailto:SaoPaulo-pm@pm.org" target=_top>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>> SaoPaulo-pm mailing list<BR>> <A href="mailto:SaoPaulo-pm@pm.org" target=_top>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>> SaoPaulo-pm mailing list<BR>> <A href="mailto:SaoPaulo-pm@pm.org" target=_top>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=_top>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=_top>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></FONT></FONT></BLOCKQUOTE>
</body>
</html>