Classe TCalculadora....

Delphi

28/04/2009

Pessoal quando eu chamo o metodo abaixo para setar o Fn1 ele da erro e nao consegui achar o que q eu fiz de errado ..

- calc.SetarOperacao(edit1.Text,((sender as Tbutton).Caption));

Muito obrigado


unit UCalculadora;

interface
uses StdCtrls,Dialogs,SysUtils,Controls;

type
TCalculo = class

private
FNum1: Double;
FNum2: Double;
Getoperacao : string;

procedure SetNum1(const Value: Double);
procedure SetNum2(const Value: Double);
function Somar: Double;
procedure SetOperacao(const Value: String);

{ private declarations }
protected
{ protected declarations }
public
{ public declarations }

Property Num1 : Double read FNum1 write SetNum1;
Property Num2 : Double read FNum2 write SetNum2;
Property Operacao : String read GetOperacao Write SetOperacao;

Function Dividir : Double;
Function Subtrair : Double;
Function multiplicar :Double;
function preencheNumeros(aNumAnterior,aNumNovo:String):string;
Procedure SetarOperacao(aValorParaFnu1,TipoOperacao:String);
Procedure limparCalculadora(aScreem:Tedit);
end;

implementation

uses UfrmCalculadora;

{ TCalculo }

{ TCalculo }

function TCalculo.Subtrair: Double;
begin
result := FNum1 - FNum2;
end;

function TCalculo.Dividir: Double;
begin
result := FNum1/FNum2;
end;

function TCalculo.Somar: Double;
begin
result := fnum1 + fnum2;
end;

procedure TCalculo.limparCalculadora(aScreem: Tedit);
begin
aScreem.Text := ´0´;
end;

function TCalculo.multiplicar: Double;
begin
result := fnum1 * fnum2;
end;

function TCalculo.preencheNumeros(aNumAnterior, aNumNovo: String): string;
begin
if aNumAnterior = ´0´ then
result := aNumNovo
else
result := aNumAnterior + aNumNovo ;
end;

procedure TCalculo.SetarOperacao(aValorParaFnu1, TipoOperacao: String);
begin
SetNum1(StrToFloat(aValorParaFnu1));
SetOperacao(TipoOperacao);
end;

procedure TCalculo.SetNum1(const Value: Double);
begin
FNum1 := Value;
end;

procedure TCalculo.SetNum2(const Value: Double);
begin
FNum2 := Value;
end;

procedure TCalculo.SetOperacao(const Value: String);
begin
Getoperacao := value;
end;

end.


Mortarello

Mortarello

Curtidas 0

Respostas

Marco Salles

Marco Salles

28/04/2009

Pessoal quando eu chamo o metodo abaixo para setar o Fn1 ele da erro e nao consegui achar o que q eu fiz de errado .. - calc.SetarOperacao(edit1.Text,((sender as Tbutton).Caption));


Tá e nesse momento qual o Valor que tem no texto do Edit1.text ????


GOSTEI 0
Woinch

Woinch

28/04/2009

Não consegui simular o seu problema apenas com os dados que mostraste. Poderia ao menos expor o erro que está acontecendo.


GOSTEI 0
Mortarello

Mortarello

28/04/2009

ola Pessoal, olhando aqui o codigo eu cometi um erro primario..eu nao tinha criado a variavel calc no oncreate do formulario ...

Muito obrigado a todos


GOSTEI 0
POSTAR