delphi新手的问题

delfans 2001-06-04 09:08:00
小弟新手,下面这段代码总是报错不知为何?请各位大侠指教

-----------------------------------------------------
var
s:string;
begin
case s of //这里报错,好象是说类型不匹配,integer and string
'name':
begin
....
end;
'address':
begin
.....
end;
'telphone':
begin
.........
end;
end;
...全文
95 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
neubird 2001-06-05
  • 打赏
  • 举报
回复
可以用枚举啊!
type
Tcolumn=(name,address,telphone);
var
s:Tcolumn;
begin
case s of
name:begin

end;
address:begin

end;
telphone:begin

end;
end;
wonderxin 2001-06-05
  • 打赏
  • 举报
回复
case的缺陷
llhwan 2001-06-04
  • 打赏
  • 举报
回复
将s转化为Integer不就行了吗?
用StrToInt(s)
然后再对name,等进行转化Integer不就行了吗
oo789 2001-06-04
  • 打赏
  • 举报
回复
用If呀!

if XX then
else if XX then
else if xx then
不是一样吗!
delfans 2001-06-04
  • 打赏
  • 举报
回复
那怎么办呀?我要对s:string里的内容做判断并执行不同的操作呀
trump 2001-06-04
  • 打赏
  • 举报
回复
case condition of 语句中condition不能用字符串类型的
Kingron 2001-06-04
  • 打赏
  • 举报
回复
case语句中的变量必须是序数类型.
hulusir 2001-06-04
  • 打赏
  • 举报
回复
同意Frazy(不要耍我*我会晕倒) 的见解,同时加Checkbox \Checkbox等控件以增强界面友好
Frazy 2001-06-04
  • 打赏
  • 举报
回复
如果你一定要用CASE 的话,
可以如下死办法:
...
var
s:array[1..num_of_strings] of string;
index_s:1..num_of_strings;
begin
...
s[1]:='name';
s[2]:='address';
s[3]:='telphone';
...
case index_s of
1:begin ... end;
2:begin ... end;
3:begin ... end;
...
end;
...
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧