Advertisement
ViciadoEmLinux1987

Calculadora completa com porcentagem

Mar 11th, 2023
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 6.20 KB | None | 0 0
  1. unit UnitCalculadora;
  2.    
  3.     {$mode objfpc}{$H+}
  4.    
  5.     interface
  6.    
  7.     uses
  8.       Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
  9.       Menus;
  10.    
  11.     type
  12.    
  13.       { TForm1 }
  14.    
  15.       TForm1 = class(TForm)
  16.         BtnDivisao: TButton;
  17.         BtnMultiplicacao: TButton;
  18.         BtnSete: TButton;
  19.         BtnOito: TButton;
  20.         BtnNove: TButton;
  21.         BtnC: TButton;
  22.         BtnQuatro: TButton;
  23.         BtnCinco: TButton;
  24.         BtnSeis: TButton;
  25.         BtnDois: TButton;
  26.         BtnTres: TButton;
  27.         BtnSubtracao: TButton;
  28.         BtnAdicao: TButton;
  29.         BtnUm: TButton;
  30.         BtnPonto: TButton;
  31.         BtnIgual: TButton;
  32.         BtnPorcentagem: TButton;
  33.         BtnZero: TButton;
  34.         Edit1: TEdit;
  35.         Label1: TLabel;
  36.         MainMenu1: TMainMenu;
  37.         MenuItem1: TMenuItem;
  38.         MenuItem2: TMenuItem;
  39.         Panel1: TPanel;
  40.         procedure BtnAdicaoClick(Sender: TObject);
  41.         procedure BtnCClick(Sender: TObject);
  42.         procedure BtnCincoClick(Sender: TObject);
  43.         procedure BtnDivisaoClick(Sender: TObject);
  44.         procedure BtnDoisClick(Sender: TObject);
  45.         procedure BtnIgualClick(Sender: TObject);
  46.         procedure BtnMultiplicacaoClick(Sender: TObject);
  47.         procedure BtnNoveClick(Sender: TObject);
  48.         procedure BtnOitoClick(Sender: TObject);
  49.         procedure BtnPorcentagemClick(Sender: TObject);
  50.         procedure BtnQuatroClick(Sender: TObject);
  51.         procedure BtnSeisClick(Sender: TObject);
  52.         procedure BtnSeteClick(Sender: TObject);
  53.         procedure BtnSubtracaoClick(Sender: TObject);
  54.         procedure BtnTresClick(Sender: TObject);
  55.         procedure BtnUmClick(Sender: TObject);
  56.         procedure BtnPontoClick(Sender: TObject);
  57.         procedure BtnZeroClick(Sender: TObject);
  58.       private
  59.    
  60.       public
  61.    
  62.       end;
  63.    
  64.     var
  65.       Form1: TForm1;
  66.       valor1, valor2, porcentagem:real;
  67.       tipoconta:string;
  68.    
  69.     implementation
  70.    
  71.     {$R *.lfm}
  72.    
  73.     { TForm1 }
  74.    
  75.     procedure TForm1.BtnAdicaoClick(Sender: TObject);
  76.     begin
  77.         tipoconta:='Adição';
  78.           valor1:=strtofloat(Edit1.text);
  79.           Edit1.Text:='';
  80.           Label1.Caption:='+';
  81.     end;
  82.    
  83.     procedure TForm1.BtnCClick(Sender: TObject);
  84.     begin
  85.       Edit1.text:='';
  86.       valor1:=0;
  87.       valor2:=0;
  88.       tipoconta:='';
  89.       Label1.Caption:='';
  90.     end;
  91.    
  92.     procedure TForm1.BtnCincoClick(Sender: TObject);
  93.     begin
  94.       Edit1.text:=Edit1.text+'5';
  95.     end;
  96.    
  97.     procedure TForm1.BtnDivisaoClick(Sender: TObject);
  98.     begin
  99.          tipoconta:='Divisão';
  100.           valor1:=strtofloat(Edit1.text);
  101.           Edit1.Text:='';
  102.           Label1.Caption:='/';
  103.     end;
  104.    
  105.     procedure TForm1.BtnDoisClick(Sender: TObject);
  106.     begin
  107.       Edit1.text:=Edit1.text+'2';
  108.     end;
  109.    
  110.     procedure TForm1.BtnIgualClick(Sender: TObject);
  111.     begin
  112.     if tipoconta = 'Adição' then
  113.           begin
  114.           valor2:=StrToFloat(edit1.text);
  115.           edit1.text:=FloatToStr(valor1+valor2);
  116.    
  117.         end;
  118.    
  119.         if tipoconta = 'Subtração' then
  120.         begin
  121.           valor2:=StrToFloat(edit1.text);
  122.           edit1.text:=FloatToStr(valor1-valor2);
  123.    
  124.         end;
  125.    
  126.         if tipoconta = 'Divisão' then
  127.         begin
  128.           valor2:=StrToFloat(edit1.text);
  129.           edit1.text:=FloatToStr(valor1/valor2);
  130.    
  131.         end;
  132.         if tipoconta= 'Multiplicação' then
  133.         begin
  134.           valor2:=StrToFloat(Edit1.Text);
  135.           Edit1.Text:=FloatToStr(Valor1 * Valor2);
  136.         end;
  137.    
  138.     end;
  139.    
  140.     procedure TForm1.BtnMultiplicacaoClick(Sender: TObject);
  141.     begin
  142.          tipoconta:='Multiplicação';
  143.           valor1:=strtofloat(Edit1.text);
  144.           Edit1.Text:='';
  145.           Label1.Caption:='X';
  146.     end;
  147.    
  148.     procedure TForm1.BtnNoveClick(Sender: TObject);
  149.     begin
  150.           Edit1.text:=Edit1.text+'9';
  151.     end;
  152.    
  153.     procedure TForm1.BtnOitoClick(Sender: TObject);
  154.     begin
  155.         Edit1.text:=Edit1.text+'8';
  156.     end;
  157.    
  158.     procedure TForm1.BtnPorcentagemClick(Sender: TObject);
  159.     var resultado:real;
  160.    
  161.        begin
  162.    
  163.         if tipoconta ='Multiplicação' then
  164.         begin
  165.    
  166.          valor2:=strtofloat(edit1.text);
  167.          resultado:=valor1*valor2/100;
  168.          Edit1.text:=FloatToStr(resultado);
  169.          Label1.Caption:='%';
  170.          end;
  171.            if tipoconta = 'Adição' then
  172.        begin
  173.           porcentagem:=strtofloat(edit1.text);
  174.           porcentagem:=porcentagem/100;
  175.           porcentagem:=porcentagem*valor1;
  176.           edit1.text:=floattostr(valor1+porcentagem);
  177.    
  178.        end;
  179.        if tipoconta = 'Subtração' then
  180.        begin
  181.           porcentagem:=strtofloat(edit1.text);
  182.           porcentagem:=porcentagem/100;
  183.           porcentagem:=porcentagem*valor1;
  184.           edit1.text:=floattostr(valor1-porcentagem);
  185.    
  186.    
  187.            end;
  188.         if tipoconta = 'Divisão' then
  189.        begin
  190.           porcentagem:=strtofloat(edit1.text);
  191.           porcentagem:=porcentagem/100;
  192.           porcentagem:=porcentagem*valor1;
  193.           edit1.text:=floattostr(valor1/porcentagem);
  194.     end;
  195.    
  196.     end;
  197.    
  198.     procedure TForm1.BtnQuatroClick(Sender: TObject);
  199.     begin
  200.        Edit1.text:=Edit1.text+'4';
  201.     end;
  202.    
  203.     procedure TForm1.BtnSeisClick(Sender: TObject);
  204.     begin
  205.       Edit1.text:=Edit1.text+'6';
  206.     end;
  207.    
  208.     procedure TForm1.BtnSeteClick(Sender: TObject);
  209.     begin
  210.          Edit1.text:=Edit1.text+'7';
  211.     end;
  212.    
  213.     procedure TForm1.BtnSubtracaoClick(Sender: TObject);
  214.     begin
  215.        tipoconta:='Subtração';
  216.           valor1:=strtofloat(Edit1.text);
  217.           Edit1.Text:='';
  218.           Label1.Caption:='-';
  219.     end;
  220.    
  221.     procedure TForm1.BtnTresClick(Sender: TObject);
  222.     begin
  223.       Edit1.text:=Edit1.text+'3';
  224.     end;
  225.    
  226.     procedure TForm1.BtnUmClick(Sender: TObject);
  227.     begin
  228.       Edit1.text:=Edit1.text+'1';
  229.     end;
  230.    
  231.     procedure TForm1.BtnPontoClick(Sender: TObject);
  232.     begin
  233.        Edit1.text:=Edit1.text+'.';
  234.     end;
  235.    
  236.     procedure TForm1.BtnZeroClick(Sender: TObject);
  237.     begin
  238.       Edit1.text:=Edit1.text+'0';
  239.     end;
  240.    
  241.     end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement