📄 search.pas
字号:
{ with Qry_Ban do
try
Open;
except
ShowMsg('查询包装信息', '没找到对应的包装信息!', MB_ICONWARNING);
end;}
end;
function TFRM_Search.GetBanNum: integer;
begin
if Qry_Ban.Active then
Result := Qry_Ban.RecordCount
else
Result := 0;
end;
function TFRM_Search.GetBaoNum: integer;
begin
if Qry_Bao.Active then
Result := Qry_Bao.RecordCount
else
Result := 0;
end;
function TFRM_Search.GetTaoNum: integer;
begin
if Qry_Tao.Active then
Result := Qry_Tao.RecordCount
else
Result := 0;
end;
function TFRM_Search.GetTuNum: integer;
begin
if Qry_TuJb.Active then
Result := Qry_TuJb.RecordCount
else
Result := 0;
end;
procedure TFRM_Search.SetBanNum(const Value: integer);
begin
with StatusBar1 do
Panels[2].Text := Format('版数:%d', [Value]);
end;
procedure TFRM_Search.SetBaoNum(const Value: integer);
begin
with StatusBar1 do
Panels[1].Text := Format('包数:%d', [Value]);
end;
procedure TFRM_Search.SetTaoNum(const Value: integer);
begin
with StatusBar1 do
Panels[0].Text := Format('套数:%d', [Value]);
end;
procedure TFRM_Search.SetTuNum(const Value: integer);
begin
with StatusBar1 do
Panels[3].Text := Format('图数:%d', [Value]);
end;
function TFRM_Search.GetStatusString: string;
begin
with StatusBar1 do
Result := Panels[4].Text;
end;
procedure TFRM_Search.SetStatusString(const Value: string);
begin
with StatusBar1 do
Panels[4].Text := Value;
end;
procedure TFRM_Search.Qry_TuJbAfterOpen(DataSet: TDataSet);
begin
TuNum := Qry_TuJb.RecordCount;
end;
procedure TFRM_Search.Qry_TuJbAfterScroll(DataSet: TDataSet);
begin
if not CBo_ta.Checked then
Exit;
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('select TA from TB_YZPPTAXXB where NOT TA IS NULL AND TUDM = ''' + Qry_tujb.FieldByName('TUDM').AsString + '''');
Open;
if (not Eof) then
begin
Image1.Visible := True;
SetImgView(TBlobField(Fields[0]));
// Image1.Picture.Bitmap.Assign(TBlobField(Fields[0]));
Image1.Visible := True;
StatusBar1.Panels[0].Text := '有图案信息';
end
else
begin
StatusBar1.Panels[0].Text := '无图案信息';
Image1.Visible := False;
end;
end;
StatusBar1.Panels[1].Text := ' 共有 ' + IntToStr(Qry_tujb.RecordCount) + ' 条';
StatusBar1.Panels[2].Text := ' 当前是第 ' + Qry_tujb.FieldByName('TXH').AsString + ' 条';
StatusBar1.Panels[4].Text := Qry_tujb.FieldByName('TUJC').AsString + '(' + Qry_tujb.FieldByName('ZH').AsString + ')';
end;
function TFRM_Search.Execute(const ADB: TDatabase): boolean;
var
i: integer;
begin
result := false;
CurrDBGrid := DG_TaoGy;
FDatabase := ADB;
Caption := CYZPPTIT;
DWMC.Caption := '使用单位:' + VG_UnitName;
try
for i := 0 to ComponentCount - 1 do
if Components[i] is TDBDataSet then
begin
TDBDataSet(Components[i]).Close;
TDBDataSet(Components[i]).DatabaseName := FDatabase.DatabaseName;
end;
except
ShowMsg('初始化', '不能正确连接数据库!', MB_ICONWARNING);
exit;
end;
InitNDList;
{ try
Qry_PPLB.Open;
if not Qry_PPLB.IsEmpty then
DL_PPLB.KeyValue := Qry_PPLB.FieldByName('YZLDM').Value;
DL_PPLBCloseUp(nil);
result := true;
except
ShowMsg('初始化', '不能打开邮资票品类代码表!', MB_ICONWARNING);
exit;
end; }
ShowModal;
end;
procedure TFRM_Search.DG_TaoJbTitleClick(Column: TColumn);
begin
DBGridTitleOrder(Column, [-1]);
end;
procedure TFRM_Search.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
begin
Qry_tujb.AfterScroll := nil;
for i := 0 to ComponentCount - 1 do
if Components[i] is TDBDataSet then
TDBDataSet(Components[i]).Close;
if Frmf_img <> nil then
Frmf_img.Close;
SaveAllColWidth(Self);
end;
procedure TFRM_Search.CBo_taClick(Sender: TObject);
begin
Panel2.Visible := CBo_ta.Checked;
if Qry_TuJb.IsEmpty then
Exit;
Qry_TuJbAfterScroll(nil);
// Qry_TujbAfterScroll(nil);
end;
procedure TFRM_Search.Act_DBGEnterExecute(Sender: TObject);
begin
CurrDBGrid := TDBGrid(Sender);
if ((Sender as TDBGrid) = DG_BaoGY) and (not Qry_bao.IsEmpty) then
Qry_baoAfterScroll(nil);
if ((Sender as TDBGrid) = DG_BanGY) and (not Qry_ban.IsEmpty) then
Qry_banAfterScroll(nil);
end;
procedure TFRM_Search.SetCurrDBGrid(const Value: TDBGrid);
begin
FCurrDBGrid := Value;
if (Value = DG_TaoGy) then
begin
RLa_tao.Font.Color := clBlue;
RLa_bao.Font.Color := clBlack;
RLa_ban.Font.Color := clBlack;
RLa_tu.Font.Color := clBlack;
Qry_ban.Filtered := false;
Qry_tujb.Filtered := false;
Qry_bao.AfterScroll := nil;
Qry_ban.AfterScroll := nil;
end;
if (Value = DG_BaoGy) then
begin
RLa_bao.Font.Color := clBlue;
RLa_tao.Font.Color := clBlack;
RLa_ban.Font.Color := clBlack;
RLa_tu.Font.Color := clBlack;
Qry_bao.AfterScroll := Qry_baoAfterScroll;
Qry_ban.AfterScroll := nil;
end;
if (Value = DG_BanGy) then
begin
RLa_ban.Font.Color := clBlue;
RLa_tao.Font.Color := clBlack;
RLa_bao.Font.Color := clBlack;
RLa_tu.Font.Color := clBlack;
Qry_bao.AfterScroll := nil;
Qry_ban.AfterScroll := Qry_banAfterScroll;
end;
end;
procedure TFRM_Search.Qry_BaoAfterScroll(DataSet: TDataSet);
var
vlp_blsh: string;
begin
with Qry_Static do
begin
CLose;
SQL.CLear;
SQL.Add('select BLSH from TB_BBGXB where BZLSH = ''' +
Qry_bao.FieldByName('BZLSH').AsString + '''');
Open;
first;
while not Eof do
begin
vlp_blsh := vlp_blsh + 'BLSH=''' + Fields[0].AsString + ''' or ';
next;
end;
end;
vlp_blsh := copy(vlp_blsh, 1, Length(vlp_blsh) - 4);
Qry_ban.Filter := vlp_blsh;
Qry_ban.Filtered := true;
vlp_blsh := '';
with Qry_Static do
begin
CLose;
SQL.CLear;
SQL.Add('select b.TUDM from TB_BBGXB a, TB_BTGXB b where a.BZLSH = ''' +
Qry_bao.FieldByName('BZLSH').AsString + ''' and a.BLSH = b.BLSH');
Open;
while not Eof do
begin
vlp_blsh := vlp_blsh + 'TUDM=''' + Fields[0].AsString + ''' or ';
next;
end;
end;
vlp_blsh := copy(vlp_blsh, 1, Length(vlp_blsh) - 4);
Qry_tujb.Filter := vlp_blsh;
Qry_tujb.Filtered := true;
end;
procedure TFRM_Search.Qry_BanAfterScroll(DataSet: TDataSet);
var
vlp_tudm: string;
begin
with Qry_Static do
begin
CLose;
SQL.CLear;
SQL.Add('select TUDM from TB_BTGXB where BLSH = ''' + Qry_ban.FieldByName('BLSH').AsString + '''');
Open;
while not Eof do
begin
vlp_tudm := vlp_tudm + 'TUDM=''' + Fields[0].AsString + ''' or ';
next;
end;
end;
vlp_tudm := copy(vlp_tudm, 1, Length(vlp_tudm) - 4);
Qry_tujb.Filter := vlp_tudm;
Qry_tujb.Filtered := true;
end;
procedure TFRM_Search.CBo_xxClick(Sender: TObject);
var
i: integer;
begin
if high(vlp_ai_tao) = -1 then
begin
SetLength(vlp_ai_tao, DG_taoGy.Columns.Count);
for i := 0 to DG_taoGy.Columns.Count - 1 do
begin
vlp_ai_tao[i] := DG_taoGy.Columns[i].Visible;
end;
end;
if high(vlp_ai_bao) = -1 then
begin
SetLength(vlp_ai_bao, DG_baoGy.Columns.Count);
for i := 0 to DG_baoGy.Columns.Count - 1 do
begin
vlp_ai_bao[i] := DG_baoGy.Columns[i].Visible;
end;
end;
if high(vlp_ai_ban) = -1 then
begin
SetLength(vlp_ai_ban, DG_banGy.Columns.Count);
for i := 0 to DG_banGy.Columns.Count - 1 do
begin
vlp_ai_ban[i] := DG_banGy.Columns[i].Visible;
end;
end;
if high(vlp_ai_tu) = -1 then
begin
SetLength(vlp_ai_tu, DG_tuGy.Columns.Count);
for i := 0 to DG_tuGy.Columns.Count - 1 do
begin
vlp_ai_tu[i] := DG_tuGy.Columns[i].Visible;
end;
end;
SetColumnView(CBo_xx.Checked);
end;
procedure TFRM_Search.SetColumnView(showcol: boolean);
var
i: integer;
begin
for i := 0 to DG_taoGy.Columns.Count - 1 do
DG_taoGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_tao[i]));
for i := 0 to DG_baoGy.Columns.Count - 1 do
DG_baoGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_bao[i]));
for i := 0 to DG_banGy.Columns.Count - 1 do
DG_banGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_ban[i]));
for i := 0 to DG_tuGy.Columns.Count - 1 do
DG_tuGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_tu[i]));
end;
procedure TFRM_Search.FormCreate(Sender: TObject);
begin
GetAllColWidth(self);
fcb_TZ.ClearAll;
with Qry_Static do
begin
Close;
SQL.Clear;
SQL.Add('select MC,TZDM from TG_YZPPTZDM ');
Open;
while not Eof do
begin
fcb_TZ.Items.Add(FieldByName('MC').AsString);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -