Re: [delphi-br] Conversão pra .NET

2006-02-27 Por tôpico Rafael Jorge
o .net tem rotinas de criptografia ja prontas e a microsoft aconselha a
utilizar elas.
mas se por necessidade de compatibilidade vc precisar uzar a suas propias
rotinas é melhor vc criar mermo a dll em win32 pq as variaveis do
delphi.netsao na verdade apontamento pra tipos de variaveis no .net e
pode ocorrer
diferenca de tamnaho e etc. e por isso sua rotina esta rodando e dando um
resultado diferente.

t+

2006/2/22, José Henrique (Zote) [EMAIL PROTECTED]:

 Ta ali, no final do e-mail!!

 --
 José Henrique (Zote)
 -Mensagem original-
 De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
 nome de Eduardo Alves
 Enviada em: quarta-feira, 22 de fevereiro de 2006 15:48
 Para: delphi-br@yahoogrupos.com.br
 Assunto: RE: [delphi-br] Conversão pra .NET

 Poste a rotina !!!

 Eduardo

 -Original Message-
 From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
 On Behalf Of José Henrique (Zote)
 Sent: quarta-feira, 22 de fevereiro de 2006 15:45
 To: delphi-br@yahoogrupos.com.br
 Subject: [delphi-br] Conversão pra .NET
 Importance: High

 Pessoal,



 To tentando converter uma rotina em delphi (win32) para delphi (.net).

 Ta compilando, mas ta dando diferença no resultado.



 Alguém pode me ajudar?



 Rotina em win32:

 function Cript(MCad, MOp: string): string;

 var

   i: integer;

   ate: integer;

   x1: integer;

   x2: integer;



   CripTO: string;

   r1: string[1];

   r2: string[1];

 begin

   Result := '';

   CripTO := '';



   if Odd(Length(mCad)) then mCad := mCad + ' ';

 ate := Length(mCad) div 2;



   for i := 1 to ate do

   begin

 x1 := ord(mCad[((i-1) * 2) + 1]);

 x2 := ord(mCad[((i-1) * 2) + 2]);



 if mOp = 'D' then

 begin

   r2 := chr((-x2 + x1 + 157) div 2);

   r1 := chr(x1 - ((-x2 + x1 + 157) div 2));

 end

 else

 begin

   r2 := chr(x1 + 157 - x2);

   r1 := chr( x1 + x2);

 end;



 CripTo := CripTo + r1 + r2;

   end;



   Result := CripTO;

 end;



 Rotina em .NET:

 class function TUtil.Cript(MCad, MOp: string): string;

 var

   i: integer;

   ate: integer;

   x1: integer;

   x2: integer;



   r1: string[1];

   r2: string[1];



   sb: StringBuilder;

 begin

   if Odd(Length(mCad)) then mCad := mCad + ' ';

 ate := Length(mCad) div 2;



   sb := StringBuilder.Create('');



   try

 for i := 1 to ate do

 begin

   x1 := ord(mCad[((i-1) * 2) + 1]);

   x2 := ord(mCad[((i-1) * 2) + 2]);



   if mOp.ToUpper = 'D' then

   begin

 r2 := chr((-x2 + x1 + 157) div 2);

 r1 := chr(x1 - ((-x2 + x1 + 157) div 2));

   end

   else

   begin

 r2 := chr(x1 + 157 - x2);

 r1 := chr( x1 + x2);

   end;



   sb.Append(r1 + r2);

 end;

   finally

 Result := sb.ToString;

 sb.Free;

   end;

 end;



 Preciso disso ainda hoje, senão, vou ter que fazer uma dll em win32 e
 importar no .net.

 Valeu!



 --

 José Henrique (Zote)



 [As partes desta mensagem que não continham texto foram removidas]



 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



 Links do Yahoo! Grupos









 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 



 Links do Yahoo! Grupos








 Received: (qmail 72566 invoked by uid 0); 22 Feb 2006 15:53:16 -0300
 Received: from 216.155.203.224 by poseidon.bludata.com.br (envelope-from
 sentto-1058778-136080-1140634102-zote=
 [EMAIL PROTECTED], uid 0) with qmail-scanner-1.25
 (clamdscan: 0.85/974. spamassassin: 3.0.2.
 Clear:RC:0(216.155.203.224):SA:0(-1.6/5.0):.
 Processed in 5.736095 secs); 22 Feb 2006 18:53:16 -
 X-Qmail-Scanner-Mail-From: sentto-1058778-136080-1140634102-zote=
 [EMAIL PROTECTED] via poseidon.bludata.com.br
 X-Qmail-Scanner: 1.25 (Clear:RC:0(216.155.203.224):SA:0(-1.6/5.0):.
 Processed in 5.736095 secs)
 Received: from unknown (HELO n4a.bullet.dcn.yahoo.com) (216.155.203.224)
   by poseidon.bludata.com.br with SMTP; 22 Feb 2006 15:53:10 -0300
 Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
 DomainKey-Signature: a=a-sha1; q=s; c=fws; s=tel; d=hoogrupos.com.br;

 
 b=0zJujWAEXMeq5Do8NXI1MN3UXQciq4nVntpjl+StH3+xJ24fDLuUB407MSmU94z7qlrV0MUgzvA/bK4h2lNgjmWCZptgyPp0uHPAeFrbsDXiUiyWo6Sghs65DDvdmw;
 Received: from [216.155.201.64] by n4.bullet.dcn.yahoo.com with NNFMP; 22
 Feb 2006 18:52:57 -
 Received: from [66.218.66.59] by t1.bullet.dcn.yahoo.com with NNFMP; 22
 Feb 2006 18:48:22 -
 Received: from [66.218.66.31] by t8.bullet.scd.yahoo.com with NNFMP; 22
 Feb 2006 18:48:22 -
 X-Yahoo-Newman-Property: groups-email
 X-Sender: [EMAIL PROTECTED]
 X-Apparently-To: delphi-br@yahoogrupos.com.br
 Received: (qmail 60926 invoked from network); 22 Feb 2006 18:48:21 -
 Received: from unknown (66.218.66.216)
   by m25.grp.scd.yahoo.com with QMQP; 22 Feb 2006 18:48:21 -
 Received: from unknown (HELO pythagoras.intranet.cbab.com.br) (
 200.222.94.116)
   by mta1.grp.scd.yahoo.com with SMTP; 22 Feb 2006 18:48:21

RE: [delphi-br] Conversão pra .NET

2006-02-22 Por tôpico Eduardo Alves
Poste a rotina !!!

Eduardo

-Original Message-
From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of José 
Henrique (Zote)
Sent: quarta-feira, 22 de fevereiro de 2006 15:45
To: delphi-br@yahoogrupos.com.br
Subject: [delphi-br] Conversão pra .NET
Importance: High

Pessoal,

 

To tentando converter uma rotina em delphi (win32) para delphi (.net).

Ta compilando, mas ta dando diferença no resultado.

 

Alguém pode me ajudar?

 

Rotina em win32:

function Cript(MCad, MOp: string): string;

var

  i: integer;

  ate: integer;

  x1: integer;

  x2: integer;

 

  CripTO: string;

  r1: string[1];

  r2: string[1];

begin

  Result := '';

  CripTO := '';

 

  if Odd(Length(mCad)) then mCad := mCad + ' ';

ate := Length(mCad) div 2;

 

  for i := 1 to ate do

  begin

x1 := ord(mCad[((i-1) * 2) + 1]);

x2 := ord(mCad[((i-1) * 2) + 2]);

 

if mOp = 'D' then

begin

  r2 := chr((-x2 + x1 + 157) div 2);

  r1 := chr(x1 - ((-x2 + x1 + 157) div 2));

end

else

begin

  r2 := chr(x1 + 157 - x2);

  r1 := chr( x1 + x2);

end;

 

CripTo := CripTo + r1 + r2;

  end;

 

  Result := CripTO;

end;

 

Rotina em .NET:

class function TUtil.Cript(MCad, MOp: string): string;

var

  i: integer;

  ate: integer;

  x1: integer;

  x2: integer;

 

  r1: string[1];

  r2: string[1];

 

  sb: StringBuilder;

begin

  if Odd(Length(mCad)) then mCad := mCad + ' ';

ate := Length(mCad) div 2;

 

  sb := StringBuilder.Create('');

 

  try

for i := 1 to ate do

begin

  x1 := ord(mCad[((i-1) * 2) + 1]);

  x2 := ord(mCad[((i-1) * 2) + 2]);

 

  if mOp.ToUpper = 'D' then

  begin

r2 := chr((-x2 + x1 + 157) div 2);

r1 := chr(x1 - ((-x2 + x1 + 157) div 2));

  end

  else

  begin

r2 := chr(x1 + 157 - x2);

r1 := chr( x1 + x2);

  end;

 

  sb.Append(r1 + r2);

end;

  finally

Result := sb.ToString;

sb.Free;

  end;

end;

 

Preciso disso ainda hoje, senão, vou ter que fazer uma dll em win32 e importar 
no .net.

Valeu!

 

--

José Henrique (Zote)



[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 


 
Links do Yahoo! Grupos




 




-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html