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 -0000 > 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 -0000 > Received: from [66.218.66.59] by t1.bullet.dcn.yahoo.com with NNFMP; 22 > Feb 2006 18:48:22 -0000 > Received: from [66.218.66.31] by t8.bullet.scd.yahoo.com with NNFMP; 22 > Feb 2006 18:48:22 -0000 > 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 -0000 > Received: from unknown (66.218.66.216) > by m25.grp.scd.yahoo.com with QMQP; 22 Feb 2006 18:48:21 -0000 > 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 -0000 > Content-class: urn:content-classes:message > X-MimeOLE: Produced By Microsoft Exchange V6.5 > Message-ID: < > [EMAIL PROTECTED]> > X-MS-Has-Attach: > X-MS-TNEF-Correlator: > Thread-Topic: =so-8859-1?Q?[delphi-br]_Conversão_pra_.NET?Thread-Index: > AcY34BrhBBmxYv7FSQCNJDeDrNFVPwAAFg2w > To: <delphi-br@yahoogrupos.com.br> > X-Originating-IP: 200.222.94.116 > X-eGroups-Msg-Info: 1:12:0:0 > From: "Eduardo Alves" <[EMAIL PROTECTED]> > X-Yahoo-Profile: ecastroa_edu > Sender: delphi-br@yahoogrupos.com.br > MIME-Version: 1.0 > Mailing-List: list delphi-br@yahoogrupos.com.br; contact > [EMAIL PROTECTED] > Delivered-To: mailing list delphi-br@yahoogrupos.com.br > List-Id: <delphi-br.yahoogrupos.com.br> > Precedence: bulk > List-Unsubscribe: <mailto:[EMAIL PROTECTED]> > Date: Wed, 22 Feb 2006 15:47:46 -0300 > Subject: =so-8859-1?Q?RE:_[delphi-br]_Conversão_pra_.NET?Reply-To: > delphi-br@yahoogrupos.com.br > Content-Type: text/plain; charset=O-8859-1 > Content-Transfer-Encoding: quoted-printable > X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on > poseidon.bludata.com.br > X-Spam-Level: > X-Spam-Status: No, score=.8 required=0 tests=L,BAYES_00, > RCVD_IN_BL_SPAMCOP_NET autolearn= version=0.2 > > 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 > > > > > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Links do Yahoo! Grupos > > > > > > > > -- Rafael jorge alves www.itrecife.com -> para verem meus artigos e trabalhos t+ [As partes desta mensagem que não continham texto foram removidas] -- <<<<< 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