跪求高手把下面的vb语句改成delphi吧,或者跟小弟我说如何改。多谢了
跪求高手把下面的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;
其他的应该没问题吧
------解决方案--------------------
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;