Ir para conteúdo
Fórum Script Brasil
  • 0

Calculadora Empresarial


senhor_unix

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...