读书人

跪求高手把下面的vb语句改成delphi吧

发布时间: 2012-03-04 11:13:34 作者: rapoo

跪求高手把下面的vb语句改成delphi吧,或者跟我说怎么改。谢谢了
Type EvalType
Name As String ' name of evaluation factor (e.g. NE-Diet)
Units As String ' units of evaluation factor (e.g. Mcal/day)
Total As Single
Maint As Single
Preg As Single
Lact As Single
Gain As Single
Reserves As Single
End Type
Public EvalFactor(1 To 6) As EvalType
Private Sub DietEvalOneComputations()

Dim X As Integer

' The EvalFactors are calculated here as follows :
'
' NE Diet, NE Required, NE Differ, MP Diet, MP Required, MP Differ
' Mcal/d Mcal/d Mcal/d g/d g/d g/d

If AnimalType <> "Replacement Heifer" Then
EvalFactor(1).Name = "NE Supplied"
EvalFactor(2).Name = "NE Required"
EvalFactor(3).Name = "NE (Diet - Req.)"
EvalFactor(4).Name = "MP Diet"
EvalFactor(5).Name = "MP Required"
EvalFactor(6).Name = "MP (Diet - Req.)"
Else
EvalFactor(1).Name = "ME Supplied"
EvalFactor(2).Name = "ME Required"
EvalFactor(3).Name = "ME (Diet - Req.)"
EvalFactor(4).Name = "MP Diet"
EvalFactor(5).Name = "MP Required"
EvalFactor(6).Name = "MP (Diet - Req.)"
End If


For X = 1 To 6
If X < 4 Then
EvalFactor(X).Units = "Mcal/day"
Else
EvalFactor(X).Units = "g/day"
End If
Next X


If AnimalType <> "Replacement Heifer" Then
EvalFactor(1).Total = NEl_Total
Else
EvalFactor(1).Total = MEng_Total
End If

EvalFactor(1).Maint = EvalFactor(1).Total

If AnimalType <> "Replacement Heifer" Then
EvalFactor(2).Maint = NEMaint
Else
If NEmOverMEng > 0 Then
EvalFactor(2).Maint = NEMaint / NEmOverMEng
Else
EvalFactor(2).Maint = 0
End If
End If


[解决办法]
type
EvalType = packed record
...
...
end;

其他的应该没问题吧
[解决办法]

Delphi(Pascal) code
{不懂VB,大概是这样子。。。}type  EvalType = packed record    Name: String; // ' name of evaluation factor (e.g. NE-Diet)    Units: String; // ' units of evaluation factor (e.g. Mcal/day)    Total: Single;    Maint: Single;    Preg: Single;    Lact: Single;    Gain: Single;    Reserves: Single;  end;var  EvalFactor: array [1 .. 6] of EvalType;  X: Integer;  if AnimalType <> 'Replacement Heifer' then  begin    EvalFactor[1].Name := 'NE Supplied';    EvalFactor[2].Name := 'NE Required';    EvalFactor[3].Name := 'NE (Diet - Req.)';    EvalFactor[4].Name := 'MP Diet';    EvalFactor[5].Name := 'MP Required';    EvalFactor[6].Name := 'MP (Diet - Req.)';  end  else  begin    EvalFactor[1].Name := 'ME Supplied';    EvalFactor[2].Name := 'ME Required';    EvalFactor[3].Name := 'ME (Diet - Req.)';    EvalFactor[4].Name := 'MP Diet';    EvalFactor[5].Name := 'MP Required';    EvalFactor[6].Name := 'MP (Diet - Req.)';  end;  for X := 1 To 6 do  begin    If X < 4 then      EvalFactor[X].Units := 'Mcal/day'    else      EvalFactor[X].Units := 'g/day';  end;  If AnimalType <> 'Replacement Heifer' Then    EvalFactor[1].Total := NEl_Total  Else    EvalFactor[1].Total := MEng_Total;  EvalFactor[1].Maint := EvalFactor[1].Total;  If AnimalType <> 'Replacement Heifer' Then  begin    EvalFactor[2].Maint := NEMaint  end  else  begin    if NEmOverMEng > 0 then      EvalFactor[2].Maint := NEMaint / NEmOverMEng    else      EvalFactor[2].Maint := 0  end; 

读书人网 >.NET

热点推荐