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

📄 input.pas

📁 西京票据管理系统刚刚获得
💻 PAS
字号:
unit input;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, DB, dxCntner, dxEditor,
  dxExEdtr, dxEdLib, dxDBELib, DBCtrls, Mask;

type
  TFrminput = class(TForm)
    pnl1: TPanel;
    btn1: TBitBtn;
    btn2: TBitBtn;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    dbedtbh: TDBEdit;
    dbcbbxm: TDBComboBox;
    dbedtks: TDBEdit;
    dbedtjs: TDBEdit;
    dbcbblx: TDBComboBox;
    dxDBDateEdit1: TdxDBDateEdit;
    ds1: TDataSource;
    lbl7: TLabel;
    dbcbb1: TDBComboBox;
    procedure btn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure dbedtksKeyPress(Sender: TObject; var Key: Char);
    procedure dbedtjsKeyPress(Sender: TObject; var Key: Char);
    procedure dbcbbxmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dbedtksKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dbedtjsKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dbcbblxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure dxDBDateEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dbcbb1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    punum:string;
    { Public declarations }
  end;

var
  Frminput: TFrminput;

implementation
uses UDM;

{$R *.dfm}
//自定义号码的长度
function numberformat(slen:string):string;
var i:integer;
begin
    i:=length(slen);
    case i of
    5:  result:='00000';
    6:  result:='000000';
    7:  result:='0000000';
    8:  result:='00000000';
    9:  result:='000000000';
    10:  result:='0000000000';
   else
      result:='0000';
   end;
 end;

procedure TFrminput.btn2Click(Sender: TObject);
begin
   dm.tblpjly.CancelUpdates;
  close;
end;

procedure TFrminput.FormShow(Sender: TObject);
var
  counter:Integer;
  id:string;
begin
  DM.qrylibnumber.Open;
  dbedtbh.Text:='';
  dbcbbxm.Text:='';
  dbedtks.Text:='';
  dbedtjs.Text:='';
  dbedtbh.Text:='';
  dxDBDateEdit1.Date:=Date;
  with dm.qryperson do
  begin
    close;
    sql.Clear;
    sql.Add('select * from person');
    prepared;
    open;
  end;
   dbcbbxm.Items.Clear;
  while not dm.qryperson.Eof do
  begin
    dbcbbxm.Items.Append(dm.qryperson.fieldbyname('pername').AsString);
    dm.qryperson.Next;
  end;
  with dm.qrydjlx do
  begin
    close;
    sql.Clear;
    sql.Add('select * from typeunit');
    prepared;
    open;
  end;
  dbcbblx.Items.Clear;
  while not dm.qrydjlx.Eof do
  begin
    dbcbblx.Items.Append(dm.qrydjlx.fieldbyname('typename').AsString);
    dm.qrydjlx.Next;
  end;
  with dm.qrytemp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from ly_place');
    prepared;
    open;
  end;
  dbcbb1.Items.Clear;
  while not dm.qrytemp.Eof do
  begin
    dbcbb1.Items.Append(dm.qrytemp.Fields[2].asstring);
    dm.qrytemp.Next;
  end;
   with DM.T_COUNTER do
     begin
      Filter:='id=''B''';
      Filtered:=true;
      open;
      counter:=fieldbyname('countervalues').AsInteger;
      inc(counter);
      edit;
      fieldbyname('countervalues').AsInteger:=counter;
      post;
      close;
     end;
     id:='000'+inttostr(counter);
     id:=copy(id,length(id)-3,4);
     id:=formatdatetime('yyyy',now)+id;
     dbedtbh.Text:=id;
     dbcbbxm.SetFocus;
    dbcbbxm.Text:=dm.hname;

end;

procedure TFrminput.btn1Click(Sender: TObject);
var
  i:Integer;
  begin
   if dbcbb1.Text='前台' then
    dm.hdm:='01'
    else
   if dbcbb1.Text='大堂吧' then
    dm.hdm:='02'
    else
   if dbcbb1.Text='西餐厅' then
    DM.hdm:='03'
    else
   if dbcbb1.Text='康乐部' then
    DM.hdm:='04';

   if dbedtks.Text>dbedtjs.Text then
    begin
    messagebox(handle,'开始号码不能大于结束号码','系统提示',MB_ICONINFORMATION+MB_OK);
    dm.tblpjly.CancelUpdates;
    Exit;
    end;

     if (dm.qrylibnumber.Locate('numberid;numbertype;libnumberplace',VarArrayOf([dbedtks.Text,dbcbblx.Text,dbcbb1.Text]),[])) then
      begin
       messagebox(handle,'数据有重复不能录入','系统提示',MB_ICONINFORMATION+MB_OK);
       dm.tblpjly.CancelUpdates;
       close;
      end
      else
     if  not (dm.qrylibnumber.Locate('numberid;numberid;numbertype;libnumberplace',VarArrayOf([dbedtks.Text,dbedtjs.Text,dbcbblx.Text,dbcbb1.Text]),[])) then
      begin
     if dm.tblpjly.State in [dsedit,dsinsert] then
       begin
        dm.tblpjly.post;
         if dm.tbllibnumber.Active=false then
          dm.tbllibnumber.Active:=true;
          DM.tbllibnumber.Next;
        for i:=strtoint(dm.tblpjly.FieldValues['numbers']) to strtoint(dm.tblpjly.FieldValues['numberto']) do
          begin
            dm.tbllibnumber.Append;
            dm.tbllibnumber.fieldbyname('numberid').AsString:=formatfloat(numberformat(dm.tblpjly.fieldbyname('numbers').AsString),i);
            dm.tbllibnumber.FieldByName('list').AsString:=dm.tblpjly.fieldbyname('list').AsString;
            dm.tbllibnumber.FieldByName('lypername').AsString:=dm.tblpjly.fieldbyname('lyperson').AsString;
            dm.tbllibnumber.FieldByName('numbertype').AsString:=dm.tblpjly.fieldbyname('numbertyoe').AsString;
            dm.tbllibnumber.FieldByName('A').AsBoolean:=FALSE;
            dm.tbllibnumber.FieldByName('B').AsBoolean:=FALSE;
            DM.tbllibnumber.FieldByName('hxbz').AsString:='0';
            DM.tbllibnumber.FieldByName('djdate').AsDateTime:=DM.tblpjly.FIELDBYNAME('lydate').AsDateTime;
            dm.tbllibnumber.FieldByName('libnumberplace').AsString:=dm.tblpjly.fieldbyname('lydjplace').AsString;
            dm.tbllibnumber.FieldByName('sxdm').AsString:=dm.hdm;
            dm.tbllibnumber.Post;

          end;
          showmessage('数据保存成功!') ;
       end
       else
       showmessage('没有未保存的数据!');
   Close;
      end;
  end;

procedure TFrminput.dbedtksKeyPress(Sender: TObject; var Key: Char);
begin
   if not (key in ['0'..'9',#8]) then
         key:=#0;
end;

procedure TFrminput.dbedtjsKeyPress(Sender: TObject; var Key: Char);
begin
     if not (key in ['0'..'9',#8]) then
         key:=#0;
end;

{procedure TFrminput.btn3Click(Sender: TObject);    //设置自动生成编码
var
  datefen:string;
begin
 datefen:='';
  punum:='';
  datefen:=formatdatetime('yyyymmdd',now());//格式化的年月
  with  dm.qrypjly do
  begin
    close;
    sql.Clear;
    sql.Add('select * from lydj');
    prepared;
    open;
  end;
  if trim(dm.qrypjly.Fields[1].AsString)<>'' then
  punum:=inttostr(strtoint(copy(trim(dm.qrypjly.Fields[1].asstring),9,2))+1);//punum定义的全局变量
  if(1<=length(punum))and(length(punum)<2) then
   punum:='0'+punum;
  if length(punum)<1 then
  punum:='01';
  if length(punum)=3 then
  punum:='01';
  dbedtbh.Text:=datefen+punum;//日期+两位编号
  punum:=dbedtbh.Text;
  with dm.qrytemp do
  begin
    close;
    sql.Clear;
    sql.Add('insert into guo');
    sql.Add('(savepunum)');
    sql.Add('select :list from lydj');
    parameters.ParamByName('list').Value:=trim(punum);
    try
      execsql;
      except
      messagebox(handle,'向guo中保存数据失败!','系统提示',mb_iconinformation+mb_ok);
      exit;
    end;
    dm.qryguo.Close;
    dm.qryguo.Open;
  end;
end; }

procedure TFrminput.dbcbbxmKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=$0D THEN
  DBEDTKS.SetFocus;
end;

procedure TFrminput.dbedtksKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=$0D THEN
   DBEDTJS.SetFocus;
end;

procedure TFrminput.dbedtjsKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=$0D THEN
  DBCBBLX.SetFocus;
end;

procedure TFrminput.dbcbblxKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  IF KEY =$0D THEN
  dxDBDateEdit1.SetFocus;
end;

procedure TFrminput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 dm.qrylibnumber.Close;
end;

procedure TFrminput.dxDBDateEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Key=$0D then
   dbcbb1.SetFocus;
end;

procedure TFrminput.dbcbb1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=13 then
  btn1Click(Sender);
end;

end.

⌨️ 快捷键说明

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