home *** CD-ROM | disk | FTP | other *** search
- unit UThreadData;
- //This Datamodule should not be created automatically. See project Options
- //We need a seeion to make BDE thread safe.
- //Remember this is just a demo... I wouldn't use bde for mutithreading, anyway
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- UExcelAdapter, XLSAdapter, UCustomFlexCelReport, UFlexcelReport, Db,
- DBTables;
-
- type
- TThreadData = class(TDataModule)
- FlxRep: TFlexCelReport;
- XLSAdapter: TXLSAdapter;
- Items: TTable;
- ItemsItemNo: TFloatField;
- ItemsOrderNo: TFloatField;
- ItemsPartNo: TFloatField;
- ItemsDescription: TStringField;
- ItemsSellPrice: TCurrencyField;
- ItemsQty: TIntegerField;
- ItemsDiscount: TFloatField;
- ItemsExtPrice: TCurrencyField;
- ItemsDiscountPc: TFloatField;
- Cust: TTable;
- CustCustNo: TFloatField;
- CustCompany: TStringField;
- CustPhone: TStringField;
- CustLastInvoiceDate: TDateTimeField;
- CustAddr1: TStringField;
- CustAddr2: TStringField;
- CustCity: TStringField;
- CustState: TStringField;
- CustZip: TStringField;
- CustCountry: TStringField;
- CustFAX: TStringField;
- CustTaxRate: TFloatField;
- CustContact: TStringField;
- CustTotAddr1: TStringField;
- CustTotAddr2: TStringField;
- Orders: TTable;
- OrdersOrderNo: TFloatField;
- OrdersCustNo: TFloatField;
- OrdersSaleDate: TDateTimeField;
- OrdersShipDate: TDateTimeField;
- OrdersItemsTotal: TCurrencyField;
- OrdersTaxRate: TFloatField;
- OrdersFreight: TCurrencyField;
- OrdersAmountPaid: TCurrencyField;
- OrdersAmountDue: TCurrencyField;
- OrdersEmpNo: TIntegerField;
- OrdersShipToContact: TStringField;
- OrdersShipToAddr1: TStringField;
- OrdersShipToAddr2: TStringField;
- OrdersShipToCity: TStringField;
- OrdersShipToState: TStringField;
- OrdersShipToZip: TStringField;
- OrdersShipToCountry: TStringField;
- OrdersShipToPhone: TStringField;
- OrdersSalesPerson: TStringField;
- OrdersShipVIA: TStringField;
- OrdersPO: TStringField;
- OrdersTerms: TStringField;
- OrdersPaymentMethod: TStringField;
- DsOrders: TDataSource;
- DsCust: TDataSource;
- Emps: TTable;
- EmpsEmpNo: TIntegerField;
- EmpsFullName: TStringField;
- EmpsLastName: TStringField;
- EmpsFirstName: TStringField;
- EmpsPhoneExt: TStringField;
- EmpsHireDate: TDateTimeField;
- EmpsSalary: TFloatField;
- Parts: TTable;
- PartsPartNo: TFloatField;
- PartsDescription: TStringField;
- PartsVendorNo: TFloatField;
- PartsOnHand: TFloatField;
- PartsOnOrder: TFloatField;
- PartsBackOrd: TBooleanField;
- PartsCost: TCurrencyField;
- PartsListPrice: TCurrencyField;
- Session1: TSession;
- procedure ItemsCalcFields(DataSet: TDataSet);
- procedure CustCalcFields(DataSet: TDataSet);
- private
- function GetCurrent_Date: variant;
- { Private declarations }
- public
- { Public declarations }
- published
- property Current_Date: variant read GetCurrent_Date;
- end;
-
- implementation
-
- {$R *.DFM}
-
- { TThreadData }
-
- function TThreadData.GetCurrent_Date: variant;
- begin
- Result:=now;
- end;
-
- procedure TThreadData.ItemsCalcFields(DataSet: TDataSet);
- begin
- ItemsExtPrice.Value := ItemsQty.Value *
- ItemsSellPrice.Value * (100 - ItemsDiscount.Value) / 100;
- ItemsDiscountPc.Value:=ItemsDiscount.Value / 100;
- end;
-
- procedure TThreadData.CustCalcFields(DataSet: TDataSet);
- begin
- CustTotAddr1.Value:= CustAddr1.Value+' '+ CustAddr2.Value;
- CustTotAddr2.Value:= CustCity.Value+' '+ CustState.Value + ' '+ CustZip.Value;
- end;
-
- end.
-