If NumFeeds > 0 Then
        
    For d = 1 To NumFeeds
      
      Select Case .Name
        Case "Ca"
          .Supplied = .Supplied + ((Feed(d).Ca / 100) * Feed(d).DMFed)
          
          If AnimalType <> "Young Calf" Then
            .Absorbable = .Absorbable + (((Feed(d).Ca / 100) * Feed(d).DMFed) * (Feed(d).CaBio))
          Else
            .Absorbable = .Absorbable + ((Feed(d).Ca / 100) * Feed(d).DMFed)
          End If
          
        Case "Mg"
          .Supplied = .Supplied + ((Feed(d).Mg / 100) * Feed(d).DMFed)
          
          If AnimalType <> "Young Calf" Then
            .Absorbable = .Absorbable + (((Feed(d).Mg / 100) * Feed(d).DMFed) * (Feed(d).MgBio))
          Else
            .Absorbable = .Absorbable + ((Feed(d).Mg / 100) * Feed(d).DMFed)
          End If
                  

解决方案 »

  1.   

    字符串 用 if 来吧..  delphi case 要整数型.
      

  2.   

    delphi中的case不能用于字符串的判断,所能你只能用法...then
    else if... then
    else
    这样的语句
      

  3.   

    delphi xe2 版本也可以用字符串了
      

  4.   

    case integer when
    0:begin end;
    1:begin end;
    这样,只能integer
    要用字符串要想办法转换
      

  5.   

    用IF ELSEIF就行了...写程序别纠结用那个方法, 能完成任务就成了.
      

  6.   

    case是多分支语句
    case integer when
    0:begin end;
    1:begin end;
    这样,只能integer
    要用字符串要想办法转换