ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Função-Calculadora

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
LukkasDolberth
Aprendiz
Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013
Mensagens: 190

MensagemEnviada: Qua Jul 17, 2013 8:23 am    Assunto: Função-Calculadora Responder com Citação

Bom dia pessoal,sou novo com o delphi,estou começando agora,eu fiz uma calculadora,com 3 edit,5 button..tenho uma unit2 que tem a seguinte implementação:
Unit2;

interface
uses dialogs,unit1;

function conta (a,b:integer): integer;

implementation

function conta(a, b: Integer): Integer;
begin
if (op==1) then //erro acontece aqui a variavel op não foi conhecida
begin
Result := a + b;
end;
end;

end.

oque eu gostaria de fazer?tenho uma variável global na unit1,chamada op,quando clicar no button1 (+) a variável op recebe=1;
eu queria testar essa variavel op na unit2,pois quero fazer a função de subtração,divisão,multiplicação .
se alguém puder me ajudar ficaria muito grato.
obrigado pela atenção,até mais.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Jul 17, 2013 8:29 am    Assunto: Responder com Citação

E se você passar a variável "op" como parâmetro também?
Código:
function conta(a, b, op: Integer): Integer;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LukkasDolberth
Aprendiz
Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013
Mensagens: 190

MensagemEnviada: Qua Jul 17, 2013 8:35 am    Assunto: Responder com Citação

Batera escreveu:
E se você passar a variável "op" como parâmetro também?
Código:
function conta(a, b, op: Integer): Integer;



mas como vou saber se a pessoa digitou + - * / ?
pois os button estão na unit1,se eu usar a op na função,não vou conseguir comparar com o button...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Jul 17, 2013 8:46 am    Assunto: Responder com Citação

Mas "op" não indica a operação?
Por exemplo:
1 = adição
2 = subtração
3 = multiplicação
4 = divisão
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LukkasDolberth
Aprendiz
Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013
Mensagens: 190

MensagemEnviada: Qua Jul 17, 2013 8:54 am    Assunto: Responder com Citação

Batera escreveu:
Mas "op" não indica a operação?
Por exemplo:
1 = adição
2 = subtração
3 = multiplicação
4 = divisão


sim,mas oque eu passo como parâmetro nessa variavel op na function?
as operações estão na unit1,la eu coloquei:

procedure TForm1.Button2Click(Sender: TObject);
begin
op:=1;
end;

como que nessa função vou saber se a op é igual a 1?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Jul 17, 2013 9:00 am    Assunto: Responder com Citação

Você passa o identificar da operação.
Por exemplo, vamos supor que eu quero fazer uma multiplicação com "a" e "b", e que a multiplicação seja o número 3:
Código:
var
  a, b, Resultado: real;
begin
  a := 10;
  b := 4;
  Resultado := conta(a, b, 3); // 3 significa multiplicação
  ShowMessage('O resultado da multiplicação é: ' + FloatToStr(Resultado)); // o resultado será 40
end;

E a função "conta" ficaria dessa forma:
Código:
case op of
  1: result := a + b;        // adição
  2: result := a - b;        // subtração
  3: result := a * b;        // multiplicação
  4: result := trunc(a / b); // divisão
else
  result := 0;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LukkasDolberth
Aprendiz
Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013
Mensagens: 190

MensagemEnviada: Qua Jul 17, 2013 9:03 am    Assunto: Responder com Citação

hum...entendi...poderia me dizer oque é essa variável result?
ela é declarada em algum lugar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Jul 17, 2013 9:11 am    Assunto: Responder com Citação

Não, o result serve apenas para retornar o valor para o chamador da função. Nessa linha, por exemplo:
Código:
Resultado := conta(a, b, 3);

O valor de result é atribuído para a variável Resultado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB