実はDelphiはBASICよりはCに近いと思う
起源が同じAlgol系だし

基本的な考え方が近いが、それ故に
両方やると if 文と比較演算で嵌まる

・代入/比較
C系は = が代入で == が同一比較
Delphiは := が代入で = が同一比較

・文/ブロック
どちらも文は ; で終わる
C系は { から } までがブロック
Delphiは begin から end までがブロック

どちらも制御構文は「文またはブロック」を要求する
但し if 文に「単文 + else」を書く場合

/* C */
if(式) 文; else 文;
{ Delphi }
if 式 then 文 else 文;

Delphiは ; を見つけると if 構文自体の終わりと見做す為
if 式 then 文; else 文; と書くと
「いきなり文頭にelseがある」事になりエラーになる