📄 formyjzq.pas
字号:
unit formyjzq;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, StrUtils;
type
Tyjzq = class(TForm)
labdate: TLabel;
labdays: TLabel;
labmemo: TLabel;
DateTimePicker1: TDateTimePicker;
Editmemo: TEdit;
cmdok: TButton;
cmdcancel: TButton;
Comdays: TComboBox;
procedure cmdcancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cmdokClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
yjzq: Tyjzq;
implementation
uses Unit1;
{$R *.dfm}
procedure Tyjzq.cmdcancelClick(Sender: TObject);
begin
yjzq.close ;
end;
procedure Tyjzq.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=1 to 70 do
begin
Comdays.items.add(inttostr(i));
end;
end;
procedure Tyjzq.cmdokClick(Sender: TObject);
var idno:integer;
var datestr:string;
var i,j,new1,old1:integer;
begin
if form1.act='add' then
begin
form1.Maintable.last;
idno:=form1.maintable.fields[0].asinteger;
idno:=idno+1;
datestr:=Datetostr(DateTimePicker1.date);
datestr:=stuffstring(datestr,5,1,'');
datestr:=stuffstring(datestr,7,1,'');
j:=strtoint(comdays.text);
try
form1.maintable.append;
form1.maintable.fieldvalues['id']:= idno;
form1.maintable.fieldvalues['startdate']:= datestr;
form1.maintable.fieldvalues['days']:= strtoint(comdays.text);
form1.maintable.fieldvalues['remark']:=editmemo.text;
form1.maintable.Post;
for i:=1 to j do
begin
form1.qyyj.close;
form1.qyyj.connection:=form1.ADOConnection1;
form1.qyyj.sql.clear;
form1.qyyj.sql.text:='insert into sub(id,seq,temp,yj,xj) values(:a1,:a2,0,''N'',''N'')';
form1.qyyj.parameters.parambyname('a1').value:=idno;
form1.qyyj.parameters.parambyname('a2').value:=i;
form1.qyyj.execsql;
end;
form1.qyyj.close;
form1.maintable.Active:=False;
form1.subtable.Active:=False;
form1.maintable.Active:=True;
form1.subtable.Active:=True;
showmessage('你已经成功增加了一个新的周期!');
except
showmessage('增加新周期失败!');
end;
yjzq.close;
end
else
begin
old1:=form1.maintable.fieldvalues['days'];
new1:=strtoint(comdays.text);
idno:=form1.maintable.fields[0].asinteger;
//showmessage('新'+comdays.text);
//showmessage('旧'+inttostr(old1));
datestr:=Datetostr(DateTimePicker1.date);
datestr:=stuffstring(datestr,5,1,'');
datestr:=stuffstring(datestr,7,1,'');
form1.maintable.Edit;//将表改为修改状态
form1.maintable.fieldvalues['startdate']:=datestr;
form1.maintable.fieldvalues['days']:= strtoint(comdays.text);
form1.maintable.fieldvalues['remark']:=editmemo.text;
form1.maintable.Post;
if old1>new1 then //老周期天数减少
try
with form1.qyyj do
begin
close;
connection:=form1.ADOConnection1;
sql.clear;
sql.text:='delete * from sub where id=:a1 and seq>:a2';
parameters.parambyname('a1').value:=idno;
parameters.parambyname('a2').value:=new1;
execsql;
end;
messagedlg('修改周期成功!',mtInformation,[mbok],0);
except
messagedlg('修改周期过程失败!',mtwarning,[mbok],0);
end//if
else //老周期增加
try
for i:=old1+1 to new1 do
with form1.qyyj do
begin
close;
connection:=form1.ADOConnection1;
sql.clear;
sql.text:='insert into sub(id,seq,temp,yj,xj) values(:a1,:a2,0,''N'',''N'')';
parameters.parambyname('a1').value:=idno;
parameters.parambyname('a2').value:=i;
execsql;
end;
messagedlg('修改周期成功!',mtInformation,[mbok],0);
except
messagedlg('修改周期过程失败!',mtwarning,[mbok],0);
end;
form1.maintable.Active:=False;
form1.subtable.Active:=False;
form1.maintable.Active:=True;
form1.subtable.Active:=True;
yjzq.close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -