Fórum Problema em conversão Binário para Decimal. #561557
25/08/2016
0
Após pesquisar muito, estou tentando fazer um código que faça a conversão. Porém encontro dificuldades para trabalhar com functions, as declaro porém na hora de compilar dá um erro "Forward declaration not Solved "IntToBin(AnsiString):Longint;".
Está faltando alguma biblioteca no uses?
Agradeço pela atenção.
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
+ 0
Responder
Post mais votado
26/08/2016
Olá,
complementando o que o Sr. Jones Granatyr respondeu:
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!
complementando o que o Sr. Jones Granatyr respondeu:
Olá!
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
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
Responder
Gostei + 2
Mais Posts
26/08/2016
Jones Granatyr
Olá!
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
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
Responder
Gostei + 1
26/08/2016
Eric Melvin
Obrigado agora eu finalmente compreendi como funciona, agora está compilando está function. Porém, como faço para que as Labels e Botões que eu inserir na form "conversem" com a function?
Trabalho desde sempre com procedures, o que é teoricamente mais fácil. Nunca trabalhei com functions.
Trabalho desde sempre com procedures, o que é teoricamente mais fácil. Nunca trabalhei com functions.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)