Criando uma calculadora empresarial no Lazarus

Publicado por Perfil removido em 06/11/2009

[ Hits: 7.965 ]

 


Criando uma calculadora empresarial no Lazarus



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(resultado);//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(Sender: 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(resultado);

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(resultado);


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:=FloatToStr(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(resultado);


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.

Outras dicas deste autor

Instalando Neofetch no Fedora 26

Vídeo aula: como criar uma calculadora de décimo terceiro salário

Confira a atualização do Xplico 0.7.0!

Instalando Formatador de Pendrives no Debian 8

Recuperando GRUB do Mageia Linux

Leitura recomendada

Crie discos de instalação para o Slackware [9-10]

Jogando poker com GNU/Linux

Assistir TV Online pelo Linux

Crie sua própria classe Javascript

No working INIT not found (Slackware) [Resolvido]

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts