Fórum Problema em conversão Binário para Decimal. #561557
25/08/2016
0
Está faltando alguma biblioteca no uses?
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Windows, Messages, StdCtrls;
type
TForm1 = class(TForm)
private
function BinToInt(Value: String): LongInt;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
/
function BinToInt(Value: LongInt;Size: Integer): String;
var
i: Integer;
begin
Result:='';
for i:=Size downto 0 do
begin
if Value and (1 shl i)<>0 then
begin
Result:=Result+'1';
end
else
begin
Result:=Result+'0';
end;
end;
end;
end.
Agradeço pela atenção.
Eric Melvin
Curtir tópico
+ 0Post mais votado
26/08/2016
complementando o que o Sr. Jones Granatyr respondeu:
A função declarada na seção private está diferente da que está em implementation, por isso está gerando erro (os parâmetros estão diferentes). Uma dica é você apertar CTRL+SHIFT+C, assim será gerada a função em implementation conforme o que estiver definido no private
Jones
o processo convencional para se criar um método, seja function ou procedure é:
* Declare a função na sessão private ou public da classe em questão ( neste caso em TForm1 ) e então pressionar simultaneamente as teclas CTRL + SHIFT + C, desta forma, o Delphi declara o cabeçalho da função:
<metodo> Classe.<nomeDoMetodo([parametros])[result] ;
begin
end ;
caso, se faça o caminho contrário, é usado em alguma situações, é necessário obedecer estas diretrizes básicas, ou seja:
* cria-se a função:
procedure TFrmMain.somaNumeros(valor1, valor2: integer) ;
begin
showmessage( inttostr( valor1 + valor2 ) ) ;
end ;
* declara-se a função:
TForm1 = class(TForm)
private
{ private declarations }
public
{ public declarations }
procedure somaNumeros(valor1, valor2: integer) ;
end;
sempre se atentando aos nome utilizados tanto o do método quanto os parâmetros.
espero que tenha de ajudado!
grato!
Jonatas Alves
Gostei + 2
Mais Posts
26/08/2016
Jones Granatyr
A função declarada na seção private está diferente da que está em implementation, por isso está gerando erro (os parâmetros estão diferentes). Uma dica é você apertar CTRL+SHIFT+C, assim será gerada a função em implementation conforme o que estiver definido no private
Jones
Gostei + 1
26/08/2016
Eric Melvin
Trabalho desde sempre com procedures, o que é teoricamente mais fácil. Nunca trabalhei com functions.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)