客戶顯示器主要用途是在收銀時,將交易的售價、數量、總金額、找零及統一編號顯示在螢幕上供客人確認用的裝置。而大部份的客戶顯示器都支援ESC/POS指令。
作者: 林壽山
【認識POS硬體】可程式電子錢櫃Cash drawer
對一套POS系統來說,收銀結帳是很重要的環節,在早期POS未普遍時,大多由老闆/老闆娘或是可信賴的人來經手金錢,而POS系統普及後,由於可控管結算收銀金額及程式化錢櫃,才讓重要工作可以轉交給收銀員。
錢櫃主要分二種介面接頭(Interface connector),一種是印表機介面(RJ11/RJ12 connector);另一種是RS-232介面。在選購時就要注意,印表機介面的錢櫃是需要連結出單機、發票機或其他印表裝置,因為RJ11/RJ12的接頭接受24V電源輸入,而不用外接電源;而RS-232介面的錢櫃則是直接連結電腦,但RS-232不提供電源,所以需要12V的電源(也有5V的電源)。
控制的部份也分為二種:
1.RS-232介面錢櫃
RS-232介面的錢櫃控制很簡單,只要隨便向RS-232丟訊號即可。
或是在DOS模式(開始→執行 cmd),輸入 copy con com1此類的指令就可以打開了!
2.RJ11/RJ12介面錢櫃
而RJ11/RJ12介面的錢櫃,因為需要先送指令到印表機後,再由印表機發出開錢櫃的指令,相對之下安全性就較高,也可以從印表機的設定中,設定列印前(後)開啟錢櫃。較高階的錢櫃也可以偵測是開啟或關閉的。
ComPort控制元件SPComm for Delphi XE3
SPComm是年代蠻久遠的ComPort控制元件,之所以一直歷久不衰是因為簡單易用。
因為最近使用XE3在開發POS系統的原因,所以也找了新版本的SPComm,而原作者是copyleft的方式,再加上不易找到,所以筆者也將它開放到GitHub讓有需要的朋友一起使用。
常用ASCII CHR碼對照
因為開發需求,把對照表留下來一下。
Chr(0) | Null | Chr(29) | 分组符 | Chr(38) | & | Chr(48) | 0 |
Chr(8) | 退格 | Chr(30) | 記錄分離符號 | Chr(39) | ‘ | Chr(49) | 1 |
Chr(9) | Tab | Chr(31) | 單元分隔符號 | Chr(40) | ( | Chr(50) | 2 |
Chr(10) | 换行 | Chr(32) | 空格SPACE | Chr(41) | ) | Chr(51) | 3 |
Chr(12) | 换页 | Chr(33) | ! | Chr(42) | * | Chr(52) | 4 |
Chr(13) | Enter | Chr(33) | ! | Chr(43) | + | Chr(53) | 5 |
Chr(22) | 粘贴 | Chr(34) | “ | Chr(44) | , | Chr(54) | 6 |
Chr(26) | 撤销 | Chr(35) | # | Chr(45) | – | Chr(55) | 7 |
Chr(27) | Esc | Chr(36) | $ | Chr(46) | . | Chr(56) | 8 |
Chr(28) | 文件分隔符 | Chr(37) | % | Chr(47) | / | Chr(57) | 9 |
Chr(58) | : | Chr(68) | D | Chr(78) | N | Chr(88) | X |
Chr(59) | ; | Chr(69) | E | Chr(79) | O | Chr(89) | Y |
Chr(60) | < | Chr(70) | F | Chr(80) | P | Chr(90) | Z |
Chr(61) | = | Chr(71) | G | Chr(81) | Q | Chr(91) | [ |
Chr(62) | > | Chr(72) | H | Chr(82) | R | Chr(92) | \ |
Chr(63) | ? | Chr(73) | I | Chr(83) | S | Chr(93) | ] |
Chr(64) | @ | Chr(74) | J | Chr(84) | T | Chr(94) | ^ |
Chr(65) | A | Chr(75) | K | Chr(85) | U | Chr(95) | _ |
Chr(66) | B | Chr(76) | L | Chr(86) | V | Chr(96) | ` |
Chr(67) | C | Chr(77) | M | Chr(87) | W | Chr(97) | a |
Chr(98) | b | Chr(108) | l | Chr(118) | v | Chr(128) | € |
Chr(99) | c | Chr(109) | m | Chr(119) | w | ||
Chr(100) | d | Chr(110) | n | Chr(120) | x | ||
Chr(101) | e | Chr(111) | o | Chr(121) | y | ||
Chr(102) | f | Chr(112) | p | Chr(122) | z | ||
Chr(103) | g | Chr(113) | q | Chr(123) | { | ||
Chr(104) | h | Chr(114) | r | Chr(124) | | | ||
Chr(105) | i | Chr(115) | s | Chr(125) | } | ||
Chr(106) | j | Chr(116) | t | Chr(126) | ~ | ||
Chr(107) | k | Chr(117) | u | Chr(127) | 删除 |
營利事業統一編號邏輯檢查方法(112/3/31記得調整檢查邏輯修正)
最近在設計新的商業程式,怕忘記了!記錄一下營利事業統一編號的驗證公式。
(一) 長度:共八位,,全部為數字型態。
(二) 計算公式
1、各數字分別乘以 1,2,1,2,1,2,4,1。
2、當第 7 位數為 7 者,可取相加之倒數第二位取 0 及 1 來計算其和。
3、假如其和能被 10 整除,則表示營利事業統一編號正確
剛創業時找人的冏境
對於剛創業的人來說,人才跟產品是很重要的二個部份。而其中又以”人才”最難找得到,大公司或已經有規模的公司,可以重金禮聘到頂尖的大學生,那像我們這樣剛起步的小公司(甚至連公司都還沒成立)該如何招人呢?下午剛好跟朋友聊天提到~分享給大家。
一、朋友、同學、同好
正所謂在家靠父母,出外靠朋友,當開始出外打拼時,這些曾經一起讀書的同學、一起長大的朋友或是一起工作過的同事,還有就是喜歡聊共同話題的同好,就是剛創業時找人的最佳途徑。
二、實習生
到學校找人,因為沒辦法給得起太高的薪水,但因為是”實習”還負擔的起,並且適時畫餅(當然餅要記得做出來)。
三、上網貼文
到 InsideJob 或是 PTT網創版找人。
四、相關的網路創業聚會還是技術論壇活動
參加一些網路創業相關的聚會,交換名片,增加人脈,或是到一些技術相關的比賽、論壇活動上去找人。
一起互相勉勵吧!願看到此篇文章的網路創業者都能成功 🙂
photo via by Mark Montoya
忙碌的春節過後
原本預計春節過後要開始乖乖寫網誌的,不過似乎計畫就永遠趕不上變化。因為許多事務的耽擱後,一直到今天才想到寫網誌這回事….
年前接到台北打來的電話,對方在電話那頭詢問了一下之前從事的行業,在知道我一直都是寫商業資料庫軟體後,就約了年後見面;接著又幫社團法人規劃網站架設的部份;今天下午又接到有興趣架設購物網站的訊息。於是,年後到今天就一直處於訪談、評估、報價的階段……..中午接到的好消息是,台北對報價似乎蠻滿意的,所以對方的老闆又約定下週要親自下來確定整個開發的案子。
有句話說「大公司學做人,小公司學做事。」我也蠻慶幸待過五、六十位開發人員的公司,學會了專案管理甚至接觸到CMMI,以及人員間的溝通協調;也待過只有我一位開發人員的小公司,負責開發、維護加起來超百萬行的程式。當員工時,其實總想著把手邊的事情做好就好,等到自己開始出來闖天下時,就會知道你要放棄掉機會成本(原本優渥的薪水、補貼……..),每個月固定會有的一堆帳單要付,客戶上門時,你要自己訪談、評估、報價,學會與客戶應對進退….以及許多自己壓根兒都不知道的眉眉角角。不過真的放心,這些事情,就像開車一樣,上路就懂了 🙂
為了避免自己忘了事情,我還是乖乖每天寫一下部落格好了!
Android建立Phonegap程式(一)
這幾天接觸phonegap這個框架,趁機會記錄一下,以免以後老人痴呆忘了!
Android使用phonegap有二種方式:
一種是使用命令列建立。
一種是直接copy&paste及手動設定。
命令列建立方式:
Windows
1.設定JDK路徑(假設路徑是 C:\Program Files\Java\jdk1.6.0_25)
相關下載:JDK下載網址
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_25
set PATH=%JAVA_HOME%\bin;%PATH%
2.設定APACHE ANT路徑(假設路徑是C:\apache-ant-1.8.4)
相關連結:Apache Ant (下載後解壓縮)
set ANT_HOME=C:\apache-ant-1.8.4
set PATH=%ANT_HOME%\bin;%PATH%
3. 下載PhoneGap
相關連結: PhoneGap (下載後解壓縮)
切換PhoneGap解壓縮後的\lib\android\bin 下
cd c:\phonegap-2.3.0\lib\android\bin
接下來,就可以建立專案,語法是 /create <project_folder_path> <package_name> <project_name>
三個參數依序為:
1.專案資料路徑:例如:c:\projects\test1
2.package名稱:例如:com.superlevin.test1
3.專案名稱(不能有空白唷):例如:test1
create c:\projects\test1 com.superlevin.test1 test1
如果都沒有問題的話,就可以在c:\projects裡看到test1的目錄,導入到Eclipse就可以了。
MacOS
1. 配置 bash_profile檔案
打開終端機,輸入 touch ~/.bash_profile; open ~/.bash_profile
會出現一個文字編輯的檔案
加入android sdk的路徑(例如:/Users/superlevin/Documents/androidsdk/adt-bundle-mac-x86_64/sdk)
在文字編輯裡加上下列文字
export PATH=${PATH}:/Users/superlevin/Documents/androidsdk/adt-bundle-mac-x86_64/sdk/platform-tools:/Users/superlevin/Documents/androidsdk/adt-bundle-mac-x86_64/sdk/tools
接著存檔。
回到終端機畫面,執行配置檔
輸入 source ~/.bash_profile
這樣一來,就配罝了含Android SDK的路徑。
接著下載phonegap解壓縮後,進入終端機切換到lib/android/bin目錄(例如:/Users/superlevin/Documents/phonegap-2.3.0/lib/android/bin),輸入
./create /Users/superlevin/Documents/helloworld com.levin.helloworld helloworld
最後打開Eclipse匯入就可以了
中華電信查詢行動上網封包使用量
因為家裡本來就有wifi,而且外出時使用3G的機會大概就是上傳照片、打打卡、偶爾看看訊息而已,所以在申辦行動上網時直接不考慮吃到飽的費用,而是採用最基本的mPro 450方案。
當然很多人會納悶,沒有吃到飽這樣夠嗎?其實大多數的情況下是足夠的,壽山建議您可以先看看這篇「你真的需要行動網路吃到飽嗎?」,文章中有針對常使用的功能來做分析評估,或許看完文章後你會覺得自己多繳很多冤枉錢也說不定。
而且越來越感心的中華電信會在每個禮拜二傳送簡訊告訴你目前的封包使用量,甚至如果封包使用量快破表時,也會再給予提醒。但如果您是那種跟壽山一樣,擁有某種焦慮個性的人,倒是可以跟著今天的文章來學習怎麼天天透過中華電信網路客服中心查詢行動上網封包使用量,也讓自己心裡有個底。
中華電信網路客服中心
網址: https://123.cht.com.tw/
首先進入中華電信網路客服中心,接著點選右手邊登入資訊的”登入”
接著可以選擇認證方式,中華電信提供五種方式:中華電信會員認證、HiNet帳號密碼、emome認證、自然人憑證及工商憑證。如果沒有的話,建議可以到emome網站申請帳號
登入後,會提醒您閒置超過20分就會自動登出。這邊也提醒,網路上的任何服務,最好沒有使用的話就登出 🙂
接著回到網路客戶中心的首頁,我們點選查詢服務
查詢服務的項目有點多,接著點選右下角的”未出帳之國內行動上網封包使用量查詢”
輸入您要查詢那個行動號碼(有的人一個人有好幾個門號)
最後,系統就會告訴您目前的封包使用量是多少囉!是不是很方便呢?
還有還有,再次提醒,查詢完之後,記得按右邊的登出鈕唷 🙂