Criando uma calculadora empresarial no Lazarus

Publicado por Perfil removido em 06/11/2009

[ Hits: 7.946 ]

 


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

Descompactando arquivos 7z e 7zip no Slackware 13

Jogos da Steam sem texturas ou com texturas pretas/escuras [Resolvido]

Howto: Postfix integrado ao Active Directory - Debian Lenny

Use o Tor sem instalar nada em qualquer distribuição!

line 928: ./nvidia-installer: Permissão negada

Leitura recomendada

Instalando o Ktouch - GNU/Linux

Como bloquear o Ultrasurf

Como atribuir um rótulo a um pendrive no Linux (ou outro dispositivo USB)

Mapeando unidade de rede entre Windows e Linux

Liberar MSN por MAC Address

  

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