Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

HELENO de Sant'Anna

Valor de um campo condicionado ao valor de outro campo

Recommended Posts

Olá amigos,

 

Estou desenvolvendo uma aplicação em Delphi para gerenciar o controle de Licença Prêmio da Escola onde trabalho. Funciona mais ou menos assim: a cada 10 (dez) anos de efetivo exercício profissional, o funcionário tem direito a gozar 6 (seis) meses de licença prêmio, pois é uma escola pública.

Pois bem, tenho um formulário com os campos tempo de serviço (currency) e período acumulativo (currency), onde

  • se o valor constante em tempo de serviço for maior ou igual a 0 (zero) e menor que 10 (dez), então o campo período acumulativo irá receber 0 (zero);
  • se o valor constante em tempo de serviço for maior ou igual a 10 (dez) e menor que 20 (vinte), então o campo período acumulativo irá receber o valor 6 (seis);
  • se o valor constante em tempo de serviço for maior ou igual a 20 (vinte) e menor que 30 (trinta), então o campo período acumulativo irá receber o valor 12 (doze); e, por último
  • se o valor constante em tempo de serviço for maior ou igual a 30 (trinta), então o campo período acumulativo irá receber o valor 18 (dezoito).

Resumindo:

 

Tempo de serviço = A;

Período acumulativo = B;

 

Então,

  • Se A >= 0 e A < 10, então B:= 0;
  • Se A >= 10 e A < 20, então B:= 6;
  • Se A >= 20 e A < 30, então B:= 12; e
  • Se A >= 30, então B:= 18.

Bem, talvez isto seja mais um problema de Algoritmo do que de Delphi, mas não estou conseguindo implementar uma coisa que parecia ser fácil.

Se alguém puder me ajudar, desde já ficarei enormemente grato.

 

Um abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo, poste o código que está utilizando para que possamos analisar... :coolio:

 

Mas basicamente, o que precisa é isto (estou fazendo de cabeça o código ok?):

 

 

var a, b : integer;
begin
    a := StrToInt(edit1.text); //Aqui pegaria o valor do edit que está usando pra informar os anos de serviço.
    b := 0; //Como já iniciei atribuindo zero a variável B, não preciso nem fazer o primeiro teste
    if (a >= 10) and (a < 20) then
       b := 6
    else if (a >= 20) and (a < 30) then
               b := 12
            else
                  b := 18;
     edit2.text := IntToStr(b); //Aqui devolveria pro edit que irá mostrar o período cumulativo

 

Ps.: note que estou fazendo da forma mais simples... há outras formas de fazer. :coolio:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo, poste o código que está utilizando para que possamos analisar... :coolio:

 

Mas basicamente, o que precisa é isto (estou fazendo de cabeça o código ok?):

var a, b : integer;
begin
    a := StrToInt(edit1.text); //Aqui pegaria o valor do edit que está usando pra informar os anos de serviço.
    b := 0; //Como já iniciei atribuindo zero a variável B, não preciso nem fazer o primeiro teste
    if (a >= 10) and (a < 20) then
       b := 6
    else if (a >= 20) and (a < 30) then
               b := 12
            else
                  b := 18;
     edit2.text := IntToStr(b); //Aqui devolveria pro edit que irá mostrar o período cumulativo

Ps.: note que estou fazendo da forma mais simples... há outras formas de fazer. :coolio:

Vlw mesmo Chrnos, já havia conseguido mas é sempre muito bom ver outras soluções para o mesmo problema.

 

Brigadão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.