胡彦斌女友出书:这段DELPHI代码错在哪

来源:百度文库 编辑:高考问答 时间:2024/05/02 09:54:53
begin
reg:=tregistry.create;
reg.rootkey:=hkey_local_machine;
if edit3.text='' then
showmessage('请输入要撤消的命令')
else
if reg.keyexists('SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'+edit3.Text+'.exe') then
begin
reg.DeleteKey('SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'+edit3.Text+'.exe');
messagedlg('删除成功!',mtconfirmation,[mbok],1);
else
messagedlg('无次命令,请重新确认!',mtconfirmation,[mbok],1);
end;
end;

在编译时始终在ELSE这里出错,提示"not allowed before else"为什么呢

else 前不能用分号“;”
在pascal中“;”表示一句话的结束,if else 是完整的一句。所以不能用分号“;”!

begin
reg:=tregistry.create;
reg.rootkey:=hkey_local_machine;
if edit3.text='' then
showmessage('请输入要撤消的命令')
else
if reg.keyexists('SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'+edit3.Text+'.exe') then
begin
reg.DeleteKey('SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'+edit3.Text+'.exe');
messagedlg('删除成功!',mtconfirmation,[mbok],1);
end
else
messagedlg('无次命令,请重新确认!',mtconfirmation,[mbok],1);

end;