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

Calcular Automaticamente Um Campo


acdestefani

Pergunta

Olá!!!

Estou cursando a faculdade de Sistema de Informação e estamos começando a utilizar o Delphi.

Estou fazendo um trabalho em Delphi onde tenho que calcular o índice de massa corporal (IMC - peso/(altura*altura) da pessoa cadastrada.

Gostaria que ao digitar os campos peso e altura, o campo IMC fosse calculado e preenchido automaticamente. Alguém poderia me explicar como fazer isso.

Abaixo segue o código do programa, caso precisem dar uma olhada.

Desde já agradeçco a grande ajuda.

Obrigado!!!

unit imc;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

const

min=1;

max=10;

type

TForm1 = class(TForm)

titulo: TLabel;

Lbnome: TLabel;

Lbpeso: TLabel;

Lbaltura: TLabel;

Lbimc: TLabel;

Lbresultado: TLabel;

Edpeso: TEdit;

Ednome: TEdit;

Edaltura: TEdit;

Lbresimc: TLabel;

Lbresresultado: TLabel;

Btincluir: TButton;

Btlocalizar: TButton;

Btalterar: TButton;

Btexcluir: TButton;

Btlistar: TButton;

Btsair: TButton;

Listreg: TListBox;

procedure FormCreate(Sender: TObject);

procedure BtincluirClick(Sender: TObject);

procedure BtsairClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

ptr=integer;

ficha=record

nome: string;

peso,altura,imc: real;

condicao: string;

end;

lista_pessoas=record

pessoa: array [min..max] of ficha;

primeiro:ptr;

ultimo:ptr;

end;

var

Form1: TForm1;

l:lista_pessoas;

f:ficha;

implementation

{$R *.dfm}

Procedure flvazia(var lista:lista_pessoas);

Begin

lista.primeiro:=min;

lista.ultimo:=lista.primeiro;

end;

procedure inclui(x:ficha; var lista:lista_pessoas);

begin

if lista.ultimo>max then

showmessage('Erro: Lista Cheia')

else

begin

lista.pessoa[lista.ultimo]:=x;

lista.ultimo:=lista.ultimo + 1;

end;

end;

Function vazia (var lista:lista_pessoas): boolean;

begin

vazia:=lista.primeiro=lista.ultimo;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Flvazia(L);

end;

procedure TForm1.BtincluirClick(Sender: TObject);

begin

f.nome:=Ednome.text;

f.peso:=strtofloat(Edpeso.text);

f.altura:=strtofloat(Edaltura.text);

Listreg.Items.Add(f.Nome);

Listreg.Items.Add(FloatToStr(f.peso));

Listreg.Items.Add(FloatToStr(f.altura));

Listreg.Items.Add('');

Ednome.SetFocus;

Ednome.Clear;

Edpeso.clear;

Edaltura.Clear;

end;

procedure TForm1.BtsairClick(Sender: TObject);

begin

close

end;

end.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...