📄 u_input.pas
字号:
unit U_input;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons,IdGlobal, ExtCtrls, DB, ADODB;
type
TF_input = class(TForm)
LV1: TListView;
GroupBox1: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
DTP1: TDateTimePicker;
CB_bm: TComboBox;
CB_jm: TComboBox;
E_zfs: TEdit;
BB_ok: TBitBtn;
BitBtn2: TBitBtn;
E_bs: TEdit;
BB_del: TBitBtn;
BitBtn1: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BB_okClick(Sender: TObject);
procedure CB_jmKeyPress(Sender: TObject; var Key: Char);
procedure CB_bmKeyPress(Sender: TObject; var Key: Char);
procedure E_bsKeyPress(Sender: TObject; var Key: Char);
procedure BB_delClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
//procedure E_zfsKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure initform(Sender: TObject);
public
{ Public declarations }
end;
var
F_input: TF_input;
implementation
uses dbobj;
{$R *.dfm}
procedure TF_input.initform(Sender: TObject);
begin
CB_bm.Text:='';
E_bs.Text:='';
E_bs.Clear;
CB_jm.Text:='';
E_zfs.Text:='';
E_zfs.Clear;
//DTP1.DateTime:=now;
DTP1.Date:=now+1;
// DTP1.Date:=now;
end;
procedure TF_input.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TF_input.FormCreate(Sender: TObject);
var Item:TListItem;
begin
//初始化窗体
initform(Sender);
//初始化支局所号
with DataModule1.ADODataSet1 do
begin
try
Active:=false;
CommandText:='select jm,jh from xqzlb order by jh';
open;
while not eof do
begin
//CB_jm.Items.Add(fieldbyname('jm').AsString+' |'+fieldbyname('jh').AsString);
CB_jm.Items.Add(fieldbyname('jm').AsString+'|'+fieldbyname('jh').AsString);
next;
end;
close;
Active:=false;
except
Close;
application.MessageBox('初始化支局所号错','数据库错误',mb_ok);
exit;
end;
end;
//初始化版名信息
with DataModule1.ADODataSet1 do
begin
try
Active:=false;
CommandText:='select bm from bsxxb order by bdm';
open;
while not eof do
begin
CB_bm.Items.Add(fieldbyname('bm').AsString);
next;
end;
close;
Active:=false;
except
Close;
application.MessageBox('初始化版名错','数据库错误',mb_ok);
exit;
end;
end;
//初始化当天数据
LV1.Clear;
with DataModule1.ADODataSet1 do
begin
CommandText:='select a.jh,a.jm,a.bm,a.bs,a.zfs,b.zks,b.ws,b.zhks,a.jfrq from jfzl a,fybq b where a.jh=b.jh and a.jfrq=b.bqrq and a.bm=b.bm and a.jfrq='''+Datetostr(DTP1.Date)+''' order by a.bm,a.jh';
try
Active:=false;
open;
while not eof do
begin
Item:=LV1.Items.Add;
Item.Caption:=FieldByName('jh').AsString;
Item.SubItems.Add(FieldByName('jm').AsString);
Item.SubItems.Add(FieldByName('bm').AsString);
Item.SubItems.Add(FieldByName('bs').AsString);
Item.SubItems.Add(FieldByName('zfs').AsString);
Item.SubItems.Add(FieldByName('zks').AsString);
Item.SubItems.Add(FieldByName('ws').AsString);
Item.SubItems.Add(FieldByName('zhks').AsString);
Item.SubItems.Add(FieldByName('jfrq').AsString);
next;
end;
//LV1.Column[6].Width:=0;
//LV1.Column[7].Width:=0;
close;
except
close;
end;
end;
end;
procedure TF_input.BB_okClick(Sender: TObject);
var sqlstr,errstr,sqlstr1:string;
havezl:boolean;
zksstr,zhksstr,wsstr:integer ;
zksstr1,zhksstr1,wsstr1:string ;
bmstr1,bmstr2:string;
Item:TListItem;
begin
errstr:='';
sqlstr:='';
if trim(CB_bm.Text)='' then
errstr:='请选择版名'+char(13);
if trim(E_bs.Text)='' then
errstr:=errstr+'---请选择版数'+char(13);
if trim(CB_jm.Text)='' then
errstr:=errstr+'---请选择局名'+char(13);
{if trim(CB_jm.Text)<>'' then
begin
jhstr:=copy(CB_jm.Text,pos('|',CB_jm.Text)+1,7);
showmessage(jhstr);
with DataModule1.ADODataSet1 do
begin
try
Active:=false;
CommandText:='select xqzfs from xqzlb where jh='''+jhstr+'''';
open;
//while not eof do
// begin
E_zfs.Text:=fieldbyname('xqzfs').AsString;
showmessage(E_zfs.text);
//end;
close;
Active:=false;
except
Close;
application.MessageBox('初始化总份数错','数据库错误',mb_ok);
exit;
end;
end;
end;}
if trim(E_zfs.Text)='' then
errstr:=errstr+'---请输入总份数'+char(13);
if length(errstr)>0 then
begin
application.MessageBox(pchar(errstr),'错误提示',mb_ok);
CB_bm.SetFocus;
exit;
end;
if (length(trim(CB_bm.Text))=4) then
begin
//检查数据库是否已经拥有该接发资料的信息1
havezl:=false;
with DataModule1.ADODataSet1 do
begin
Active:=false;
// CommandText:='select * from jfzl where jm='''+copy(CB_jm.Text,1,6)+''' and bs='''+trim(E_bs.text)+''' and jfrq='''+Datetostr(DTP1.Date)+''''; //bm='''+trim(CB_bm.text)+''' and bs='''+trim(E_bs.text)+'''';
//CommandText:='select bm from jfzl where jm='''+copy(CB_jm.Text,1,6)+''' and bm '''+like+'''+'''+trim(E_bm.text)+'''+'''+%+''' or and jfrq='''+Datetostr(DTP1.Date)+''' or bs='''+trim(E_bs.text)+'''';
CommandText:='select * from jfzl where jm='''+copy(CB_jm.Text,1,6)+''' and (bm='''+trim(copy(CB_bm.text,1,1))+'版'+''' or bm='''+trim(copy(CB_bm.text,2,1))+'版'+'''or bm='''+trim(CB_bm.text)+''') and jfrq='''+Datetostr(DTP1.Date)+''''; //or bs='''+trim(E_bs.text)+'''';
try
open;
if not eof then
havezl:=true
else
havezl:=false;
close;
except
close;
exit;
end;
end;
//检查数据库是否存在该接发资料1
if havezl then
begin
application.MessageBox('已存在该接发资料或是同版名','错误提示',mb_ok);
CB_bm.SetFocus;
exit;
end
else
begin
sqlstr:='insert into jfzl(jh,jm,bm,bs,zfs,jfrq) values('''+copy(CB_jm.Text,pos('|',CB_jm.Text)+1,7)+''','''+copy(CB_jm.Text,1,6)+''',';
sqlstr:=sqlstr+''''+ trim(CB_bm.Text)+''','''+trim(E_bs.Text)+''','''+trim(E_zfs.Text)+''','''+Datetostr(DTP1.Date)+''')'; //'''+DateTimetostr(DTP1.DateTime)+''')';
// showmessage(sqlstr);
if trim(E_bs.Text)='4' then
begin
zksstr:=strtoint(trim(E_zfs.Text)) div 500 ;
zksstr1:=inttostr(zksstr);
wsstr:=strtoint(trim(E_zfs.Text)) mod 500;
wsstr1:=inttostr(wsstr);
// if wsstr>30 then //2004/07/20修改
if wsstr>51 then
begin
zhksstr1:=inttostr(zksstr+1);
end
else
begin
zhksstr1:=inttostr(zksstr+0);
end;
sqlstr1:='insert into fybq(jh,jm,bm,zfs,zks,ws,zhks,bqrq) values('''+copy(CB_jm.Text,pos('|',CB_jm.Text)+1,7)+''','''+copy(CB_jm.Text,1,6)+''',';
sqlstr1:=sqlstr1+''''+trim(CB_bm.Text)+''','''+trim(E_zfs.Text)+''','''+zksstr1+''','''+wsstr1+''',';
sqlstr1:=sqlstr1+''''+zhksstr1+''','''+Datetostr(DTP1.Date)+''')';
end
else
begin
zksstr:=strtoint(trim(E_zfs.Text)) div 250;
zksstr1:=inttostr(zksstr);
wsstr:=strtoint(trim(E_zfs.Text)) mod 250;
wsstr1:=inttostr(wsstr);
// if wsstr>30 then //2004/07/20修改
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -