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
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
EvalType = packed record
...
...
end;其他的应该没问题吧
{不懂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;