亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? umain.pas

?? Delphi Tag based Report builder!
?? PAS
字號:
unit uMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, ADODB, ExtCtrls, Buttons,
  XPMan;

type
  TfReporterDemoMain = class(TForm)
    gbTemplates: TGroupBox;
    lbTemplates: TListBox;
    Customer: TTable;
    Orders: TTable;
    Employee: TTable;
    Items: TTable;
    Parts: TTable;
    dsOrders: TDataSource;
    dsItems: TDataSource;
    OrderHistory: TQuery;
    PartSales: TADOQuery;
    PartSalesPartNo: TFloatField;
    PartSalesDescription: TWideStringField;
    PartSalesVendorNo: TFloatField;
    PartSalesVendorName: TWideStringField;
    PartSalesListPrice: TFloatField;
    PartSalesSaleYear: TSmallintField;
    PartSalesOrderNo: TFloatField;
    PartSalesSaleDate: TDateTimeField;
    PartSalesQty: TIntegerField;
    PartSalesAmount: TFloatField;
    bCreateReport: TBitBtn;
    bPrintReport: TBitBtn;
    bViewTemplate: TBitBtn;
    GroupBox1: TGroupBox;
    Image1: TImage;
    bClose: TBitBtn;
    XPManifest: TXPManifest;
    procedure FormShow(Sender: TObject);
    procedure bCreateReportClick(Sender: TObject);
    procedure bViewTemplateClick(Sender: TObject);
    procedure lbTemplatesDblClick(Sender: TObject);
    procedure bPrintReportClick(Sender: TObject);
    procedure bCloseClick(Sender: TObject);
    procedure Image1Click(Sender: TObject);
  private
    SumOrderSubtotal: real;

    procedure CreateReport(Print: boolean);
    procedure PopulateTemplateList;
    function GetCustomTagValueForInvoice(const Tag: string; var Value: string): boolean;
  public
  end;

var
  fReporterDemoMain: TfReporterDemoMain;

implementation

uses ShellAPI, uDbFreeReporter;

{$R *.dfm}

procedure TfReporterDemoMain.bPrintReportClick(Sender: TObject);
begin
  CreateReport(True);
end;

procedure TfReporterDemoMain.bViewTemplateClick(Sender: TObject);
var
  TemplatePath: string;
begin
  TemplatePath := ExtractFilePath(Application.ExeName) + 'Templates\'
    + lbTemplates.Items[lbTemplates.ItemIndex];
  ShellExecute(Application.MainForm.Handle, nil, pChar(TemplatePath),
    nil, nil, SW_MAXIMIZE);
end;

procedure TfReporterDemoMain.CreateReport(Print: boolean);
const
  sOperation: array[Boolean] of string = ('open', 'print');
var
  TemplateName, OutputName, sTemplate: string;
  Reporter: TDbFreeReporter;
begin
  if lbTemplates.Count <= 0 then
    exit;
  sTemplate := lbTemplates.Items[lbTemplates.ItemIndex];
  TemplateName := ExtractFilePath(Application.ExeName) + 'Templates\'
    + sTemplate;
  OutputName := ExtractFilePath(Application.ExeName) + 'Output\'
    + StringReplace(sTemplate, '.template.', '.', [rfIgnoreCase]);

  Reporter := TDbFreeReporter.Create;

  if pos('Simple Customer List Report', sTemplate) = 1 then
    Customer.Open
  else if pos('Invoice Report', sTemplate) = 1 then begin
    Orders.Open;
    Customer.Open;
    Employee.Open;
    Items.Open;
    Parts.Open;
    Reporter.OnGetCustomTagValue := GetCustomTagValueForInvoice;
    SumOrderSubtotal := 0;
    Orders.Locate('OrderNo', 1004, []);
  end else if pos('Order History Report', sTemplate) = 1 then begin
    OrderHistory.Open;
    Employee.Open;
  end else if pos('Part Sales Report', sTemplate) = 1 then begin
    PartSales.ConnectionString :=
      'Provider=Microsoft.Jet.OLEDB.4.0;'+
      'Data Source=D:\Program Files\Common Files\Borland Shared\Data\dbdemos.mdb';
      // <--- Change this path according your folder settings, if needed !
    PartSales.Open;
  end;

  try
    Reporter.AddDataSet(Orders);
    Reporter.AddDataSet(Customer);
    Reporter.AddDataSet(Employee);
    Reporter.AddDataSet(Items);
    Reporter.AddDataSet(Parts);
    Reporter.AddDataSet(OrderHistory);
    Reporter.AddDataSet(PartSales);
    Reporter.CreateReport(TemplateName, OutputName);
    if Application.MessageBox(pChar('Report created and saved in file'#13+
      '"' + OutputName + '".'#13#13'Do you want to ' + sOperation[Print] + ' it?'),
      'Confirm', MB_ICONQUESTION+MB_YESNO+MB_DEFBUTTON1+MB_APPLMODAL) <> mrYes
    then
      exit;
    ShellExecute(Application.MainForm.Handle, pChar(sOperation[Print]), pChar(OutputName),
      nil, nil, SW_MAXIMIZE);
  finally
    Reporter.Free;
    Orders.Close;
    Customer.Close;
    Employee.Close;
    Items.Close;
    Parts.Close;
    OrderHistory.Close;
    PartSales.Close;
  end;
end;

procedure TfReporterDemoMain.bCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfReporterDemoMain.bCreateReportClick(Sender: TObject);
begin
  CreateReport(False);
end;

procedure TfReporterDemoMain.FormShow(Sender: TObject);
begin
  PopulateTemplateList;
end;

function TfReporterDemoMain.GetCustomTagValueForInvoice(const Tag: string;
  var Value: string): boolean;
var
  r: real;
begin
  Result := True;
  if Tag = 'PartTotal' then begin
    r := Items['Qty'] * Parts['ListPrice'] * (100 - Items['Discount']) / 100;
    SumOrderSubtotal := SumOrderSubtotal + r;
    Value := Format('%m', [r]);
  end else if Tag = 'OrderSubtotal' then
    Value := Format('%m', [SumOrderSubtotal])
  else if Tag = 'OrderTotal' then begin
    r := SumOrderSubtotal * (1 + Orders['TaxRate'] / 100) + Orders['Freight'];
    Value := Format('%m', [r]);
  end else
    Result := False;
end;

procedure TfReporterDemoMain.Image1Click(Sender: TObject);
begin
  ShellExecute(Application.MainForm.Handle, '',
    pChar('http://www.turboexplorer.com/'), nil, nil, SW_MAXIMIZE);
end;

procedure TfReporterDemoMain.lbTemplatesDblClick(Sender: TObject);
begin
  bCreateReport.Click;
end;

procedure TfReporterDemoMain.PopulateTemplateList;
var
  tpath: string;
  sr: TSearchRec;
begin
  lbTemplates.Clear;
  tpath := ExtractFilePath(Application.ExeName) + 'Templates\';

  if FindFirst(tpath + '*.template.rtf', faAnyFile - faDirectory, sr) = 0 then begin
    repeat
      lbTemplates.Items.Add(sr.Name);
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;

  if FindFirst(tpath + '*.template.htm', faAnyFile - faDirectory, sr) = 0 then begin
    repeat
      lbTemplates.Items.Add(sr.Name);
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;

  lbTemplates.Sorted := True;
  if lbTemplates.Count > 0 then
    lbTemplates.ItemIndex := 0;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二三四区| 久久机这里只有精品| 日韩欧美国产小视频| 国产成人av一区二区| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩国产大片| 不卡欧美aaaaa| 国产乱子伦视频一区二区三区| 亚洲精品乱码久久久久久| 精品国产乱码久久久久久免费| 欧美丝袜丝交足nylons| 国产成人h网站| 亚洲成人综合在线| 国产精品无遮挡| 久久久久久久综合| 久久亚洲综合色| 欧美va在线播放| 欧美www视频| 91麻豆精品国产91久久久更新时间 | 图片区日韩欧美亚洲| 国产精品美女久久福利网站| 日本一区二区在线不卡| 精品久久久久久最新网址| 精品久久一区二区三区| 欧美精品一区二区不卡| 欧美不卡视频一区| 久久噜噜亚洲综合| 国产精品伦理一区二区| 亚洲视频一区在线| 午夜伊人狠狠久久| 久久99精品久久久久婷婷| 国产精品自拍三区| 不卡的av电影在线观看| 色综合久久天天| 精品少妇一区二区三区免费观看| 欧美日韩在线直播| 欧美性高清videossexo| 69久久99精品久久久久婷婷| 日韩精品在线看片z| 亚洲精品在线观看网站| 国产精品麻豆网站| 五月综合激情日本mⅴ| 极品少妇xxxx精品少妇| 成人动漫视频在线| 在线成人免费视频| 国产欧美日韩在线观看| 亚洲第四色夜色| 国产高清一区日本| 欧美日韩国产免费一区二区| 久久久久久麻豆| 亚洲成在人线在线播放| 成人精品小蝌蚪| 日韩精品在线一区| 亚洲精品美国一| 国产精品综合二区| 欧美一级理论性理论a| 亚洲一级二级在线| 三级在线观看一区二区| 日韩在线一区二区| 国产精品一级片| 日韩三级.com| 日本人妖一区二区| 欧美久久一二三四区| 中文字幕在线不卡一区二区三区 | 精品一区二区三区不卡| 欧美视频三区在线播放| 亚洲精品ww久久久久久p站| 91性感美女视频| 亚洲欧美一区二区在线观看| 国产成人福利片| 国产精品久久久久久久久久久免费看| 黄页视频在线91| 国产丝袜欧美中文另类| 国产乱国产乱300精品| 久久精品夜色噜噜亚洲a∨| 国产精品一二三区在线| 中文字幕精品—区二区四季| 99久久精品国产观看| 亚洲精品成人在线| 欧美二区乱c少妇| 国产在线看一区| 亚洲日本免费电影| 欧美日韩高清在线| 男女性色大片免费观看一区二区 | 欧美巨大另类极品videosbest | caoporm超碰国产精品| 欧美最猛性xxxxx直播| 一区二区三区国产| 日本韩国欧美一区二区三区| 亚洲无人区一区| 日韩欧美第一区| 色94色欧美sute亚洲线路一久| 亚洲国产欧美另类丝袜| 国产午夜精品一区二区| 99久久国产综合精品色伊| 亚洲电影在线播放| 亚洲精品一线二线三线无人区| 粉嫩高潮美女一区二区三区| 亚洲激情五月婷婷| 精品国产91久久久久久久妲己| 国产91精品一区二区麻豆网站| 中文字幕视频一区二区三区久| 欧美久久久久久久久| 国内不卡的二区三区中文字幕| 久久久精品蜜桃| 精品视频一区二区三区免费| 精品一区二区影视| 亚洲国产日韩a在线播放 | 欧美伊人精品成人久久综合97| 成人激情文学综合网| 国产精品综合久久| 久久国产精品色婷婷| 一区二区三区在线视频免费观看| 久久久久久久久岛国免费| 欧美日韩久久久一区| 99视频在线精品| 91免费看`日韩一区二区| 精品在线播放免费| 日欧美一区二区| 一区二区三区欧美日韩| 中文字幕第一区第二区| 91精品国产91久久综合桃花| 91在线视频免费91| 欧美高清一级片在线| aaa欧美色吧激情视频| 成av人片一区二区| 国产福利91精品| 国产高清不卡二三区| 国产精品一区在线观看乱码| 国产麻豆精品在线观看| 国产精品1区二区.| 91亚洲精品一区二区乱码| 9色porny自拍视频一区二区| zzijzzij亚洲日本少妇熟睡| 成人av影视在线观看| www.欧美精品一二区| 欧美三级在线播放| 久久久无码精品亚洲日韩按摩| ...av二区三区久久精品| 亚洲精品免费看| 免费观看91视频大全| 激情综合色丁香一区二区| 国产成人综合亚洲网站| 波多野结衣一区二区三区| 色女孩综合影院| 精品国产网站在线观看| 日韩毛片视频在线看| 日本中文字幕不卡| 精品一区二区影视| 色成年激情久久综合| 日韩欧美国产电影| 一区二区三区四区乱视频| 麻豆国产欧美一区二区三区| 国产在线麻豆精品观看| 色综合色狠狠综合色| 欧美一区日韩一区| 亚洲欧美一区二区三区孕妇| 久久国产精品免费| 7777女厕盗摄久久久| 自拍偷拍国产精品| 国产在线国偷精品免费看| 欧亚洲嫩模精品一区三区| 久久伊99综合婷婷久久伊| 五月天国产精品| 欧美美女直播网站| 亚洲视频一区二区在线观看| 国产毛片精品国产一区二区三区| 欧美亚洲免费在线一区| 国产精品久久精品日日| 国产成人亚洲精品狼色在线| 欧美丰满少妇xxxbbb| 亚洲1区2区3区视频| 色香色香欲天天天影视综合网| 国产精品色哟哟网站| 国产在线不卡一卡二卡三卡四卡| 欧美日韩一级视频| 亚洲123区在线观看| 欧美日韩亚洲综合在线 | 一区二区久久久久| 在线观看成人免费视频| 亚洲视频一区在线观看| 91国偷自产一区二区三区观看| 国产欧美日韩视频在线观看| 国产精品一二三区在线| 中文文精品字幕一区二区| 高清国产一区二区三区| 18成人在线观看| 91国模大尺度私拍在线视频| 亚洲影视在线观看| 欧美精品自拍偷拍| 国产一区二区免费看| 久久久蜜桃精品| 91麻豆国产香蕉久久精品| 亚洲精品成人a在线观看| 在线成人av网站| 波多野结衣的一区二区三区| 无码av免费一区二区三区试看| 精品国产免费久久| www.久久久久久久久| 免费观看一级欧美片|