Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 6114|回复: 9

怎么排除Fatal: Syntax error, "UNIT" expected but "PROGRAM"

[复制链接]

该用户从未签到

发表于 2009-7-11 21:36:12 | 显示全部楼层 |阅读模式
NOI.CN上写NOIP2009集成开发环境改用G U IDE或Lazarus了(PASCAL语言)。与其使用新的国产的难看的G U IDE,不如用Lazarus。可是Lazarus我根本没有办法用啊。
对于以下这一段源代码,
  1. program helloworld;
  2. begin
  3.   writeln('Hello World!');
  4. end.     
复制代码

就会提示:Unit1.pas(1,1) Fatal: Syntax error, "UNIT" expected but &quotROGRAM" found
怎么解决啊?(我确信我是在Custom Program里写的源代码)

另外,程序头(program xxxxx)是必须的吗?
回复

使用道具 举报

该用户从未签到

发表于 2009-7-11 23:52:57 | 显示全部楼层
1) 您能给出重现这个问题的过程吗?我试了试,没发现这个问题。
2) 不是必须的。这个你自己试试看就知道。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-7-12 09:24:03 | 显示全部楼层
New---Custom Program---键入上述代码---F9---(1,1) Fatal: Syntax error, "UNIT" expected but &quotROGRAM" found
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-7-12 09:32:21 | 显示全部楼层
program Project1;

{$mode objfpc}{$H+}

uses
  Classes, SysUtils
  { you can add units after this };

{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}

begin
  writeln('Hello World!');
end.      


New---Custom Program---键入上述代码---F9----OK,没有出现错误
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-7-12 09:39:17 | 显示全部楼层
键入代码
  1. program helloworld;
  2. {$mode objfpc}{$H+}
  3. uses
  4.   Classes, SysUtils;
  5. {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
  6. begin
  7.   writeln('Hello World');
  8. end.
复制代码
后,弹出另一个选项卡,名字是“project1”,内容是
  1. program project1;
  2. {$mode objfpc}{$H+}
  3. uses
  4.   {$IFDEF UNIX}{$IFDEF UseCThreads}
  5.   cthreads,
  6.   {$ENDIF}{$ENDIF}
  7.   Interfaces, // this includes the LCL widgetset
  8.   Forms
  9.   { you can add units after this }, LResources, Unit1, helloworld;
  10. {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
  11. begin
  12.   {$I project1.lrs}
  13.   Application.Initialize;
  14.   Application.Run;
  15. end.
复制代码
橙条在第1行,Messages是project1.lpr(1,1) Fatal: Can't find unit Unit1 used by project1
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-7-12 10:33:44 | 显示全部楼层
弹出另一个选项卡?
我怎么没有弹出?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-7-12 10:34:02 | 显示全部楼层
自动弹出?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-7-12 11:52:59 | 显示全部楼层
已解决
进入lazarus单击菜单栏project---close project 把原来的工程关掉
然后出现一个
点击new project
选择custom program
然后就出现了你的新project
把原来里面的东西全部删掉
只留下begin end.
怎么样  试试ctrl+F9是编译
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-7-12 11:54:34 | 显示全部楼层

解决就好
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-8 14:43:18 | 显示全部楼层
太棒了,原来是这样,呵呵,谢谢
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-3 12:48 , Processed in 0.041165 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表