Erro no ELSE IF

Delphi

18/01/2017

procedure TFMATNF_ITEM.RxDBLookupCombo1Click(Sender: TObject);
begin
IF RxDBLookupCombo1.KeyValue = 1 or 4 or 6 or 7 or 9 or 10 THEN
GroupBox2.Visible := false;
ELSE IF RxDBLookupCombo1.KeyValue = 5 or 8 or 11 then
GroupBox11.Visible := false;
ELSE IF RxDBLookupCombo1.KeyValue <> 1 or 4 or 6 or 7 or 9 or 10 OR 5 or 8 or 11 then
GroupBox11.Visible := TRUE;
GroupBox2.Visible := TRUE;
end;
END;
END


Onde está o meu erro ?
Desde já agradeço
Rodrigo Oliveira

Rodrigo Oliveira

Curtidas 0

Respostas

Gutierry Pereira

Gutierry Pereira

18/01/2017

Boa tarde,
Antes do else não se utiliza ";"

if (condicao) then
bloco1
else
bloco2;

if (condicao) then
begin
bloco1
end
else
begin
bloco2
end;

Espero ter ajudado.
GOSTEI 0
Gutierry Pereira

Gutierry Pereira

18/01/2017

outra coisa nesse seu código que você esta informando apenas a primeira comparação "RxDBLookupCombo1.KeyValue = 1" no or você não faz comparação. Deve novamente informar RxDBLookupCombo1.KeyValue = 4 . Ficando

if (RxDBLookupCombo1.KeyValue = 1) or (RxDBLookupCombo1.KeyValue = 4) or (RxDBLookupCombo1.KeyValue = etc)

Uma forma mais elegante é utilizar o in

if (RxDBLookupCombo1.KeyValue in [1,4,6,7 etc]) then
GOSTEI 0
POSTAR