Jump to content
Fórum Script Brasil
  • 0

Calculadora Empresarial


Question

Neste tutorial ensinarei a criar uma calculadora empresarial no Lazarus, baseado nas fórmulas de logística.

Criando o primeiro Form

Para quem não sabe o que é logística, vou explicar de maneira simples, a logística é uma área que envolve planejamento, estratégia, armazenamento, estoque, marketing, vendas, transporte e filosofia Just In Time objetivando a satisfação do cliente.

Devido às várias fórmulas que teremos dentro dessa calculadora, tomei a decisão de dividir esse programa em dois Form (formulários) no Lazarus, vamos calcular as seguintes fórmulas:

* Ciclo do Processo

* Taxa de Produção

* Taxa de Produção por recurso

* Giro de Estoque

* Falta de Qualidade (em relação aos produtos)

* Custo do Produto Vendido (CPV)

* Custo da Falta de Qualidade

* Custo de carregar Estoque

* Custo Fixo

* Custo Total

* Custo Unitário

Componentes necessários no primeiro Form, siga os componentes em ordem de cima para baixo.

* Edit1 (Tempo trabalhado em Horas)

* Edit2 (Número de Produtos bons)

* Button1 (Calcula o ciclo do Processo)

* Edit3 (Resultado do Ciclo do Processo)

* Button2 (Calcula a Taxa de Produção)

* Edit4 (Resultado da Taxa de Produção)

* Edit5 (Taxa de Produção)

* Edit6 (Número de funcionários)

* Button3 (Calcula a Taxa de Produção por recurso)

* Edit7 (Resultado da Taxa de Produção por recurso)

* Edit8 (Total de Materiais)

* Edit9 (Total de Produtos)

* Button4 (Calcula o Giro de Estoque)

* Edit10 (Resultado do Giro de Estoque)

* Edit11 (Produtos com Defeitos)

* Edit12 (Total Produzidos)

* Button5 (Calcula a Falta de Qualidade)

* Edit13 (Resultado da Falta de Qualidade)

* Edit14 (Valor Unitário)

* Button6 (Calcula o Custo do Produto Vendido)

* Edit15( Resultado do Custo do Produto Vendido,abreviação CPV)

* Button7 (Calcula o Custo da Falta de Qualidade)

* Edit16( Resultado da Falta de Qualidade, abreviação CFQ)

* Button8 (Apagar)

* Button9 (Sair)

Para quem não sabe o símbolo "//" representa o comentário sobre o código.

Código fonte: Primeiro Form

procedure TForm1.CalcularCicloDoProcessoClick(Sender: TObject);
var n1,n2,resultado:real; //declaração de variáveis do tipo real(aceita numero inteiro e com vírgula)
begin
n1:=StrToFloat(TempoTrabalhadoEmHoras.Text);// converte n1(numero1) para numero flutuante
n2:=StrToFloat(NumeroDeProdutosBons.Text);//converte n2(numero2)para numero flutuante
resultado:=n1/n2; //Dividi a variável n1(numero1) e n2(numero2
ResultadoDoCicloDoProcesso.Text:=FloatToStr(result ado);//mostra o resultado convertendo numero flutuante(Float) para texto(String)
Através dos códigos e comentários escritos acima você terá compreensão dos códigos seguintes.
procedure TForm1.CalcularTaxaDeProducaoClick(Sender: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(TempoTrabalhado.Text);
n2:=StrToFloat(NumeroDeProdutosBons.Text);
resultado:=n2/n1;
ResultadoTaxaDeProducao.Text:=FloatToStr(resultado );

procedure TForm1.CalcularTaxaDeProducaoPorRecursoClick(Sende r: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(TaxaDeProducao.Text);
n2:=StrToFloat(NumeroDeFuncionarios.Text);
resultado:=n1/n2;
ResultadoTaxaDeProducaoPorRecurso.Text:=FloatToStr (resultado);

procedure TForm1.CalcularGiroDeEstoqueClick(Sender: TObject);
var n1,n2,n3,resultado:real;
begin
n1:=StrToFloat(NumeroDeProdutosBons.Text);
n2:=StrToFloat(TotalDeMateriais.Text);
n3:=StrToFloat(TotalDeProdutos.Text);
resultado:=n1*12/n2/n3;
ResultadoDoGiroDoEstoque.Text:=FloatToStr(resultad o);

procedure TForm1.CalcularFaltaDeQualidadeClick(Sender: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text);
n2:=StrToFloat(TotalProduzido.Text);
resultado:=n1/n2;
ResultadoDaFaltaDeQualidade.Text:=FloatToStr(resul tado);


procedure TForm1.SairClick(Sender: TObject);
begin
Form1.Close;

procedure TForm1.CalcularCPVClick(Sender: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(NumeroDeProdutosBons.Text);
n2:=StrToFloat(ValorUnitario.Text);
resultado:=n1*n2;
ResultadoCPV.Text:=FloatToStr(resultado);

procedure TForm1.CalcularCustoDaFaltaDeQualidadeClick(Sender : TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text);
n2:=StrToFloat(ValorUnitario.Text);
resultado:=n1*n2;
ResultadoDoCustoDaFaltaDeQualidade.Text:=FloatToSt r(resultado);
Clique no "Button8 (Apagar)" e digite o seguinte código para apagar os dados do primeiro Form:
TempoTrabalhado.Text:='';
NumeroDeProdutosBons.Text:='';
resultadoDoCicloDoProcesso.Text:='';
TaxaDeProducao.Text:='';
ResultadoTaxaDeProducao.Text:='';
NumeroDeFuncionarios.Text:='';
ResultadoTaxaDeProducaoPorRecurso.Text:='';
TotalDeMateriais.Text:='';
TotalDeProdutos.Text:='';
ResultadoDoGiroDoEstoque.Text:='';
NumeroDeProdutosComDefeitos.Text:='';
TotalProduzido.Text:='';
ResultadoDaFaltaDeQualidade.Text:='';
ResultadoCPV.Text:='';
ResultadoDoCustoDaFaltaDeQualidade.Text:='';
Clique no Button9(Sair) digite o seguinte código para fazer a função do botão (Sair):
Form1. close; //Fecha o Form
Salve o programa. Criando o segundo Form Componentes necessários para o segundo Form: * Edit17 (Estoque de Produção em Processo) * Edit18 (Valor unitário) * Edit19 (Taxa de Juros) * Button10 (Calcula o Custo de Carregar Estoque) * Edit20 (Resultado do Custo de Carregar Estoque) * Edit21 (Salário do Colaborador) * Edit22 (Despesas Gerais) * Button11 (Calcula o Custo Fixo) * Edit23 (Resultado do Custo Fixo) * Edit24 (Custo do Produto Vendido) * Edit25 (Custo da Qualidade) * Edit26 (Custo do Estoque) * Edit27 (Custo Fixo) * Button12 (Calcula o Custo Total) * Edit28 (Resultado do Custo Total) * Edit29 (Número de Produtos Bons) * Button13 (Calcula o Custo Unitário) * Edit30 (Resultado do Custo Unitário) * Button14 (Sair) * Button15 (Apagar) Código fonte: Segundo Form
procedure TForm2.CalcularCustoDeCarregarEstoqueClick(Sender: TObject);
var n1,n2,n3,resultado:real;
begin
n1:=StrToFloat(EstoqueDeProducaoEmProcesso.Text);
n2:=StrToFloat(ValorUnitario.Text);
n3:=StrToFloat(TaxaDeJuros.Text);
resultado:=n1*n2*n3;
ResultadoDoCustoDeCarregarEstoque.Text:=FloatToStr (resultado);


end;

procedure TForm2.CalcularCustoFixoClick(Sender: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(SalarioDoColaborador.Text);
n2:=StrToFloat(DespesasGerais.Text);
resultado:=n1+n2;
ResultadoDoCustoFixo.Text:=FloatToStr(resultado);

end;

procedure TForm2.CalcularCustoTotalClick(Sender: TObject);
var n1,n2,n3,n4,resultado:real;
begin
n1:=StrToFloat(CPV.Text);
n2:=StrToFloat(CustoDaQualidade.Text);
n3:=StrToFloat(CustoDoEstoque.Text);
n4:=StrToFloat(CustoFixo.Text);
resultado:=n1+n2+n3+n4;
CustoTotal.Text:=FloatToStr(resultado);

end;

procedure TForm2.CalcularCustoUnitarioClick(Sender: TObject);
var n1,n2,resultado:real;
begin
n1:=StrToFloat(CustoTotal.Text);
n2:=StrToFloat(NumeroDeProdutosBons.Text);
resultado:=n1/n2;
ResultadoDoCustoUnitario.Text:=FloatToStr(resultad o);


end;

procedure TForm2.SairClick(Sender: TObject);
begin
Form2.Close;// Fecha o Form2
end;
Códigos necessários para apagar todos os dados do Segundo Form:
procedure TForm2.ApagarClick(Sender: TObject);
begin
EstoqueDeProducaoEmProcesso.Text:='';
ValorUnitario.Text:='';
TaxaDeJuros.Text:='';
ResultadoDoCustoDeCarregarEstoque.Text:='';
SalarioDoColaborador.Text:='';
DespesasGerais.Text:='';
ResultadoDoCustoFixo.Text:='';
CPV.Text:='';
CustoDaQualidade.Text:='';
CustodoEstoque.Text:='';
CustoFixo.Text:='';
CustoTotal.Text:='';
NumeroDeProdutosBons.Text:='';
ResultadoDoCustoUnitario.Text:='';
end;

Salve o programa e execute.

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148896
    • Total Posts
      644924
×
×
  • Create New...