Mandando outra sugestão (haha, já que virou festa...)

function BinToDec(ABin: String): Integer;
var
  iAux: Integer;
begin
  iAux := 0;
  Result := 0;
  while (Length(ABin) > 0) do
  begin
    Inc(Result, StrToInt(AnsiLastChar(ABin)) shl iAux);
    Inc(iAux);
    Delete(ABin, Length(ABin), 1);
  end;
end;

Henrique



  ----- Original Message ----- 
  From: Rubem Nascimento da Rocha 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, January 24, 2007 7:59 AM
  Subject: Re: [delphi-br] Funçao que tranforme Binario em INTEIRO


  Olhe as funções que eu postei na lista. Elas estão mais simples. Sds.

  >From: Joao Morais <[EMAIL PROTECTED]>
  >Reply-To: delphi-br@yahoogrupos.com.br
  >To: delphi-br@yahoogrupos.com.br
  >Subject: Re: [delphi-br] Funçao que tranforme Binario em INTEIRO
  >Date: Tue, 23 Jan 2007 12:47:29 -0200
  >
  >Julio Cesar Quierati wrote:
  > > Olá, pessoal.
  > >
  > > estou precisando de uma função para transformar binario em inteiro, 
  >utilizei estas duas funções abaixo mas nao estao retornando os valores 
  >corretos, alguem sabe de outra que funcione ou o que esta ocorrendo com 
  >essas funções ?
  >
  >Feito no improviso, vê se funciona:
  >
  >function BinToInt(const ABinStr: string): Integer;
  >var
  > I: Integer;
  >begin
  > Result := 0;
  > for I := 1 to Length(ABinStr) do
  > begin
  > Result := 2 * Result;
  > if ABinStr[I] = '1' then
  > Inc(Result)
  > else if ABinStr[I] <> '0' then
  > raise Exception.Create('não é binário');
  > end;
  >end;
  >
  >--
  >João Morais
  >
  >
  > > Function BinToInt(valor: string):longint;
  > > var i, tamanho, np : Integer;
  > > Begin
  > > Result :=0;
  > > tamanho := Length(valor);
  > > For i:=0 to Tamanho-1 do
  > > Begin
  > > NP := strtoint(valor[tamanho-1]);
  > > Result := Result + NP *Trunc(Power(2,i));
  > > end;
  > > end;
  > >
  > > Function bintoint( valor:string): integer;
  > > var i, tamanho : integer;
  > > begin
  > > result :=0;
  > > tamanho:= length(valor);
  > > for i:= tamanho downto 0 do
  > > begin
  > > if copy(valor,i,1)='1' then
  > > begin
  > > result := result +(1 shl i);
  > > end;
  > > end;
  > > end;
  >

  __________________________________________________________
  MSN Messenger: converse com os seus amigos online. 
  http://messenger.msn.com.br



   

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

Responder a