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

📄 xsform.~pas

📁 一个用Delphi编写的简单售票系统,有查询,修改.增加.删除等功能.
💻 ~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 + -