我不熟悉编程,我不确定为什么这不会工作:
procedure TGIFtest.Edit1Change(Sender: TObject);
var
Text : integer;
begin
if text < 5 then
shape1.brush.Color := clred
else
if text >= 5 then
shape1.brush.Color := clgreen;
end;
我希望当编辑中输入的数字小于5时,形状为红色,如果输入数字5或更高,则为绿色。谢谢。
变量Text
未初始化,因此您将具有随机值。
如果要从编辑文本(字符串)中获取整数值,则必须获取此文本并将其转换为整数值。
procedure TGIFtest.Edit1Change(Sender: TObject);
var
Text : integer;
begin
Text := StrToInt( Edit1.Text );
if text < 5 then
shape1.brush.Color := clred
else
if text >= 5 then
shape1.brush.Color := clgreen;
end;
如果编辑文本无法转换为整数,则会引发异常。
为避免这种情况,您可以使用StrToIntDef
或TryStrToInt