📄 sy_jypxxwh.pas
字号:
exit;
end;
if (Trim(DBDateEdit1.Text) = '') then
begin
CHQMsgBox('“发行日期”内容不能为空!');
ActiveControl := DBDateEdit1;
exit;
end;
end;
1:
begin
if (Trim(DBEdit13.Text) = '') then
begin
CHQMsgBox('“枚代码”内容不能为空!');
ActiveControl := DBEdit13;
exit;
end;
if (Trim(DBEdit14.Text) = '') then
begin
CHQMsgBox('“志号”内容不能为空!');
ActiveControl := DBEdit14;
exit;
end;
if (Trim(DBEdit15.Text) = '') then
begin
CHQMsgBox('“名称”内容不能为空!');
ActiveControl := DBEdit15;
exit;
end;
end;
end;
if (vlp_status = 1) then //add编辑状态
begin
case vlp_FocusGrid.tag of
0: //套
begin
if ExistRecord('TB_JYPTXXB', 'TDM = ''' +
trim(Qry_tao.FieldByName('TDM').AsString) + '''') then
begin
CHQMsgBox('该套邮品的记录已经存在!');
ActiveControl := DBEdit1;
exit;
end;
end;
1: //图
begin
if ExistRecord('TB_JYPMXXB', 'TDM=''' + trim(Qry_tao.FieldByName('TDM').AsString) +
''' AND MDM=''' + trim(Qry_mei.FieldByName('MDM').AsString) + '''') then
begin
CHQMsgBox('该枚邮品的记录已经存在!');
ActiveControl := DBEdit13;
exit;
end;
end;
end;
vlp_stao_tdm := Qry_tao.fieldbyname('TDM').AsString;
if vlp_FocusGrid.Tag = 1 then //图
begin
vlp_smei_mdm := Qry_mei.fieldbyname('MDM').AsString;
end;
end
else
begin //edit
//**
if vlp_FocusGrid.Tag = 1 then //tu
begin
if (Qry_mei.FieldByName('MDM').AsString <> vlp_oldmeival.old_mei_mdm) then //(Qry_mei.FieldByName('JHH').AsString <> oldtuval.old_tu_jhh) or
begin
if ExistRecord('TB_JYPMXXB', 'TDM=''' +
Qry_tao.FieldByName('TDM').AsString + ''' AND MDM=''' +
Qry_mei.FieldByName('MDM').AsString + '''') then
begin
CHQMsgBox('该枚邮品的记录已经存在!');
Qry_mei.FieldByName('MDM').AsString := vlp_oldmeival.old_mei_mdm;
ActiveControl := DBEdit13;
exit;
end;
vlp_smei_mdm := Qry_mei.fieldbyname('TX').AsString;
end;
end;
end;
{直接进行事务处理}
Qry_tao.DataBase.StartTransaction;
try
(vlp_FocusGrid.DataSource.DataSet as TQuery).ApplyUpdates;
(vlp_FocusGrid.DataSource.DataSet as TQuery).CommitUpdates;
{进行保存图的程序}
case vlp_FocusGrid.Tag of
0:
Save_Tao_Pic;
1:
Save_Mei_Pic;
end;
{ if (vlp_status = 3) and (vlp_FocusGrid.Tag = 1) and
(vlp_oldmeival.old_mei_tdm <> Qry_mei.FieldByName('TX').AsString)then//edit tu ,并且 tx发生改变
with Qry_sub do
begin
Close;
SQL.Clear;
SQL.Add('DELETE from tf_pfxjhtu where jhh=''' +
Qry_mei.FieldByName('JHH').AsString + ''' and tx= ' +
Qry_mei.FieldByName('TX').AsString);
ExecSQL;
end; }
Qry_tao.DataBase.Commit;
{新增/修改结束,恢复设置}
CBo_tao.Enabled := True;
except
Qry_tao.DataBase.RollBack;
raise exception.Create('数据访问错误!');
end;
{syz注释,目的:避免录入地发行日期不是当前显示年度,导致出现查找不到地问题}
// vlp_FocusGrid.DataSource.DataSet.Close;
// vlp_FocusGrid.DataSource.DataSet.Open;
SetEditStatus(0);
case vlp_focusgrid.tag of
0: //套
Qry_tao.Locate('TDM', vlp_stao_tdm, [loPartialKey]);
1: //图
Qry_mei.Locate('TDM; MDM', VarArrayOf([vlp_stao_tdm, vlp_smei_mdm]), [loPartialKey]);
end;
CBo_taoClick(Sender); {完成,显示一下图案} {}
end;
{保存套信息}
procedure TFrm_jyp.Save_Tao_Pic;
var
Des_FileStream: TFileStream;
if_Exist_Rec: Boolean;
begin
if Target_name = '' then {没有选择图,直接退出} {}
Exit;
{判断是否存在数据}
with Qry_TA do
begin
Close;
SQL.Text := 'Select TDM,TA from TB_JYPTTAXXB Where TDM=' + '''' + Qry_Tao.fieldbyname('TDM').asstring + '''';
Open;
if IsEmpty = True then
if_Exist_Rec := False
else
if_Exist_Rec := True;
end;
Des_FileStream := TFileStream.Create(Target_name, fmOpenRead);
Des_FileStream.Position := 0;
{形成要操作的记录}
if if_Exist_Rec = False then
with Qry_TA do
begin
Append;
FieldByName('TDM').AsString := Qry_Tao.fieldbyname('TDM').asstring;
end
else
Qry_TA.Edit;
TBlobField(Qry_TA.FieldByName('TA')).loadfromStream(Des_FileStream);
Qry_TA.Post;
Des_FileStream.Free;
end;
{保存图信息}
procedure TFrm_jyp.Save_Mei_Pic;
var
Des_FileStream: TFileStream;
if_Exist_Rec: Boolean;
begin
if Target_name = '' then {没有选择图,直接退出} {}
Exit;
{判断是否存在,以便决定是插入还是修改}
with Qry_TA do
begin
Close;
SQl.Clear;
Sql.Add('Select TDM,MDM,TA from TB_JYPMTAXXB Where TDM=');
SQl.Add('''' + Qry_mei.fieldbyname('TDM').asstring + '''and MDM=''' + Qry_mei.fieldbyname('MDM').asstring + '''');
Open;
if IsEmpty = False then
if_Exist_Rec := True
else
if_Exist_Rec := False;
end;
Des_FileStream := TFileStream.Create(Target_name, fmOpenRead);
Des_FileStream.Position := 0;
{设置为修改状态,如果存在记录,直接执行,否则插入}
if if_Exist_Rec = False then
with Qry_TA do
begin
Append;
FieldByName('TDM').AsString := Qry_mei.fieldbyname('TDM').asstring;
FieldByName('MDM').AsString := Qry_mei.fieldbyname('MDM').asstring;
end
else
Qry_TA.Edit;
{真正插入图形}
TBlobField(Qry_TA.FieldByName('TA')).loadfromStream(Des_FileStream);
Des_FileStream.Free;
Qry_TA.Post;
end;
procedure TFrm_jyp.Act_cancelExecute(Sender: TObject);
begin
Qry_tao.DataBase.StartTransaction;
try
if vlp_focusgrid.tag = 0 then
Qry_tao.AfterScroll := nil;
(vlp_FocusGrid.DataSource.DataSet as TQuery).CancelUpdates;
Qry_tao.AfterScroll := Qry_taoAfterScroll;
Qry_tao.DataBase.Commit;
except
Qry_tao.DataBase.RollBack;
raise exception.Create('数据访问错误!');
end;
(*syz删除,因为插入地方式改变了,不在插入地时候直接插入,所以修改
case vlp_focusgrid.tag of
0: //套
begin
Qry_tao.Locate('TDM', vlp_stao_tdm, [loPartialKey]);
With Qry_TA do
begin
Close;
SQL.Clear;
SQL.Add('Delete TB_JYPTTAXXB Where TDM=''' + Qry_Tao.FieldByName('TDM').AsString + '''');
ExecSQL;
end;
end;
1: //图
begin
Qry_mei.Locate('TDM; MDM', VarArrayOf([vlp_stao_tdm, vlp_smei_mdm]), [loPartialKey]);
With Qry_TA do
begin
Close;
SQL.Text := 'Delete TB_JYPMTAXXB Where TDM=''' + Qry_mei.fieldbyname('TDM').asstring + '''' +
' and MDM=''' + Qry_mei.fieldbyname('MDM').asstring + '''';
{
SQL.Clear ;
SQL.Add('Delete TB_JYPMTAXXB Where TDM:=:TDM and MDM=:MDM');
Prepared:=true;syz搬移
params[0].AsString := Qry_mei.fieldbyname('TDM').asstring;
Params[1].AsString:= Qry_mei.fieldbyname('MDM').asstring;
Prepared:=true;syz搬移
}
ExecSql;
end;
end;
end;
*)
SetEditStatus(0);
{新增/修改结束,恢复设置}
CBo_tao.Enabled := True;
CBo_taoClick(Sender); {刷新一下图} {syz}
end;
procedure TFrm_jyp.Act_exitExecute(Sender: TObject);
begin
close;
end;
procedure TFrm_jyp.FormCreate(Sender: TObject);
begin
vlp_stao_tdm := '';
vlp_smei_mdm := '';
vlp_FocusGrid := DBGid_tao;
SetEditStatus(0, -3);
end;
procedure TFrm_jyp.DBGid_taoEnter(Sender: TObject);
var
i: integer;
vl_s_oldfld: string;
begin
vlp_FocusGrid := (Sender as TDBGrid);
if (vlp_FocusGrid = DBGid_tao) then
begin
DBGid_tao.TitleFont.Color := clnavy;
DBGid_tao.Color := clWindow;
DBGid_mei.Color := cl3DLight;
end
else
begin
DBGid_tao.TitleFont.Color := clblack;
DBGid_mei.Color := clWindow;
DBGid_tao.Color := cl3DLight;
end;
if (vlp_FocusGrid = DBGid_mei) then
begin
DBGid_mei.TitleFont.Color := clnavy;
DBGid_mei.Color := clWindow;
DBGid_tao.Color := cl3DLight;
end
else
begin
DBGid_mei.TitleFont.Color := clblack;
DBGid_tao.Color := clWindow;
DBGid_mei.Color := cl3DLight;
end;
GBo_tao.Visible := (vlp_FocusGrid = DBGid_tao);
GBo_mei.Visible := (vlp_FocusGrid = DBGid_mei);
if (vlp_FocusGrid = DBGid_mei) then
begin
Act_add.Enabled := (not Qry_tao.IsEmpty) and (vlp_status = 0);
Act_Delete.Enabled := (not Qry_mei.IsEmpty) and (vlp_status = 0);
Act_modify.Enabled := Act_Delete.Enabled;
for i := 0 to GBo_mei.ControlCount - 1 do
begin
if (not (GBo_mei.Controls[i] is TLabel)) and (GBo_mei.Controls[i].Visible) then
if uppercase(GBo_mei.Controls[i].ClassName) = 'TDBLOOKUPCOMBOBOX' then
begin
vl_s_oldfld := (GBo_mei.COntrols[i] as TDBLookUpComboBox).DataField;
(GBo_mei.COntrols[i] as TDBLookUpComboBox).DataField := '';
(GBo_mei.COntrols[i] as TDBLookUpComboBox).DataField := vl_s_oldfld;
end;
if uppercase(GBo_mei.Controls[i].ClassName) = 'TDBEDIT' then
begin
vl_s_oldfld := (GBo_mei.COntrols[i] as TDBEdit).DataField;
(GBo_mei.COntrols[i] as TDBEdit).DataField := '';
(GBo_mei.COntrols[i] as TDBEdit).DataField := vl_s_oldfld;
end;
if uppercase(GBo_mei.Controls[i].ClassName) = 'TDBMEMO' then
begin
vl_s_oldfld := (GBo_mei.COntrols[i] as TDBMemo).DataField;
(GBo_mei.COntrols[i] as TDBMemo).DataField := '';
(GBo_mei.COntrols[i] as TDBMemo).DataField := vl_s_oldfld;
end;
end;
end
else
begin
Act_add.Enabled := (vlp_status = 0);
Act_Delete.Enabled := (not Qry_tao.IsEmpty) and (vlp_status = 0);
Act_modify.Enabled := Act_Delete.Enabled;
end;
CBo_taoClick(Sender); {syz增加,目的,使切换到套/枚代码的时候能够显示图案} {}
end;
procedure TFrm_jyp.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
begin
if ((Sender as TCustomForm).activecontrol is TMEMO) then //or (self.activecontrol is TDBGRid) then
else
begin
postmessage((Sender as TWinControl).handle, WM_KEYDOWN, 9, 0);
postmessage((Sender as TWinControl).handle, WM_KEYUP, 9, 0);
end;
end;
end;
{图保存地点}
procedure TFrm_jyp.SpeedButton1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute = False then
begin
Target_name := ''; {设置为空,保存的时候不进行操作} {}
exit;
end;
{已经设定了OpenPictureDialog1属性必须是存在文件,此时直接读取文件}
Target_name := OpenPictureDialog1.FileName;
image2.Visible := True;
image2.Stretch := false;
image2.Picture.LoadFromFile(Target_name);
Image2.BringToFront;
end;
{选择套的图案}
procedure TFrm_jyp.SpeedButton2Click(Sender: TObject);
var
Des_FileStream: TFileStream;
SQStr: string;
if_Exist_Rec: Boolean;
begin
if OpenPictureDialog1.Execute = False then
begin
Target_name := ''; {设置为空,保存的时候不进行操作} {}
exit;
end;
{已经设定了OpenPictureDialog1属性必须是存在文件,此时直接读取文件}
Target_name := OpenPictureDialog1.FileName;
image1.Visible := True;
image1.Stretch := false;
image1.Picture.LoadFromFile(Target_name);
Image1.BringToFront;
end;
procedure TFrm_jyp.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanCLose := CheckExit;
end;
procedure TFrm_jyp.Qry_taoCBGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrm_jyp.Qry_taoCBSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
{-------------------------------------------------------------------------------}
{根据不同条件显示邮品发行日期}
procedure TFrm_jyp.RB_no_ndClick(Sender: TObject);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -