Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
LukkasDolberth Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013 Mensagens: 190
|
Enviada: Qua Jul 17, 2013 8:23 am Assunto: Função-Calculadora |
|
|
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 |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Qua Jul 17, 2013 8:29 am Assunto: |
|
|
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 |
|
 |
LukkasDolberth Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013 Mensagens: 190
|
Enviada: Qua Jul 17, 2013 8:35 am Assunto: |
|
|
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 |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Qua Jul 17, 2013 8:46 am Assunto: |
|
|
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 |
|
 |
LukkasDolberth Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013 Mensagens: 190
|
Enviada: Qua Jul 17, 2013 8:54 am Assunto: |
|
|
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 |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Qua Jul 17, 2013 9:00 am Assunto: |
|
|
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 |
|
 |
LukkasDolberth Aprendiz


Registrado: Terça-Feira, 9 de Julho de 2013 Mensagens: 190
|
Enviada: Qua Jul 17, 2013 9:03 am Assunto: |
|
|
hum...entendi...poderia me dizer oque é essa variável result?
ela é declarada em algum lugar? |
|
Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Qua Jul 17, 2013 9:11 am Assunto: |
|
|
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 |
|
 |
|