餐飲POS新利器-取餐呼叫器與程式連線結合範例

_sE_4843323437

11221600_10153061581601541_7866645605585747097_n

12191428_10153061581676541_4081491775779063707_n

11200883_395736973959542_2078442132751771489_n

在國外行之有年的取餐呼叫器(Pager)最近也在台灣風行起來,看到了二款取餐呼叫器,一個是國產亞克高科(ARCT)由銥特爾科技(02-29974000)代理,一個是韓國(Syscall)製造由鋐鈦科技代理。
二款都可以透過COM PORT設定~~ 以Delphi以及C#針對韓國的做範例。
Delphi

var iPagerno   :Integer;
    sStr,s :AnsiString;
begin
   Try
     Pager_COM.StopComm;  // 先將Pager Com關閉
     Pager_COM.CommName := ComName;
     Pager_COM.StartComm;
     Sleep(50);  //開啟COM需等待
     iPagerno := StrToIntDef(PagerNo,1);
     sStr := copy(IntToStr(iPagerno),1,4)
     s:=  Ansichar(#開始指令)+sStr+Ansichar(#結束指令);
     Pager_COM.WriteCommData(PAnsiChar(s),Length(s));
   Except
   End;

C#

       public void Pager_Send(String COMName,String PagerNo)
        {
public static System.IO.Ports.SerialPort PAGERPORT = new System.IO.Ports.SerialPort();
            byte[] PAGERSTART = { 開始指令 };       
            byte[] PAGEREND = { 結束指令 };  
            try
            {
                if (PAGERPORT.IsOpen)
                    PAGERPORT.Close();
                PAGERPORT.PortName = COMName;
                PAGERPORT.BaudRate = 9600;
                PAGERPORT.Parity = System.IO.Ports.Parity.None;
                PAGERPORT.DataBits = 8;
                PAGERPORT.StopBits = System.IO.Ports.StopBits.One;
                PAGERPORT.Open();
             if (!PAGERPORT.IsOpen)
                PAGERPORT.Open();
            for (int i = 0; i < PAGERSTART.Length; i++)
            {
                PAGERPORT.Write(PAGERSTART , i, 1);
            }
                PagerNo = PagerNo.PadLeft(4, '0').ToString();
                byte[] PagerNoData= Encoding.Default.GetBytes(PagerNo);
            if (!PAGERPORT.IsOpen)
                PAGERPORT.Open();
            for (int i = 0; i < PagerNoData.Length; i++)
            {
                PAGERPORT.Write(PagerNoData, i, 1);
            }
                         if (!PAGERPORT.IsOpen)
                PAGERPORT.Open();
            for (int i = 0; i < PAGEREND .Length; i++)
            {
                PAGERPORT.Write(PAGEREND , i, 1);
            }
            }
            catch
            {    
               
             
                return;
            }
        }

作者: 林壽山

林壽山 軟體公司專案經理,第三方支付設計,金流設計,行動支付設計,支付寶,微信,街口支付,信用卡機,擅長PHP網頁設計(CodeIgniter、Laravel)框架、Delphi程式設計、資料庫設計、C# WinForm/WebForm程式設計