当前位置:首页 » 软件代码 » STRO股票代码
扩展阅读
年后股票行情预测 2025-09-11 18:09:27
中通国脉股票价格一 2025-09-11 18:01:54

STRO股票代码

发布时间: 2021-06-03 23:26:38

㈠ delphi7的代码 最下面是错误 说什么为什么 再帮忙改正下 谢谢了!

将函数function AddNum(InStr:string;LabStr:string):string;
begin
case instr of //60行
stro:if (labstr<>stro) then addnum:=labstr + instr;
strl:if pos(labstr,strl)=0 then addnum:=labstr + instr;
else
addnum:=labstr + instr;
end;
定义成如下:
function AddNum(InStr:string;LabStr:string):string;
begin
if instr=stro then begin
if (labstr<>stro) then result:=labstr + instr;
end else if instr=strl then begin
if pos(strl,labstr)=0 then result:=labstr + instr;
end else begin
result:=labstr + instr;
end;
end;

报错信息解释:
[Error] Unit1.pas(60): Ordinal type required
case后面的表达式只能接Ordinal 类型数据,不能接string类型,可以上网查查Ordinal 类型包括哪些。
[Error] Unit1.pas(61): Constant expression expected
of的分支必须是常量,而stro是字符串变量。
[Error] Unit1.pas(62): Constant expression expected
of的分支必须是常量,而strl是字符串变量。
[Error] Unit1.pas(67): Statement expected but 'PROCEDURE' found
函数function AddNum(InStr:string;LabStr:string):string缺少一个end,你代码里的end是case语句的end,缺少与begin对应的end。

由于你的输入InStr是字符串变量,不建议用case语句,改成以上if...else语句可以达到目的。

另外:
(1)我将你的pos(labstr,strl)改为pos(strl,labstr),不知道对不对,你再证实一下。pos用法中第一个参数是子字符串,第二个参数才是目标字符串,我见strl='.',只有一个字符,应该为子字符串,你应该要在labstr里找strl,不知对否,如果不是,你自己再改改吧。
(2)我将addnum改为result,因为函数返回值是给result(调用时取的也是result值),除非你特别用处,addnum有另外定义,如果另外定义,那么此函数将没有返回值,你后面lab1.caption:=addnum(s,lab1.caption);调用时会出问题。

若还无法解决,请Hi我~