home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 January / Chip_2003-01_cd1.bin / zkuste / delphi / kolekce / d567 / FLEXCEL.ZIP / Demo / Thread / UThreadData.pas < prev   
Encoding:
Pascal/Delphi Source File  |  2002-09-26  |  3.6 KB  |  123 lines

  1. unit UThreadData;
  2. //This Datamodule should not be created automatically. See project Options
  3. //We need a seeion to make BDE thread safe.
  4. //Remember this is just a demo... I wouldn't use bde for mutithreading, anyway
  5.  
  6. interface
  7.  
  8. uses
  9.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  10.   UExcelAdapter, XLSAdapter, UCustomFlexCelReport, UFlexcelReport, Db,
  11.   DBTables;
  12.  
  13. type
  14.   TThreadData = class(TDataModule)
  15.     FlxRep: TFlexCelReport;
  16.     XLSAdapter: TXLSAdapter;
  17.     Items: TTable;
  18.     ItemsItemNo: TFloatField;
  19.     ItemsOrderNo: TFloatField;
  20.     ItemsPartNo: TFloatField;
  21.     ItemsDescription: TStringField;
  22.     ItemsSellPrice: TCurrencyField;
  23.     ItemsQty: TIntegerField;
  24.     ItemsDiscount: TFloatField;
  25.     ItemsExtPrice: TCurrencyField;
  26.     ItemsDiscountPc: TFloatField;
  27.     Cust: TTable;
  28.     CustCustNo: TFloatField;
  29.     CustCompany: TStringField;
  30.     CustPhone: TStringField;
  31.     CustLastInvoiceDate: TDateTimeField;
  32.     CustAddr1: TStringField;
  33.     CustAddr2: TStringField;
  34.     CustCity: TStringField;
  35.     CustState: TStringField;
  36.     CustZip: TStringField;
  37.     CustCountry: TStringField;
  38.     CustFAX: TStringField;
  39.     CustTaxRate: TFloatField;
  40.     CustContact: TStringField;
  41.     CustTotAddr1: TStringField;
  42.     CustTotAddr2: TStringField;
  43.     Orders: TTable;
  44.     OrdersOrderNo: TFloatField;
  45.     OrdersCustNo: TFloatField;
  46.     OrdersSaleDate: TDateTimeField;
  47.     OrdersShipDate: TDateTimeField;
  48.     OrdersItemsTotal: TCurrencyField;
  49.     OrdersTaxRate: TFloatField;
  50.     OrdersFreight: TCurrencyField;
  51.     OrdersAmountPaid: TCurrencyField;
  52.     OrdersAmountDue: TCurrencyField;
  53.     OrdersEmpNo: TIntegerField;
  54.     OrdersShipToContact: TStringField;
  55.     OrdersShipToAddr1: TStringField;
  56.     OrdersShipToAddr2: TStringField;
  57.     OrdersShipToCity: TStringField;
  58.     OrdersShipToState: TStringField;
  59.     OrdersShipToZip: TStringField;
  60.     OrdersShipToCountry: TStringField;
  61.     OrdersShipToPhone: TStringField;
  62.     OrdersSalesPerson: TStringField;
  63.     OrdersShipVIA: TStringField;
  64.     OrdersPO: TStringField;
  65.     OrdersTerms: TStringField;
  66.     OrdersPaymentMethod: TStringField;
  67.     DsOrders: TDataSource;
  68.     DsCust: TDataSource;
  69.     Emps: TTable;
  70.     EmpsEmpNo: TIntegerField;
  71.     EmpsFullName: TStringField;
  72.     EmpsLastName: TStringField;
  73.     EmpsFirstName: TStringField;
  74.     EmpsPhoneExt: TStringField;
  75.     EmpsHireDate: TDateTimeField;
  76.     EmpsSalary: TFloatField;
  77.     Parts: TTable;
  78.     PartsPartNo: TFloatField;
  79.     PartsDescription: TStringField;
  80.     PartsVendorNo: TFloatField;
  81.     PartsOnHand: TFloatField;
  82.     PartsOnOrder: TFloatField;
  83.     PartsBackOrd: TBooleanField;
  84.     PartsCost: TCurrencyField;
  85.     PartsListPrice: TCurrencyField;
  86.     Session1: TSession;
  87.     procedure ItemsCalcFields(DataSet: TDataSet);
  88.     procedure CustCalcFields(DataSet: TDataSet);
  89.   private
  90.     function GetCurrent_Date: variant;
  91.     { Private declarations }
  92.   public
  93.     { Public declarations }
  94.   published
  95.     property Current_Date: variant read GetCurrent_Date;
  96.   end;
  97.  
  98. implementation
  99.  
  100. {$R *.DFM}
  101.  
  102. { TThreadData }
  103.  
  104. function TThreadData.GetCurrent_Date: variant;
  105. begin
  106.   Result:=now;
  107. end;
  108.  
  109. procedure TThreadData.ItemsCalcFields(DataSet: TDataSet);
  110. begin
  111.   ItemsExtPrice.Value := ItemsQty.Value *
  112.     ItemsSellPrice.Value * (100 - ItemsDiscount.Value) / 100;
  113.   ItemsDiscountPc.Value:=ItemsDiscount.Value / 100;
  114. end;
  115.  
  116. procedure TThreadData.CustCalcFields(DataSet: TDataSet);
  117. begin
  118.   CustTotAddr1.Value:= CustAddr1.Value+' '+ CustAddr2.Value;
  119.   CustTotAddr2.Value:= CustCity.Value+' '+ CustState.Value + ' '+ CustZip.Value;
  120. end;
  121.  
  122. end.
  123.