Classe TCalculadora....
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.
- 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
Curtidas 0
Respostas
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
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
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
Muito obrigado a todos
GOSTEI 0