⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formyjzq.pas

📁 女性安全期测试
💻 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 + -