📄 search.pas
字号:
{*******************************************************}
{ }
{ 模型查询 }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马邮资票品项目开发组 }
{ }
{ }
{*******************************************************}
(*
省级集邮票,省级集邮品,省级零枚票,省级市场购入票,省级综合查询,省级系统管理
地市集邮票,地市集邮品,地市市场购入票
*)
unit Search;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ComCtrls, ExtCtrls, ActnList, Db, DBTables, StdCtrls,
DBCtrls, RxLookup, Buttons, RXCtrls, ImgList, MyDBImage, Spin, ToolWin,
RXDBCtrl, FieldComboBox, Menus;
type
TFRM_Search = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
BottomPanel: TPanel;
ActionList1: TActionList;
Qry_Tao: TQuery;
Qry_Bao: TQuery;
Qry_Ban: TQuery;
Ds_PPLB: TDataSource;
Qry_PPLB: TQuery;
Ds_Tao: TDataSource;
Ds_Bao: TDataSource;
Ds_Ban: TDataSource;
TopPanel: TPanel;
Act_DBGEnter: TAction;
Btn_Exit: TBitBtn;
StatusBar1: TStatusBar;
Bevel1: TBevel;
Qry_TuJb: TQuery;
Ds_TuJb: TDataSource;
Qry_send: TQuery;
Panel1: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
Panel6: TPanel;
Panel4: TPanel;
DG_TuJb: TRxDBGrid;
Panel8: TPanel;
Splitter3: TSplitter;
Panel9: TPanel;
Panel10: TPanel;
DG_TaoGy: TRxDBGrid;
Splitter4: TSplitter;
Panel12: TPanel;
DG_BaoGy: TRxDBGrid;
Panel14: TPanel;
Splitter5: TSplitter;
Panel15: TPanel;
DG_BanGy: TRxDBGrid;
DG_TuGy: TRxDBGrid;
RxLabel14: TRxLabel;
RxLabel6: TRxLabel;
RLa_tao: TRxLabel;
RLa_bao: TRxLabel;
RLa_ban: TRxLabel;
RLa_tu: TRxLabel;
XttxTitle: TRxLabel;
Qry_TaoTDM: TStringField;
Qry_TaoTMC: TStringField;
Qry_TaoTJC: TStringField;
Qry_TaoTJCJP: TStringField;
Qry_TaoPPLB: TStringField;
Qry_TaoLBM: TStringField;
Qry_TaoZH: TStringField;
Qry_TaoND: TStringField;
Qry_TaoXH: TStringField;
Qry_TaoTPMS: TFloatField;
Qry_TaoTPMZ: TFloatField;
Qry_TaoXLMC: TStringField;
Qry_TaoXLBH: TStringField;
Qry_TaoZLPED: TFloatField;
Qry_TaoSJZ: TStringField;
Qry_TaoYZCJ: TStringField;
Qry_TaoFXRQ: TDateTimeField;
Qry_TaoFXJZRQ: TDateTimeField;
Qry_TaoTFXL: TFloatField;
Qry_TaoBZ: TStringField;
Qry_TaoJHH: TStringField;
Qry_TaoYZDWBJ: TStringField;
Qry_TaoTPSJ: TFloatField;
Qry_TaoTSJYL: TFloatField;
Qry_TaoBZFS: TStringField;
Qry_TaoBTGX: TStringField;
Qry_TaoSDATE: TDateTimeField;
Qry_BaoBZLSH: TFloatField;
Qry_BaoTDM: TStringField;
Qry_BaoBJC: TStringField;
Qry_BaoEDBS: TFloatField;
Qry_BaoMBMS: TFloatField;
Qry_BaoZXBB: TFloatField;
Qry_BaoZXTS: TFloatField;
Qry_BaoBZGG: TFloatField;
Qry_BaoDYBZBDM: TFloatField;
Qry_BaoQXDW: TStringField;
Qry_BaoSDATE: TDateTimeField;
Qry_BanTDM: TStringField;
Qry_BanBLSH: TFloatField;
Qry_BanBJC: TStringField;
Qry_BanBB: TStringField;
Qry_BanGG: TStringField;
Qry_BanWXGG: TStringField;
Qry_BanBMZ: TFloatField;
Qry_BanJSM: TStringField;
Qry_BanMBMS: TFloatField;
Qry_BanFBBJ: TStringField;
Qry_BanSDATE: TDateTimeField;
Qry_TuJbTUDM: TStringField;
Qry_TuJbTDM: TStringField;
Qry_TuJbTXH: TFloatField;
Qry_TuJbZH: TStringField;
Qry_TuJbTZ: TStringField;
Qry_TuJbYZBB: TStringField;
Qry_TuJbTMC: TStringField;
Qry_TuJbTUJC: TStringField;
Qry_TuJbTUJCJP: TStringField;
Qry_TuJbGG: TStringField;
Qry_TuJbWXGG: TStringField;
Qry_TuJbMZ: TFloatField;
Qry_TuJbSJ: TFloatField;
Qry_TuJbCKDS: TStringField;
Qry_TuJbYPGG: TStringField;
Qry_TuJbYZCJ: TStringField;
Qry_TuJbFXL: TFloatField;
Qry_TuJbYZZ: TStringField;
Qry_TuJbSYR: TStringField;
Qry_TuJbBZ: TStringField;
Qry_TuJbSDATE: TDateTimeField;
Qry_TuJbFXRQ: TDateTimeField;
Qry_TuJbLBM: TStringField;
Qry_BaoBZBBJ: TStringField;
Qry_TaoTZ: TStringField;
Qry_TaoCJBSX: TFloatField;
Qry_TaoCJBXX: TFloatField;
ImageList1: TImageList;
Act_img: TAction;
Qry_Static: TQuery;
Panel2: TPanel;
Panel7: TPanel;
Image1: TImage;
ColorDialog1: TColorDialog;
Panel5: TPanel;
DBNavigator1: TDBNavigator;
BitBtn3: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
Panel11: TPanel;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
fcb_pplb: TFieldComboBox;
fcb_PPDL: TFieldComboBox;
E_ZH: TEdit;
fcb_TZ: TFieldComboBox;
BBt_Find: TBitBtn;
ckb_zh: TCheckBox;
GroupBox1: TGroupBox;
CBo_xx: TCheckBox;
CBo_ta: TCheckBox;
DG_TaoJb: TRxDBGrid;
BBt_Send: TBitBtn;
Qry_AcceptTU: TQuery;
Qry_AcceptTA: TQuery;
CB_ND: TSpinEdit;
DWMC: TLabel;
procedure Qry_TaoAfterOpen(DataSet: TDataSet);
procedure Qry_BaoAfterOpen(DataSet: TDataSet);
procedure Qry_BanAfterOpen(DataSet: TDataSet);
procedure Qry_TuJbAfterOpen(DataSet: TDataSet);
procedure CBo_taClick(Sender: TObject);
procedure CBo_xxClick(Sender: TObject);
procedure Act_DBGEnterExecute(Sender: TObject);
procedure Qry_BaoAfterScroll(DataSet: TDataSet);
procedure Qry_BanAfterScroll(DataSet: TDataSet);
procedure Qry_TuJbAfterScroll(DataSet: TDataSet);
procedure DG_TaoJbTitleClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Qry_TaoTPMZGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_TaoTFXLGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure fcb_PPDLChange(Sender: TObject);
procedure BBt_FindClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BBt_SendClick(Sender: TObject);
procedure Qry_BaoEDBSGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure Qry_BaoMBMSGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
private
FDatabase: TDatabase;
FCurrDBGrid: TDBGrid;
vlp_ai_tao: array of boolean;
vlp_ai_bao: array of boolean;
vlp_ai_ban: array of boolean;
vlp_ai_tu: array of boolean;
vlpu_i_imgH: Integer;
procedure SetColumnView(showcol: boolean);
procedure InitNdList;
function GetBanNum: integer;
function GetBaoNum: integer;
function GetTaoNum: integer;
function GetTuNum: integer;
procedure SetBanNum(const Value: integer);
procedure SetBaoNum(const Value: integer);
procedure SetTaoNum(const Value: integer);
procedure SetTuNum(const Value: integer);
function GetStatusString: string;
procedure SetStatusString(const Value: string);
procedure SetCurrDBGrid(const Value: TDBGrid);
procedure SetImgView(blobField_ta: TBlobField);
public
procedure ReSearch;
function Execute(const ADB: TDatabase): boolean;
property CurrDBGrid: TDBGrid read FCurrDBGrid write SetCurrDBGrid;
property TaoNum: integer read GetTaoNum write SetTaoNum;
property BaoNum: integer read GetBaoNum write SetBaoNum;
property BanNum: integer read GetBanNum write SetBanNum;
property TuNum: integer read GetTuNum write SetTuNum;
property StatusString: string read GetStatusString write SetStatusString;
procedure WriteBlobField(DWDM: string);
end;
var
FRM_Search: TFRM_Search;
implementation
uses
datas, pub, PostCommon, GF_pub, GF_img;
{$R *.DFM}
{ TForm1 }
//初始化年度列表
procedure TFRM_Search.InitNdList;
const
ListItemNum = 20;
var
Year, tmp: word;
begin
DecodeDate(Now, Year, tmp, tmp);
with CB_ND do
begin
{ Items.Clear;
for i := Year - ListItemNum div 2 to Year + ListItemNum div 2 do
Items.Add(IntToStr(i)); }
Text := IntToStr(Year);
end;
end;
procedure TFRM_Search.ReSearch;
var
vl_sql: string;
begin
with Qry_Tao do
try
{ if not ckb_zh.Checked then
if (fcb_pplb.Text = '') AND (CB_ND.Text = '') AND (fcb_TZ.Text = '' ) then
begin
ShowMsg('查询套信息', '请输入正确的年度,票品类别及特征!', MB_ICONWARNING);
exit;
end; }
StatusString := Format('年度:%s, 票品类别:%s', [CB_ND.Text, fcb_pplb.Text]);
Close;
Sql.Clear;
vl_sql := 'select a.TDM, b.MC as TZ, a.PPLB, a.TMC, a.TJC, a.TJCJP, a.PPLB, a.LBM, ' +
'a.ZH, a.ND, a.XH, a.TPMS, a.TPMZ,a.TPSJ, a.XLMC, a.XLBH, a.CJBSX, a.CJBXX, ' +
'a.ZLPED, a.SJZ, a.YZCJ, a.FXRQ, a.FXJZRQ, a.TFXL, a.BZ, a.JHH, a.YZDWBJ, ' +
'a.TPSJ, a.TSJYL, a.BZFS, a.BTGX, a.SDATE ' +
'from TB_YZPPTXXB a, TG_YZPPTZDM b where a.TZ=b.TZDM ';
if not ckb_zh.Checked then
begin
if (CB_ND.Text <> '') then
vl_sql := vl_sql + ' and a.ND = ''' + CB_ND.Text + '''';
if (fcb_pplb.Text <> '') then
vl_sql := vl_sql + ' and a.PPLB = ''' + fcb_pplb.FieldString + ''''
else if fcb_PPDL.Text <> '' then
begin
if fcb_PPDL.Text = '普通邮票' then
vl_sql := vl_sql + ' and a.PPLB = ''101'' '
else if fcb_PPDL.Text = '集邮邮票' then
vl_sql := vl_sql + ' and a.PPLB <> ''101'' and a.PPLB like ''1%'' '
else
vl_sql := vl_sql + ' and a.PPLB <> ''101'' and a.PPLB like ''' + fcb_PPDL.FieldString + '%'' ';
end;
if (fcb_TZ.Text <> '') then
vl_sql := vl_sql + ' and a.TZ = ''' + fcb_TZ.FieldString + '''';
end
else
vl_sql := vl_sql + ' and upper(a.ZH) LIKE ''' + UpperCase(E_ZH.Text) + '%' + '''';
vl_sql := vl_sql + ' order by a.TDM';
Sql.Add(vl_sql);
Open;
except
ShowMsg('查询套信息', '没找到对应的套信息!', MB_ICONWARNING);
end;
end;
procedure TFRM_Search.Qry_TaoAfterOpen(DataSet: TDataSet);
begin
TaoNum := GetTaoNum;
with Qry_Bao do
try
Open;
except
ShowMsg('查询包信息', '没找到对应的包信息!', MB_ICONWARNING);
end;
with Qry_Ban do
try
Open;
except
ShowMsg('查询版信息', '没找到对应的版信息!', MB_ICONWARNING);
end;
with Qry_TuJb do
try
Open;
except
ShowMsg('查询图信息', '没找到对应的图信息!', MB_ICONWARNING);
end;
end;
procedure TFRM_Search.Qry_BaoAfterOpen(DataSet: TDataSet);
begin
BaoNum := GetBaoNum;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -