📄 unit4.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 + -