Nein, da fehlt ein end;. Wenn du den Code gescheit einrückst, dann siehst du das auch sofort:
Delphi-Quellcode:
if x>0 then begin
...
end
else begin
if x<0 then begin
...
end
else begin
...
end;
end;
(so ist's richtig)
Nebenbei würde ich das viel einfacher so schreiben:
Delphi-Quellcode:
if x > 0 then begin
// größer 0
end
else if x < 0 then begin
// kleiner 0
end
else begin
// = 0
end;