📄 parts.pas
字号:
unit Parts;
interface
uses
DB, PartSrv_TLB;
type
TPart = class
PartNumber: string;
Description: string;
UnitPrice: Double;
OnHand: Integer;
Reorder: Integer;
public
function ToVariant(varFields: OleVariant): OleVariant;
procedure FromVariant(varFields: OleVariant; varValues: OleVariant);
procedure CreateFromDataSet(DataSet: TDataSet);
end;
implementation
{ TPartRecord }
procedure TPart.CreateFromDataSet(DataSet: TDataSet);
begin
PartNumber := DataSet.FieldByName('PARTNO').AsString;
Description := DataSet.FieldByName('DESC').AsString;
UnitPrice := DataSet.FieldByName('UNITPRICE').AsFloat;
OnHand := DataSet.FieldByName('ONHAND').AsInteger;
Reorder := DataSet.FieldByName('REORDER').AsInteger;
end;
procedure TPart.FromVariant(varFields: OleVariant; varValues: OleVariant);
var
Index: Integer;
FieldNumber: Integer;
begin
for Index := VarArrayLowBound(varFields, 1) to VarArrayHighBound(varFields, 1) do begin
FieldNumber := varFields[Index];
case FieldNumber of
fnPartNumber: PartNumber := varValues[Index];
fnDescription: Description := varValues[Index];
fnUnitPrice: UnitPrice := varValues[Index];
fnOnHand: OnHand := varValues[Index];
fnReorder: Reorder := varValues[Index];
end;
end;
end;
function TPart.ToVariant(varFields: OleVariant): OleVariant;
var
Index: Integer;
FieldNumber: Integer;
begin
Result := VarArrayCreate([VarArrayLowBound(varFields, 1), VarArrayHighBound(varFields, 1)], varVariant);
for Index := VarArrayLowBound(varFields, 1) to VarArrayHighBound(varFields, 1) do begin
FieldNumber := varFields[Index];
case FieldNumber of
fnPartNumber: Result[Index] := PartNumber;
fnDescription: Result[Index] := Description;
fnUnitPrice: Result[Index] := UnitPrice;
fnOnHand: Result[Index] := OnHand;
fnReorder: Result[Index] := Reorder;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -