📄 sy_jypfx.pas
字号:
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);
Act_send.Enabled := (not Qry_tao.IsEmpty) and (vlp_status = 0);
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;
end;
procedure TFrmY_jypfx.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 TFrmY_jypfx.DBGid_taoMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (DBGid_tao.DataSource.DataSet.IsEmpty) then
exit
else
begin
if DBGid_tao.SelectedRows.Count = 0 then
DBGid_tao.SelectedRows.CurrentRowSelected := true;
if (vlp_status <> 2) then
// SetEditStatus(4, DBGid_Tao.SelectedRows.Count);
end;
end;
procedure TFrmY_jypfx.Act_sendExecute(Sender: TObject);
var
i: integer;
vl_s_insql: string;
vl_s_edinsql: string;
vl_s_jsdw: string;
vl_sl_jsdw: TStringList;
begin
if (DBGid_tao.DataSource.DataSet.IsEmpty) then
begin
CHQMsgBox('当前没有可发送的记录!');
exit;
end;
if DBGid_tao.SelectedRows.Count = 0 then
begin
DBGid_tao.SelectedRows.CurrentRowSelected := true;
end;
//set insql、edinsql str
for i := 0 to DBGid_tao.SelectedRows.Count - 1 do
begin
DBGid_tao.DataSource.DataSet.GotoBookmark(pointer(DBGid_tao.SelectedRows.Items[i]));
vl_s_insql := vl_s_insql + '''' + DBGid_tao.DataSource.DataSet.FieldByName('JHH').AsString + ''', ';
end;
vl_s_insql := copy(vl_s_insql, 1, length(vl_s_insql) - 2);
vl_sl_jsdw := TStringList.Create;
with Qry_super do
begin
Close;
SQL.Clear;
SQL.Add('select jsdwdm from tg_xttxfsgnb where csdm=''sf_ypfxjh''');
Open;
vl_s_jsdw := trim(Fields[0].AsString);
if length(vl_s_jsdw) = 0 then
begin
CHQMsgBox('请先设置接收单位再发送发行计划!');
exit;
end;
vl_sl_jsdw.Clear;
while pos(',', vl_s_jsdw) > 0 do
begin
vl_sl_jsdw.Add(copy(vl_s_jsdw, 1, pos(',', vl_s_jsdw) - 1));
vl_s_jsdw := copy(vl_s_jsdw, pos(',', vl_s_jsdw) + 1, length(vl_s_jsdw));
end;
vl_sl_jsdw.Add(vl_s_jsdw);
end;
//**
if CHQMsgBox('确定要发送选中的邮品征订信息吗?', 2) = IDNo then
exit;
vlp_stao_jhh := DBGid_tao.DataSource.DataSet.fieldbyname('JHH').AsString;
data.DM.StartTransaction;
with Qry_super do
try
//*********
if (length(vl_s_edinsql) > 0) then
if (length(vl_s_insql) > 0) then
vl_s_insql := vl_s_insql + ',' + vl_s_edinsql
else
vl_s_insql := vl_s_edinsql;
for i := 0 to vl_sl_jsdw.Count - 1 do
begin
Close;
SQL.Clear; //tao_caco
SQL.Add('INSERT INTO TF_YPFXJHTAO_CACO ' +
'(JHH,ND,XH,JYPLB,TZDM,DW,TMC,TJC,QTMS,CB,QTSJ,FXRQ,JHFXL,FXDWDM,FXDWMC,PZR,ZBR,ZBRQ,BZ,COMM_DEPT) ' +
'SELECT JHH,ND,XH,JYPLB,TZDM,DW,TMC,TJC,QTMS,CB,QTSJ,FXRQ,JHFXL,FXDWDM,FXDWMC,PZR,ZBR,ZBRQ,BZ,''' + vl_sl_jsdw.Strings[i] +
''' FROM TF_YPFXJHTAO WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
Close;
SQL.Clear; //tu_caco
SQL.Add('INSERT INTO TF_YPFXJHM_CACO ' +
'(JHH,MXH,PPLB,DW,TUMC,TUJC,CB,SJ,JHFXL,BZ,COMM_DEPT) ' +
'SELECT JHH,MXH,PPLB,DW,TUMC,TUJC,CB,SJ,JHFXL,BZ,''' + vl_sl_jsdw.Strings[i] +
''' FROM TF_YPFXJHM WHERE JHH IN (' + vl_s_insql + ')');
ExecSQL;
end;
//////////////////////////////////
data.DM.Commit;
CHQMsgBox('集邮品征订信息发送成功!');
except
data.DM.RollBack;
raise exception.Create('发送失败:数据访问错误!');
end;
vl_sl_jsdw.Destroy;
DBGid_tao.DataSource.DataSet.Close;
DBGid_tao.DataSource.DataSet.Open;
DBGid_tao.DataSource.DataSet.Locate('JHH', vlp_stao_jhh, []);
end;
procedure TFrmY_jypfx.SpeedButton1Click(Sender: TObject);
begin
LoadBitmapToBlobField(Qry_mei.FieldByName('TA'));
end;
procedure TFrmY_jypfx.SpeedButton2Click(Sender: TObject);
begin
LoadBitmapToBlobField(Qry_tao.FieldByName('TA'));
end;
procedure TFrmY_jypfx.LoadBitmapToBlobField(const AField: TField);
var
FBitmap: TBitmap;
begin
if Assigned(AField) and (AField.IsBlob) then
with TOpenPictureDialog.Create(nil) do
try
Filter := 'Bitmap files(*.bmp)|*.bmp';
if Execute then
begin
FBitmap := TBitmap.Create;
try
FBitmap.LoadFromFile(FileName);
AField.DataSet.Edit;
AField.Assign(FBitmap);
AField.DataSet.Post;
finally
FBitmap.Free;
end;
end;
finally
Free;
end;
end;
procedure TFrmY_jypfx.SpinEdit1Change(Sender: TObject);
begin
Qry_tao.Filter := 'ND=''' + SpinEdit1.Text + '''';
end;
procedure TFrmY_jypfx.Qry_taoUpdateError(DataSet: TDataSet;
E: EDatabaseError; UpdateKind: TUpdateKind;
var UpdateAction: TUpdateAction);
begin
if pos('Key violation', e.Message) <> 0 then
vlp_s_errmsg := '该邮品已经存在!'
else if pos('Field value required', e.Message) <> 0 then
vlp_s_errmsg := '带"**"的字段不能为空,请重新确定再保存!'
else
vlp_s_errmsg := '数据访问错误!';
end;
procedure TFrmY_jypfx.DBLCbox_jyplbCloseUp(Sender: TObject);
begin
//
end;
procedure TFrmY_jypfx.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanCLose := CheckExit;
end;
procedure TFrmY_jypfx.DBLookupComboBox3Exit(Sender: TObject);
begin
Qry_tao.FieldByName('FXDWMC').Value := TDBLookupComboBox(Sender).Text;
end;
procedure TFrmY_jypfx.FormCreate(Sender: TObject);
begin
GetAllColWidth(Self);
end;
procedure TFrmY_jypfx.Qry_taoAfterOpen(DataSet: TDataSet);
var
i: integer;
begin
{ for i := 0 to GBo_tao.ControlCount - 1 do
if GBo_tao.Controls[i] is TDBEdit then
TDBEdit(GBo_tao.Controls[i]).MaxLength := TDBEdit(GBo_tao.Controls[i]).Field.Size;
}
{ with DataSet do
begin
TNumericField(FieldByName('YJZJJE')).DisplayFormat := '#,##0.00##';
TNumericField(FieldByName('JJZJJE')).DisplayFormat := '#,##0.00##';
TNumericField(FieldByName('YJJSJE')).DisplayFormat := '#,##0.00##';
TNumericField(FieldByName('JJJSJE')).DisplayFormat := '#,##0.00##';
TNumericField(FieldByName('YJYE')).DisplayFormat := '#,##0.00##';
TNumericField(FieldByName('JJYE')).DisplayFormat := '#,##0.00##';
end;}
end;
procedure TFrmY_jypfx.Qry_taoCBGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrmY_jypfx.Qry_taoCBSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure TFrmY_jypfx.Qry_taoQTSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrmY_jypfx.Qry_taoQTSJSetText(Sender: TField;
const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure TFrmY_jypfx.Qry_meiCBGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrmY_jypfx.Qry_meiCBSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure TFrmY_jypfx.Qry_meiSJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
CurrGetText(Sender, Text, DisplayText);
end;
procedure TFrmY_jypfx.Qry_meiSJSetText(Sender: TField; const Text: string);
begin
CurrSetText(Sender, Text);
end;
procedure TFrmY_jypfx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveAllColWidth(Self);
end;
procedure TFrmY_jypfx.Qry_taoAfterScroll(DataSet: TDataSet);
begin
DBLCbox_DL.KeyValue := copy(Qry_tao.FieldByName('JYPLB').AsString, 1, 1);
DBLCbox_DLCloseUp(nil);
end;
procedure TFrmY_jypfx.DBLCbox_DLCloseUp(Sender: TObject);
begin
Qry_pplb.Close;
Qry_pplb.Params[0].AsString := DBLCbox_DL.keyValue;
Qry_pplb.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -