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

 



Responder a