极简单的问题

lhbname 2003-12-12 04:58:00


String str=mystr.SubString(1,2);

switch (str)
{
case '0A':
PRC_Login(ReceiveNMS,Sender);
break;
case '0B':
PRC_GetNoteList(ReceiveNMS,Sender);
break;
default:
break;
}
我想将一个字符串地前两位(或前一位)取出作为判断条件,是否可以。如果可以,怎样实现?谢了!
...全文
10 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yuemanlou 2003-12-12
switch不行的
可以用if
if()
处理1
else if ()
处理2
else if ()
 处理3
else
 其他处理
  • 打赏
  • 举报
回复
分支 必须可序列化的参数才能用

我的做法是 ,先用TStrings * list初始化 你的 OA OB OC 这些东西,
然后

String str=mystr.SubString(1,2);

switch (list->IndexOf(str))
{
case 0:
PRC_Login(ReceiveNMS,Sender);
break;
case 1:
PRC_GetNoteList(ReceiveNMS,Sender);
break;
default:
break;
}

  • 打赏
  • 举报
回复
CCLIS 2003-12-12
switch,case组合里只能是一个整型值的条件,你用字串,估计编译就不能通过。
  • 打赏
  • 举报
回复
luckydean 2003-12-12
用if好了
if(str=="OA")...;
  • 打赏
  • 举报
回复
lhbname 2003-12-12
case的条件只能为整形或CHAR,如何转换
  • 打赏
  • 举报
回复
PowPro 2003-12-12
是啊,同意楼上
  • 打赏
  • 举报
回复
aliker 2003-12-12
好象不行吧!
switch (str)
{
case '0A':
……
switch括号里的变量,case的条件只能为整形或可以转化成整形的,如(unsigned/signed)(long/short)int、(unsigned/signed)char等。其他的类型不行。
  • 打赏
  • 举报
回复
huoniao1976 2003-12-12
if不会用吗
  • 打赏
  • 举报
回复
lzxgz 2003-12-12
你不是已经用了吗 :)
  • 打赏
  • 举报
回复
constantine 2003-12-12
当然可以了
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ Builder
加入

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2003-12-12 04:58
社区公告
暂无公告