⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parts.pas

📁 delphi com深入编程,非常有收藏价值
💻 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 + -