Jump to content
Fórum Script Brasil
  • 0

Calcular Automaticamente Um Campo


Question

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 to post
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644524
×
×
  • Create New...