delphi中提示'THEN'expected but ':=' found错误

procedureTForm1.Button1Click(Sender:TObject);vars:string;begins:=edit1.Text;ifstrtobo... procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=edit1.Text;
if strtobool(s) :=red then //我这里不转换为布尔型。。提示错误让我必须转换为布尔型。。转换之后。。就提示如题错误
label1.Caption:='窗口颜色为红色';
else
label1.Caption:='请输入red';

end;

我是初学者哈。自学的,很多不懂。。上面是个很简单的程序。不懂为什么一直报错= =
对于'howlshadow'的答案。我想问下。。如果我改成true,那我怎么判断edit1里面输入的值为red???
对于'shiwanqxu'的答案。我这样改了后。他还是弹错误显示这里必须使用布尔型
对于'刘选治'的答案。我之前就试过了。。下面弹错误显示 未说明标识符‘red’
展开
 我来答
ogre_rich
2010-06-17 · TA获得超过251个赞
知道答主
回答量:70
采纳率:0%
帮助的人:108万
展开全部
改成这样吧
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=edit1.Text; //将Edit1.text赋值给变量S
if s='red' then //字符串比较
label1.Caption:='窗口颜色为红色' //此处不能有分号,否则Else怎么办?
else //如果变量S不是'red'
label1.Caption:='请输入red';
end;

-----------------------------
如果你在Else前面有好几句要写,那么你可以写成:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=edit1.Text; //将Edit1.text赋值给变量S
if s='red' then //字符串比较
Begin
label1.Caption:='窗口颜色为红色';
showmessage('你很乖,输入了red这个单词');
End
else //如果变量S不是'red'
Begin
label1.Caption:='请输入red';
showmessage('你不乖,不输入red打屁屁');
End;
end;
howlshadow
2010-06-17 · TA获得超过1381个赞
知道小有建树答主
回答量:1171
采纳率:100%
帮助的人:938万
展开全部
strtobool是字符串转布尔函数,所以一定要和布尔的变量进行比较

if strtobool(s) :=red then 要改成下面这样

if strtobool(s) = true then (注意等号前不能加冒号,加冒号就成赋值操作符了,而不是比较操作符了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiwangxu
2010-06-17 · 超过25用户采纳过TA的回答
知道答主
回答量:196
采纳率:0%
帮助的人:69.3万
展开全部
把if strtibool(s):=red then
改为
if s='red' then 即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘选治
2010-06-17 · TA获得超过185个赞
知道小有建树答主
回答量:345
采纳率:50%
帮助的人:169万
展开全部
if 后面是关系符 不是赋值符 if后面跟= 不能跟:=
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式