📄 u_web_plan.pas
字号:
unit U_WEB_PLAN;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Grids, AdvGrid, TFlatEditUnit, TFlatComboBoxUnit,
TFlatButtonUnit, BaseGrid;
type
TF_WEB_PLAN = class(TForm)
PN_VIP: TPanel;
PN_BN: TPanel;
LB_PLAN: TLabel;
LB_ADATE: TLabel;
SG_JL: TAdvStringGrid;
LB_DDATE: TLabel;
LB_OPNO: TLabel;
Bevel1: TBevel;
MM_MEMO: TMemo;
LB_MEMO: TLabel;
Bevel2: TBevel;
ED_ADATE: TFlatEdit;
ED_DDATE: TFlatEdit;
ED_OPNO: TFlatEdit;
ED_PLAN: TFlatEdit;
BN_BC: TFlatButton;
BN_XZ: TFlatButton;
BN_PRN: TFlatButton;
BN_LOCATE: TFlatButton;
BN_QX: TFlatButton;
Label1: TLabel;
BN_ROOM: TFlatButton;
ED_ATIME: TFlatEdit;
ED_DTIME: TFlatEdit;
Label2: TLabel;
Label3: TLabel;
CB_TYPE: TFlatComboBox;
Label4: TLabel;
CB_URGENT: TFlatComboBox;
Label5: TLabel;
CB_IMPT: TFlatComboBox;
Label6: TLabel;
ED_ABBR: TFlatEdit;
function savetodb(Sender: TObject): boolean;
procedure DealTag(Sender: Tobject; UpDown: integer; Tag: integer);
procedure check_pn1(Sender: TObject);
procedure BN_BCClick(Sender: TObject);
procedure BN_QXClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure SG_JLDblClick(Sender: TObject);
procedure ED_ADATEKeyPress(Sender: TObject; var Key: Char);
procedure BN_XZClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BN_LOCATEClick(Sender: TObject);
procedure SG_JLGetCellColor(Sender: TObject; ARow, ACol: Integer;
AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
procedure CB_DEPNOKeyPress(Sender: TObject; var Key: Char);
procedure ED_ADATEExit(Sender: TObject);
procedure ED_PLANExit(Sender: TObject);
procedure BN_PRNClick(Sender: TObject);
procedure CB_DEPNOExit(Sender: TObject);
procedure BN_ROOMClick(Sender: TObject);
procedure SG_JLGetAlignment(Sender: TObject; ARow, ACol: Integer;
var HAlign: TAlignment; var VAlign: TVAlignment);
procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_WEB_PLAN: TF_WEB_PLAN;
implementation
uses Pub_program, U_WEB_DM, U_WEB_LOCATE, U_WEB_GRIDPRN, U_WEB_VNO;
var
updrow, arow: integer;
m_msgid: string;
{$R *.DFM}
function TF_WEB_PLAN.savetodb(sender: TObject): boolean;
var
s, s1: string;
i, j: integer;
begin
{ try //此过程只将所有STRING-GRID 中的数据存入数据库。
f_web_dm.hoteldb.Connected := true;
f_web_dm.hoteldb.StartTransaction;
with f_web_dm_wy2.sp_bccompmsg_wangy do
begin
close;
parambyname('@vflag').asstring := iif(trim(ed_msgno.text) = '', '0', '1');
parambyname('@vmsgid').asstring := getstr(ed_msgno.text);
parambyname('@vadate').asdatetime := strtodate(trim(ed_adate.text));
parambyname('@vddate').asdatetime := strtodate(trim(ed_ddate.text));
parambyname('@vmemo').asstring := trim(ed_plan.text);
parambyname('@vopno').asstring := trim(ed_opno.text);
parambyname('@vopno_in').asstring := gstr_czygh;
prepare;
execproc;
ed_msgno.Text := getstr(ed_msgno.Text, parambyname('@vmsgid_o').asstring);
close;
end;
with f_web_dm.qy_wangy do
begin
close;
sql.Clear;
sql.Add('delete msg_cont where msgid=:vmsgid');
parambyname('vmsgid').asstring := getstr(ed_msgno.text);
prepare;
execsql;
close;
sql.Clear;
sql.Add('insert into msg_cont(msgid,msgno,cont) values(:vmsgid,:vmsgno,:vcont)');
prepare;
s := '';
j := 1;
for i := 0 to mm_memo.Lines.Count - 1 do
begin
s1 := trim(mm_memo.Lines.Strings[i]);
if (length(s) < 240) and (length(s + s1) > 236) then
begin
parambyname('vmsgid').asstring := getstr(ed_msgno.text);
parambyname('vmsgno').asinteger := j;
parambyname('vcont').asstring := s;
prepare;
execsql;
s := s1 + #13#10;
inc(j);
end
else
s := s + s1 + #13#10;
end;
if length(s) > 0 then
begin
parambyname('vmsgid').asstring := getstr(ed_msgno.text);
parambyname('vmsgno').asinteger := j;
parambyname('vcont').asstring := s;
prepare;
execsql;
end;
close;
end;
f_web_dm.hoteldb.Commit;
f_web_dm.hoteldb.Connected := false;
result := true;
if sender = BN_BC then
MessageDlg(succ_msg, mtinformation, [mbok], 0);
except
f_web_dm.hoteldb.Rollback;
f_web_dm.hoteldb.Connected := false;
MessageDlg(err_msg, mtinformation, [mbok], 0);
result := false;
end; }
end;
procedure TF_WEB_PLAN.BN_BCClick(Sender: TObject);
begin
check_pn1(pn_vip);
if not savetodb(BN_bc) then
abort;
with sg_jl do
begin
if updrow <> -1 then
begin
arow := updrow;
updrow := -1;
cells[6, arow] := datetostr(now, 1);
end
else
begin
str_grid_wy(sg_jl, arow);
cells[5, arow] := datetostr(now, 1);
end;
cells[1, arow] := ed_adate.text;
cells[2, arow] := ed_ddate.text;
cells[3, arow] := ed_opno.text;
cells[4, arow] := ed_plan.text;
end;
//if check_pn(pn_vip) then
// ed_planexit(ed_plan);
enablepn_wy(pn_vip, false);
colorpn_wy(pn_vip, $00ECF0F2);
clearpn_wy(pn_vip, true, true);
//bn_del.Enabled := false;
bn_prn.Enabled := false;
end;
procedure TF_WEB_PLAN.check_pn1(Sender: TObject);
var
s: string;
begin
s := trim(ed_adate.Text);
if s = '' then
begin
MessageDlg(lb_adate.Caption + null_msg, mtinformation, [mbok], 0);
ed_adate.Text := gstr_pubdate;
ed_adate.SetFocus;
abort;
end;
s := trim(ed_ddate.Text);
if s = '' then
begin
MessageDlg(lb_ddate.Caption + null_msg, mtinformation, [mbok], 0);
ed_ddate.SetFocus;
abort;
end;
if strtodate(ed_ddate.text) - strtodate(ed_adate.text) < 0 then
begin
MessageDlg(date_msg, mtinformation, [mbok], 0);
ed_ddate.SetFocus;
abort;
end;
s := trim(ed_opno.Text);
if s = '' then
begin
MessageDlg(lb_opno.Caption + null_msg, mtinformation, [mbok], 0);
ed_opno.SetFocus;
abort;
end;
s := trim(ed_plan.Text);
if s = '' then
begin
MessageDlg(lb_plan.Caption + null_msg, mtinformation, [mbok], 0);
ed_plan.SetFocus;
abort;
end;
end;
procedure TF_WEB_PLAN.BN_QXClick(Sender: TObject);
begin
if not noedit_sg(sg_jl) then
if MessageDlg(asksave_msg, mtConfirmation, [mbyes, mbno], 0) = mrno then
exit;
close;
end;
procedure TF_WEB_PLAN.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action := cafree;
end;
procedure TF_WEB_PLAN.FormCreate(Sender: TObject);
var
i: integer;
s: string;
begin
enablepn_wy(pn_vip, false);
clearall(sender);
updrow := -1;
s := '编号*12*事务标题*18*关键词*18*事务性质*12*紧急程度*12*重要性*10*相关人员*22*希望开工时间*15*希望完成时间*15*录入时间*15*提交人*8*修改时间*15*';
title_sg_wy(sg_jl, s, false);
cb_type.Clear;
with f_web_dm.qy_wangy do
begin
close;
sql.Clear;
sql.Add('select code,name from case_type order by code');
open;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -