📄 xsform.~pas
字号:
unit xsform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids;
type
Txiaos = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
GroupBox1: TGroupBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Label2: TLabel;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Label7: TLabel;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
Edit9: TEdit;
procedure FormActivate(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ADOTable1AfterScroll(DataSet: TDataSet);
procedure Edit1Exit(Sender: TObject);
procedure Edit8Exit(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initiatex;
procedure savetotablex;
procedure loadfromtablex;
end;
var
xiaos: Txiaos;
newrecord:Boolean;
implementation
uses userviww;
{$R *.dfm}
procedure Txiaos.FormActivate(Sender: TObject);
begin
dbgrid1.DataSource:=datasource1;
datasource1.DataSet:=adotable1;
adotable1.Connection:=adoconnection1;
adotable1.tablename:='spiao';
adotable1.active:=true;
initiatex;
if adotable1.Eof then
bitbtn1.Enabled:=true
else
loadfromtablex;
end;
procedure Txiaos.initiatex;
begin
edit1.Text:='';
edit2.Text:='重庆---';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:=formatdatetime('yyyy''-''m''-''d',now);
edit7.Text:='trevelyan';
edit8.Text:='0';
edit9.Text:='';
edit6.Enabled:=false;
edit1.SetFocus;
end;
procedure Txiaos.SaveToTablex;
begin
adotable1.edit;
adotable1.FieldByName('xname').asstring:=edit1.text;
adotable1.FieldByName('piao').AsString:=edit2.text;
adotable1.FieldByName('piaom').asstring:=edit3.text;
adotable1.fieldbyname('piaos').asstring:=edit4.Text;
adotable1.fieldbyname('lirun').asstring:=edit5.Text;
adotable1.FieldByName('pdate').asstring:=edit6.text;
adotable1.FieldByName('person').asstring:=edit7.text;
adotable1.FieldByName('xother').asstring:=edit8.text;
adotable1.FieldByName('beizhu').asstring:=edit9.text;
adotable1.Post;
end;
procedure Txiaos.LoadFromTablex;
begin
edit1.text:=adotable1.FieldByName('xname').asstring;
edit2.text:=adotable1.FieldByName('piao').AsString;
edit3.text:=adotable1.FieldByName('piaom').asstring;
edit4.Text:=adotable1.fieldbyname('piaos').asstring;
edit5.Text:=adotable1.fieldbyname('lirun').asstring;
edit6.text:=adotable1.FieldByName('pdate').asstring;
edit7.text:=adotable1.FieldByName('person').asstring;
edit8.text:=adotable1.FieldByName('xother').asstring;
edit9.text:=adotable1.FieldByName('beizhu').asstring;
end;
procedure Txiaos.BitBtn4Click(Sender: TObject);
begin
Close;
end;
procedure Txiaos.ADOTable1AfterScroll(DataSet: TDataSet);
begin
if not newrecord then
loadfromtablex;
end;
procedure Txiaos.BitBtn2Click(Sender: TObject);
begin
if adotable1.eof then
begin
application.MessageBox('当前无记录!','提示信息',mb_ok);
end
else
ADOTable1.Delete;
ADOTable1.First;
end;
procedure Txiaos.BitBtn1Click(Sender: TObject);
begin
initiatex;
newrecord:=true;
//bitbtn3.Enabled:=true;
end;
procedure Txiaos.BitBtn3Click(Sender: TObject);
begin
if edit1.text=''then
begin
application.MessageBox('用户名为空,请重新输入!','提示信息',mb_ok);
edit1.SetFocus;
end
else
if edit3.text=''then
begin
application.MessageBox('进价为空,请重新输入!','提示信息',mb_ok);
edit3.SetFocus;
end
else
if edit4.text=''then
begin
application.MessageBox('售价为空,请重新输入!','提示信息',mb_ok);
edit4.SetFocus;
end
else
if newrecord then
//savetotablex;
begin
if edit1.text<>'' then
begin
adotable1.Append;
newrecord:=false;
savetotablex;
end
else
edit1.SetFocus;
end;
//if adotable1.Recordset.RecordCount>0 then
//bitbtn1.Enabled:=true;
end;
procedure Txiaos.Edit1Exit(Sender: TObject);
var
adodataset1:TAdoDataset;
begin
if edit1.text<>'' then
begin
adodataset1:=TAdoDataset.Create(self);
adodataset1.Connection:=adoconnection1;
adodataset1.Close;
adodataset1.CommandType:=cmdText;
adodataset1.CommandText:='select * from spiao where xname=:syyname';
adodataset1.Parameters.clear;
adodataset1.Parameters.AddParameter;
adodataset1.Parameters[0].Name:='syyname';
adodataset1.Parameters[0].DataType:=ftstring;
adodataset1.Parameters[0].Direction:=pdinput;
adodataset1.Parameters[0].Value:=edit1.text;
adodataset1.active:=true;
if newrecord then
begin
if adodataset1.Recordset.RecordCount=1 then
begin
application.MessageBox('用户名已经存在,请检查!','提示信息',mb_ok);
edit1.SetFocus;
end
end;
adodataset1.close;
end;
end;
procedure Txiaos.Edit4Exit(Sender: TObject);
var piaomm,piaoss :double;
begin
if edit3.text=''then
begin
application.MessageBox('进价为空,请重新输入!','提示信息',mb_ok);
edit3.SetFocus;
end
else
if edit4.text=''then
begin
application.MessageBox('售价为空,请重新输入!','提示信息',mb_ok);
edit4.SetFocus;
end
else
if (edit4.text<>'') and (edit3.text<>'') then
begin
piaomm:=StrTofloat(edit4.Text);
piaoss:=StrTofloat(edit3.text);
edit5.Text:=FloatToStr(piaomm-piaoss);
end
else
end;
procedure Txiaos.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8,#13]) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;
end;
procedure Txiaos.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8,#13]) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;
end;
procedure Txiaos.Edit8Exit(Sender: TObject);
var piaommm,piaosss,piaonnn :Integer;
begin
if edit3.text=''then
begin
application.MessageBox('进价为空,请重新输入!','提示信息',mb_ok);
edit3.SetFocus;
end
else
if edit4.text=''then
begin
application.MessageBox('售价为空,请重新输入!','提示信息',mb_ok);
edit4.SetFocus;
end
else
piaommm:=StrToint(edit4.Text);
piaosss:=StrToint(edit3.text);
piaonnn:=StrToint(edit8.text);
edit5.Text:=intToStr(piaommm-piaosss-piaonnn);
end;
procedure Txiaos.Button1Click(Sender: TObject);
begin
userview.showmodal();
end;
procedure Txiaos.DBGrid1TitleClick(Column: TColumn);
begin
if (ADOTable1.Sort<>column.FieldName+' ASC') then
ADOTable1.Sort:=column.FieldName+' ASC'
else
ADOTable1.sort:=column.fieldname+' DESC';
end;
procedure Txiaos.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8,#13]) then
//如果输入不是数字或小数点(#46代表小数点)
begin
key:=#0; //取消输入的内容(#0代表空值)
showmessage('输入错误!请输入数字!'); //发出提示信息
end;
end;
procedure Txiaos.FormCreate(Sender: TObject);
var
dbname:string;
begin
dbname:= ExtractFilePath(Application.ExeName) + 'tang.mdb';
with ADOConnection1 do
begin
ConnectionString:='Microsoft OLE DB Provider for Oracle;'+
'Data Source='+dbname+';'+
'Mode=ReadWrite;'+
'Persist Security Info=False';
Connected:=True;//打开数据连接
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -