Fórum URGENTE -END expected but ELSE found #469639

11/02/2014

0

Sou iniciante em Delphi mas esse erro tem me deixado surpreso, pois parece uma coisa boba demais
Estou fazendo um programinha simples só pra eu começar a aprender.
Tenho 3 ''''Edit'''' que se estiverem preenchidos corretamente devem retornar num quarto edit a messagem ''''Banda x'''' e aparecer uma imagem.
Se não preenchidos corretamente deve aparecer a mensagem ''''Nao é a Banda X''''.


procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text = ''''Eder'''') and (Edit2.Text = ''''Carlos'''') and (Edit3.Text=''''Guilherme'''')
then Edit5.Text := ''''Banda x'''';
Image1.Visible := True
else Edit5.Text := ''''Não é Banda x''''
end;
end.

o erro que o sistema retorna é esse:

[Error] unMaior.pas(41): ''''END'''' expected but ''''ELSE'''' found

Por favor alguem pode me ajudar nisso
Eder Correa

Eder Correa

Responder

Posts

11/02/2014

Luiz

Sempre use begin e end quando for mais de uma linha dentro de seu if-else:

  if true then
  begin
    //mais de uma linha
   //
  end
  else
  begin
    //mais de uma linha
   //
  end;


Quando for apenas 1 linha não é necessário utilizar o begin end (mas nao tem problema em utilizar)
  if   True then
       ShowMessage('teste if ')
  else ShowMessage('teste else');

Acredito que seu código ficaria assim:

procedure TForm1.Button1Click(Sender: TObject);
begin

if (Edit1.Text = 'Eder') and (Edit2.Text = 'Carlos') and (Edit3.Text='Guilherme') then 
begin
 Edit5.Text := 'Banda x';
 Image1.Visible := True;
end
else 
begin
    Edit5.Text := 'Não é Banda x'
end;

end;

Responder

Gostei + 0

11/02/2014

Mr. White

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Edit1.Text = ''''Eder'''') and (Edit2.Text = ''''Carlos'''') and (Edit3.Text=''''Guilherme'''') then
  begin
    Edit5.Text := ''''Banda x'''';
    Image1.Visible := True
  end
  else Edit5.Text := ''''Não é Banda x''''
end;
end.
Responder

Gostei + 0

11/02/2014

Eder Correa

Sempre use begin e end quando for mais de uma linha dentro de seu if-else:

  if true then
  begin
    //mais de uma linha
   //
  end
  else
  begin
    //mais de uma linha
   //
  end;


Quando for apenas 1 linha não é necessário utilizar o begin end (mas nao tem problema em utilizar)
  if   True then
       ShowMessage('teste if ')
  else ShowMessage('teste else');

Acredito que seu código ficaria assim:

procedure TForm1.Button1Click(Sender: TObject);
begin

if (Edit1.Text = 'Eder') and (Edit2.Text = 'Carlos') and (Edit3.Text='Guilherme') then 
begin
 Edit5.Text := 'Banda x';
 Image1.Visible := True;
end
else 
begin
    Edit5.Text := 'Não é Banda x'
end;

end;





Perfeito Luiz. O Codigo rodou perfeitamente
Responder

Gostei + 0

11/02/2014

Luiz

Que bom!

Bons estudos amigo!

Abraços
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar