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

📄 unit4.pas

📁 Delphi,Access开发的图书订阅系统
💻 PAS
字号:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, Mask, DBCtrls, StdCtrls, DB, ADODB, ComCtrls;

type
  Twelcom = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    Label17: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText4: TDBText;
    DBText5: TDBText;
    DBText6: TDBText;
    Label1: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label18: TLabel;
    Label16: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit2: TEdit;
    ComboBox6: TComboBox;
    Button4: TButton;
    DBGrid1: TDBGrid;
    ComboBox5: TComboBox;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Button1: TButton;
    Button2: TButton;
    DBGrid2: TDBGrid;
    Button3: TButton;
    Button5: TButton;
    Button6: TButton;
    DBGrid3: TDBGrid;
    DataSource2: TDataSource;
    ADOQuery2: TADOQuery;
    Label19: TLabel;
    ADOTable1: TADOTable;
    procedure ComboBox5Change(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure TabSheet1ContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox3Change(Sender: TObject);
    procedure ComboBox4Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    username:string;
    { Public declarations }
  end;

var
  welcom: Twelcom;
  date:string;
implementation
 uses unit1,unit2,unit6;
{$R *.dfm}

procedure Twelcom.ComboBox5Change(Sender: TObject);
begin
  with main.adoquery1 do
    begin
    sql.Clear;
    sql.Add('select * from 报刊信息');
    if combobox5.Text<>'所有报刊' then
      sql.Add(format(' where (所属类型=''%s'')',[trim(combobox5.Text)]));
    open;
    end;
end;

procedure Twelcom.Button4Click(Sender: TObject);
begin
  with main.adoquery1 do
    begin
    sql.Clear;
    sql.Add('select * from 报刊信息');
    sql.Add(format(' where (%s',[trim(combobox6.Text)]));
    sql.Add(format(' = ''%s'')',[trim(edit2.Text)]));
    open;
    end;
  if main.ADOQuery1.RecordCount<1 then
    showmessage('无此报刊!请确认是否输入正确!');
end;

procedure Twelcom.Button6Click(Sender: TObject);
begin
  main.Show;
  welcom.Close;  
end;

procedure Twelcom.TabSheet1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  adoquery1.Close;
  adoquery1.Open;
  adoquery2.Close;
  adoquery2.Open;
end;

procedure Twelcom.Button3Click(Sender: TObject);
begin
  TabSheet2.Show;
end;

procedure Twelcom.Button2Click(Sender: TObject);
begin
  adoquery1.Close;
  adoquery1.Open;
  adoquery2.Close;
  adoquery2.Open;
  TabSheet1.Show;
end;

procedure Twelcom.Button5Click(Sender: TObject);
begin
  if application.MessageBox('确定要退订吗?','提示信息',1)=1 then
    adoquery1.Delete;
  adoquery1.Close;
  adoquery1.Open;
  adoquery2.Close;
  adoquery2.Open; 
 end;

procedure Twelcom.Button1Click(Sender: TObject);
var
  x,sum:integer;
  right:boolean;
begin
  right:=true;
  if edit1.Text='' then
    begin
    showmessage('份数不能为空!');
    edit1.SetFocus;
    exit;
    end;
  if strtoint(combobox3.Text)>strtoint(combobox1.Text) then
    begin
    x:=(strtoint(combobox3.Text)-strtoint(combobox1.Text))*12+strtoint(combobox4.Text)-strtoint(combobox2.Text);
    end
  else
    begin
    x:=strtoint(combobox4.Text)-strtoint(combobox2.Text);
    end;
  if DBText4.Caption='月' then
    begin
    sum:=x;
    end
  else if DBText4.Caption='季' then
    begin
    if (x mod 3)<>0 then
      begin
      showmessage('月份选择与报刊整订期不一致!请重新选择!');
      exit;
      end
    else
      sum:=x div 3;
    end
  else
    begin
    if (x mod 6)<>0 then
      begin
      showmessage('月份选择与报刊整订期不一致!请重新选择!');
      exit;
      end
    else
      sum:=x div 6;
    end;
  adotable1.Open;
  adotable1.Append;
  adotable1.FieldByName('客户编号').AsInteger:= number;
  adotable1.FieldByName('报刊代号').AsString:= DBText1.Caption;
  adotable1.FieldByName('起订日期').AsDateTime:=strtodate(combobox1.Text+'-'+combobox2.Text+'-1');
  adotable1.FieldByName('结束日期').AsDateTime:=strtodate(combobox3.Text+'-'+combobox4.Text+'-1');
  adotable1.FieldByName('份数').AsInteger:=strtoint(edit1.Text);
  adotable1.FieldByName('总额').AsCurrency:=strtofloat(dbtext5.Caption)*sum*strtoint(edit1.Text);
  adotable1.Post;
  if bktj.ADOTable1.RecordCount<1 then
    begin
    bktj.ADOTable1.Append;
    bktj.ADOTable1.FieldByName('报刊代号').AsString:=dbtext1.Caption;
    bktj.ADOTable1.FieldByName('份数').AsInteger:=strtoint(edit1.Text);
    bktj.ADOTable1.Post;
    end
  else
    begin
    bktj.ADOTable1.First;
    while not bktj.ADOTable1.Eof do
      begin
      if bktj.ADOTable1.FieldByName('报刊代号').AsString = DBText1.Caption then
        begin
        right:=false;
        bktj.ADOTable1.Edit;
        bktj.ADOTable1.FieldByName('份数').AsInteger:=bktj.ADOTable1.FieldByName('份数').AsInteger + strtoint(edit1.Text);
        bktj.ADOTable1.Post;
        bktj.ADOTable1.Last;
        end
      else
        bktj.ADOTable1.Next;
      end;
    if right then
      begin
      bktj.ADOTable1.Append;
      bktj.ADOTable1.FieldByName('报刊代号').AsString:=dbtext1.Caption;
      bktj.ADOTable1.FieldByName('份数').AsInteger:=strtoint(edit1.Text);
      bktj.ADOTable1.Post;
      end;
    end;
  if application.MessageBox('订阅成功!要继续订阅吗?','订阅提示',1)=0 then
     TabSheet1.Show;
  adoquery1.Close;
  adoquery1.Open;
  adoquery2.Close;
  adoquery2.Open;
end;
procedure Twelcom.ComboBox3Change(Sender: TObject);
begin
  if strtoint(combobox3.Text)<strtoint(combobox1.Text) then
    begin
    showmessage('年份选择错误!请重新选择!');
    combobox1.SetFocus;
    end
  else if strtoint(combobox3.Text)=strtoint(combobox1.Text) then
    begin
    if strtoint(combobox4.text)<=strtoint(combobox2.Text) then
      begin
      showmessage('月份选错了!请重新选择!');
      combobox4.SetFocus;
      end;
    end;
end;

procedure Twelcom.ComboBox4Change(Sender: TObject);
begin
  if strtoint(combobox3.Text)=strtoint(combobox1.Text) then
    begin
    if strtoint(combobox4.text)<=strtoint(combobox2.Text) then
      begin
      showmessage('月份选错了!请重新选择!');
      combobox4.SetFocus;
      end;
    end;
end;

procedure Twelcom.ComboBox2Change(Sender: TObject);
begin
  if strtoint(combobox3.Text)=strtoint(combobox1.Text) then
    begin
    if strtoint(combobox4.text)<=strtoint(combobox2.Text) then
      begin
      showmessage('月份选错了!请重新选择!');
      combobox2.SetFocus;
      end;
    end;
end;

procedure Twelcom.ComboBox1Change(Sender: TObject);
begin
 if strtoint(combobox3.Text)=strtoint(combobox1.Text) then
    begin
    if strtoint(combobox4.text)<=strtoint(combobox2.Text) then
      begin
      showmessage('月份选错了!请重新选择!');
      combobox4.SetFocus;
      end;
    end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -