home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / delphi / cbsuite.lzh / SU1SRC.ZIP / FDEMO05.PAS < prev    next >
Pascal/Delphi Source File  |  1995-11-23  |  5KB  |  200 lines

  1. unit Fdemo05;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   StdCtrls, Forms, DBCtrls, DB, DBGrids, Grids, Buttons, ExtCtrls, PrnWin,
  8.   DBTables, CB_Types, Totals, Mask, DBPrnWin, CB_MFunc;
  9.  
  10. type
  11.   TForm05 = class(TForm)
  12.     Table1: TTable;
  13.     DataSource1: TDataSource;
  14.     Table2: TTable;
  15.     DataSource2: TDataSource;
  16.     DataSource3: TDataSource;
  17.     Table3: TTable;
  18.     Table3OrderNo: TFloatField;
  19.     Table3ItemNo: TFloatField;
  20.     Table3PartNo: TFloatField;
  21.     Table3Description: TStringField;
  22.     Table3Qty: TIntegerField;
  23.     Table3ListPrice: TCurrencyField;
  24.     Table3Discount: TFloatField;
  25.     Table3Total: TCurrencyField;
  26.     Table4: TTable;
  27.     Table4PartNo: TFloatField;
  28.     Table4VendorNo: TFloatField;
  29.     Table4Description: TStringField;
  30.     Table4OnHand: TFloatField;
  31.     Table4OnOrder: TFloatField;
  32.     Table4Cost: TCurrencyField;
  33.     Table4ListPrice: TCurrencyField;
  34.     DataSource4: TDataSource;
  35.     Panel1: TPanel;
  36.     DBNavigator: TDBNavigator;
  37.     Print: TBitBtn;
  38.     Exit: TBitBtn;
  39.     Preview: TBitBtn;
  40.     ScrollBox1: TScrollBox;
  41.     Panel2: TPanel;
  42.     DBGrid1: TDBGrid;
  43.     SubTotal: TShowTotal;
  44.     Shape2: TShape;
  45.     Edit1: TEdit;
  46.     Edit2: TEdit;
  47.     Edit3: TEdit;
  48.     EditShipToPhone: TDBEdit;
  49.     EditOrderNo: TDBEdit;
  50.     EditCustNo: TDBEdit;
  51.     Panel4: TPanel;
  52.     DBEdit2: TDBEdit;
  53.     DBEdit3: TDBEdit;
  54.     DBEdit4: TDBEdit;
  55.     DBEdit5: TDBEdit;
  56.     DBEdit6: TDBEdit;
  57.     DBEdit7: TDBEdit;
  58.     DBEdit8: TDBEdit;
  59.     Panel5: TPanel;
  60.     DBEdit9: TDBEdit;
  61.     DBEdit10: TDBEdit;
  62.     DBEdit11: TDBEdit;
  63.     DBEdit12: TDBEdit;
  64.     DBEdit13: TDBEdit;
  65.     DBEdit14: TDBEdit;
  66.     DBEdit15: TDBEdit;
  67.     Edit4: TEdit;
  68.     EditShipVIA: TDBEdit;
  69.     Edit5: TEdit;
  70.     EditPO: TDBEdit;
  71.     Edit6: TEdit;
  72.     EditTerms: TDBEdit;
  73.     Edit7: TEdit;
  74.     EditSaleDate: TDBEdit;
  75.     Edit8: TEdit;
  76.     EditShipDate: TDBEdit;
  77.     Edit9: TEdit;
  78.     EditPaymentMethod: TDBEdit;
  79.     Shape3: TShape;
  80.     Label6: TLabel;
  81.     Memo2: TMemo;
  82.     Edit19: TEdit;
  83.     Edit20: TEdit;
  84.     DBEdit1: TDBEdit;
  85.     Edit21: TEdit;
  86.     Image1: TImage;
  87.     ShowTotal2: TShowTotal;
  88.     ShowTotal3: TShowTotal;
  89.     ShowTotal4: TShowTotal;
  90.     ShowTotal5: TShowTotal;
  91.     ShowTotal6: TShowTotal;
  92.     Label5: TLabel;
  93.     Label4: TLabel;
  94.     Label7: TLabel;
  95.     Label3: TLabel;
  96.     Label8: TLabel;
  97.     Label2: TLabel;
  98.     Tax: TShowTotal;
  99.     Freight: TShowTotal;
  100.     Miscellaneous: TShowTotal;
  101.     Total: TShowTotal;
  102.     ShowTotal1: TShowTotal;
  103.     ShowTotal7: TShowTotal;
  104.     DBPrintWin1: TDBPrintWin;
  105.     procedure FormCreate(Sender: TObject);
  106.     procedure PreviewClick(Sender: TObject);
  107.     procedure Table3CalcFields(DataSet: TDataset);
  108.     procedure PrintWin1PrintHeader(Sender: TObject);
  109.     procedure PrintClick(Sender: TObject);
  110.     procedure ExitClick(Sender: TObject);
  111.   private
  112.     { private declarations }
  113.   public
  114.     { public declarations }
  115.   end;
  116.  
  117. var
  118.   Form05: TForm05;
  119.  
  120. implementation
  121.  
  122. {$R *.DFM}
  123.  
  124. procedure TForm05.FormCreate(Sender: TObject);
  125. begin
  126.   Table1.Open;
  127.   Table2.Open;
  128.   ScrollBox1.VertScrollBar.Position := 0;
  129. end;
  130.  
  131. procedure TForm05.PreviewClick(Sender: TObject);
  132. begin
  133.   ScrollBox1.VertScrollBar.Position := 0;
  134.   DBPrintWin1.OutputTo := poViewer;
  135.   DBPrintWin1.BeginPrint;
  136.   DBPrintWin1.DrawWindowMultiple( 1, 1, Panel2);
  137.  
  138.   DBPrintWin1.EndPrint;
  139.  
  140. end;
  141.  
  142. procedure TForm05.Table3CalcFields(DataSet: TDataset);
  143. var
  144.     St: Boolean;
  145. begin
  146.  
  147.   Table3ListPrice.Value := Table4ListPrice.Value;
  148.   Table3Total.Value := Table3ListPrice.Value * Table3Qty.Value;
  149.  
  150.      Table4.Active := True;
  151.      Table4.GoToKey;
  152.   Table4.FindKey([Table3PartNo.AsString]);
  153.      Table3Description.Value := Table4Description.Value;
  154.  
  155. end;
  156.  
  157. procedure TForm05.PrintWin1PrintHeader(Sender: TObject);
  158. var
  159.     Tot: Real;
  160.     Cur: Real;
  161. begin
  162.     if DBPrintWin1.IsLastPage then begin
  163.       Tot := 0.00;
  164.       Cur := 0.00;
  165.         Tot := DBPrintWin1.GetRunningTotal(DBGrid1, 'Total');
  166.  
  167.         { Say tax = 10% }
  168.         Cur := Tot * 0.1;
  169.         Tax.Text := FormatFloat('$ #,##0.00',Cur);
  170.         Tot := Tot + Cur;
  171.  
  172.         { Add Freight say fixed }
  173.         Cur := 100.0;
  174.         Freight.Text := FormatFloat('$ #,##0.00',Cur);
  175.         Tot := Tot + Cur;
  176.  
  177.         { Misc = 0 }
  178.         Cur := 0.00;
  179.         Miscellaneous.Text := FormatFloat('$ #,##0.00',Cur);
  180.         Total.Text := FormatFloat('$ #,##0.00',Tot);
  181.   end;
  182. end;
  183.  
  184. procedure TForm05.PrintClick(Sender: TObject);
  185. begin
  186.     DBPrintWin1.OutputTo := poPrinter;
  187.     DBPrintWin1.BeginPrint;
  188.    ScrollBox1.VertScrollBar.Position := 0;
  189.  
  190.   DBPrintWin1.DrawWindowMultiple( 1, 1, ScrollBox1);
  191.  
  192.   DBPrintWin1.EndPrint;
  193. end;
  194.  
  195. procedure TForm05.ExitClick(Sender: TObject);
  196. begin
  197.     Close;
  198. end;
  199.  
  200. end.