Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
horaciocs

Probelminha Com Delphi 7

Recommended Posts

Fala pessoal, beleza? Eu to começando a mexer com delphi, e agora eu to tentando fazer um programa que calcule as soluções de uma equação de segundo grau qualquer (Bhaskara). Eu fiz a parte do cálculo e deu tudo certo, o problema é q eu queria fazer com que conforme os valores do delta (b² - 4ac, lembram? :D ) variassem (<0, =0 ou >0), o programa tivesse 3 comportamentos diferentes. Dêem uma olhada num pedaço do código:

var
 Form1: TForm1;
 a,b,c,final,final2: real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=StrTofloat(Edit1.Text);
b:=StrTofloat(Edit2.Text);
c:=StrTofloat(Edit3.Text);

if ((b * - (4 * a * c)) < 0 then
 ShowMessage('Não existe solução real')

else

final:= (-b + sqrt((b * - (4 * a * c))) / (2 * a);
final2:= (-b - sqrt((b * - (4 * a * c))) / (2 * a);

if ((b * - (4 * a * c)) > 0 then
   Edit4.Text:=floattostr(final);
   Edit5.Text:=floattostr(final2);

if ((b * - (4 * a * c)) = 0 then
 Edit4.Text:=floattostr(final);


end;


end.

O problema que eu estou tendo é que, logo no começo, quando tem o teste para <0, eu queria que aparecesse uma janela e que o código parasse. Eu tentei usar 'halt' entre o teste e o 'else', mas ele fecha o programa também, então não ajuda muito.

O que eu posso usar para parar a execução do código mas não fechar o programa? Aceito qualquer ajuda! :)

Valeu!

Horacio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logo depois do then, ou do else, você deve por um comando, que será executado ou não, dependendo da condição no if.

O comando para sair da rotina é Exit;

Para agrupar vários comandos num só(ou melhor, fazer o Pascal/Delphi tratar como se fosse um grupo de comandos executado na ordem) use begin/end.

begin
...
 if ((b * - (4 * a * c)) < 0 then
  ShowMessage('Não existe solução real')

 else
 begin

   final:= (-b + sqrt((b * - (4 * a * c))) / (2 * a);
   final2:= (-b - sqrt((b * - (4 * a * c))) / (2 * a);

   if ((b * - (4 * a * c)) > 0 then
     Edit4.Text:=floattostr(final);
     Edit5.Text:=floattostr(final2);

   if ((b * - (4 * a * c)) = 0 then
     Edit4.Text:=floattostr(final);
 end
...
end

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×