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

📄 tele.~pas

📁 与酒店前台系统接口的一个实用型的电话计费接口软件。可以对接各种品牌的交换机
💻 ~PAS
字号:
unit tele;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, DBTables, ADODB, Grids, DBGrids, ComCtrls,
  ExtCtrls;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Query1: TQuery;
    Query22: TQuery;
    Query3: TQuery;
    Query4: TQuery;
    Query55: TQuery;
    database2: TDatabase;
    ADOConnection1: TADOConnection;
    Query2: TADOQuery;
    Query5: TADOQuery;
    BitBtn2: TBitBtn;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
ID:double;
nows:double;
years,months,days:word;
begin

    decodedate(DATE,years,months,days);
    query2.SQL.Clear;
    query2.SQL.Add('select ext,phonenum,total,calltime from bill');
    query2.sql.add(' where username<>:username   and total>0'); //
    query2.Parameters[0].Value:='Y';
    query2.open;

 while not  query2.eof do
 begin ////////////////以下开始查找在住房
   with query1 do
   begin
    sql.clear;
    sql.add('select inputuser,menu_no,cook_taste,made_sequence,pos_detail_id from pos_detail where state=1 and menu_no=:fnum');
    parambyname('fnum').asstring:=query2.fieldbyname('ext').asstring;
    open;
   end;
//////////////////////////查到此房号
     label1.Color:=  clwhite;
 if query1.RecordCount>0 then
   begin

     with query4 do
     begin
     sql.clear;
     sql.add('insert into pos_detail( pos_detail_id,pos_master_id,sys_date,');
     sql.add('     sale_dept_no,starttime,menu_no,ispresent,qty,prc,amt,');
     sql.add('cook_method_no,made_sequence,inputuser,waiter,deliver,cashier,');
     sql.add(' salesman,payformasterid,printid,');
     sql.Add('print_no,printstate,endtime,remark,state,cook_taste,checkstate,');
     sql.add(' printid_dl,print_no_dl,printcopies_dl,printstate_dl)');

     sql.Add('  values(:postd,'''',:dt1,''tel'',:dt2,:fnum  ,''+'',.00,.00,:amt,''manu'',');
     sql.add(' 0,:user,NULL,'''',''A'',''系统管理员'',NULL,''tel'',''_hkp'',');
     sql.add('0,NULL,NULL,1,:keren,1,NULL,'''' ,0,0)');
     ParamByName('user').asstring:=query1.fieldbyname('inputuser').Asstring;
     ParamByName('dt1').asdatetime:=query2.fieldbyname('calltime').Asdatetime;
     ParamByName('dt2').asdatetime:=query2.fieldbyname('calltime').asdatetime;
     ParamByName('fnum').asstring :=query2.fieldbyname('ext').asstring;
     ParamByName('postd').asstring:=query1.fieldbyname('pos_detail_id').asstring;
 //    ParamByName('made_sequence').asstring:=query1.fieldbyname('made_sequence').asstring;
     ParamByName('amt').asfloat:=query2.fieldbyname('total').asfloat;
     ParamByName('keren').asstring:=query1.fieldbyname('cook_taste').asstring;
     execsql;
     end;
      with query5 do
     begin
     sql.clear;
     sql.add(' update   bill set username=''Y''  where ');
     sql.add(' ext=:ext and  calltime=:dt ');
     Parameters.ParamByName('ext').Value:=query2.fieldbyname('ext').value;
     Parameters.ParamByName('dt').value:=query2.fieldbyname('calltime').value;
     execsql;
     end;
  end;   ///////////////增加完毕,开始下一条
   label1.Color:=clred;
   query2.next;
end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
    query2.SQL.Clear;
    query2.SQL.Add('select ext,phonenum,total,calltime from bill');
    query2.sql.add(' where username<>:username   and total>0');
    query2.Parameters[0].Value:='Y';
    query2.open;
   showmessage(inttostr(query2.RecordCount));
 {  query2.SQL.clear;
   query2.SQL.Add('Update  bill set username=''Y''');
   query2.execsql;                             }
    with query5 do
    begin
     sql.clear;
     sql.add(' Update  bill set username=''Y'' ');
     sql.add(' where  ext=:ext ');//and  calltime=:dt ');
     Parameters.ParamByName('ext').Value :='646';
 //    Parameters.ParamByName('dt').Value :=query2.fieldbyname('calltime').value;
     execsql;
    end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  database2.Connected:=true;
  timer1.Enabled:=true;
end;

end.

⌨️ 快捷键说明

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