ComPort控制元件SPComm for Delphi XE3

SPComm是年代蠻久遠的ComPort控制元件,之所以一直歷久不衰是因為簡單易用。

因為最近使用XE3在開發POS系統的原因,所以也找了新版本的SPComm,而原作者是copyleft的方式,再加上不易找到,所以筆者也將它開放到GitHub讓有需要的朋友一起使用。

GitHub: https://github.com/superlevin/spcomm_xe3

常用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 整除,則表示營利事業統一編號正確營利事業統一編號邏輯檢查方法

新規定: 110-12-22營利事業統一編號檢查碼邏輯修正說明

一、營利事業統一編號(下稱統一編號)供營利事業及扣繳單位配號使用,預估空號將於113年用罄。
二、為擴增統一編號號碼並與現行配賦之統一編號相容(新舊統一編號格式相同),後續請公私部門配合修改統一編號檢核程式,主要係修正「檢查邏輯由可被『10』整除改為可被『5』整除」,相關說明詳如附件。
三、全國公私部門倘有使用統一編號檢核程式,請於112年3月31日前完成統一編號檢核程式修改作業,相關系統文件請併同檢視修正。
四、預計112年4月以後,將視舊號餘存狀況逐步釋出新產製之統一編號。

剛創業時找人的冏境

Hire Me computer key

 

對於剛創業的人來說,人才跟產品是很重要的二個部份。而其中又以”人才”最難找得到,大公司或已經有規模的公司,可以重金禮聘到頂尖的大學生,那像我們這樣剛起步的小公司(甚至連公司都還沒成立)該如何招人呢?下午剛好跟朋友聊天提到~分享給大家。

一、朋友、同學、同好

正所謂在家靠父母,出外靠朋友,當開始出外打拼時,這些曾經一起讀書的同學、一起長大的朋友或是一起工作過的同事,還有就是喜歡聊共同話題的同好,就是剛創業時找人的最佳途徑。

二、實習生

到學校找人,因為沒辦法給得起太高的薪水,但因為是”實習”還負擔的起,並且適時畫餅(當然餅要記得做出來)。

三、上網貼文

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/

123.cht.com.tw01
首先進入中華電信網路客服中心,接著點選右手邊登入資訊的”登入

123.cht.com.tw02

接著可以選擇認證方式,中華電信提供五種方式:中華電信會員認證、HiNet帳號密碼、emome認證、自然人憑證及工商憑證。如果沒有的話,建議可以到emome網站申請帳號

123.cht.com.tw03
登入後,會提醒您閒置超過20分就會自動登出。這邊也提醒,網路上的任何服務,最好沒有使用的話就登出 🙂
123.cht.com.tw04
接著回到網路客戶中心的首頁,我們點選查詢服務
123.cht.com.tw05
查詢服務的項目有點多,接著點選右下角的”未出帳之國內行動上網封包使用量查詢
123.cht.com.tw06
輸入您要查詢那個行動號碼(有的人一個人有好幾個門號)
123.cht.com.tw07
最後,系統就會告訴您目前的封包使用量是多少囉!是不是很方便呢?

還有還有,再次提醒,查詢完之後,記得按右邊的登出鈕唷 🙂

吃晚餐學英文Learn English by Eating Dinner

蝦米?吃晚餐也能學英文?哈哈~真的是太無聊了!就把今天的晚餐以英文分享~
如有錯誤,歡迎指正。

鹹鴨蛋(Salted duck egg) Salted duck egg

雞酒(Chicken wine)

Chicken wine

Chicken wine

豆皮炒芹菜(Fried dried bean curd with celery) Fried dried bean curd with celery

炒甜不辣(fried tempura) Tempura

茴香湯(dill soup) dill soup

香煎虱目魚(fried milk fish)

無標題

fried milk fish

製作HTML5標準網站的最佳輔助工具-Initializr

Initializr - Start an HTML5 Boilerplate project in 15 seconds

 

最近W3C宣佈2014年要推出HTML5正式版,也表示HTML5發展也已經相當成熟了!而隨著各家瀏覽器以及行動裝置紛紛支援HTML5標準,開發者使用HTML5來設計網頁也是必然的趨勢。

工欲善其事,必先利其器,這邊就介紹一個號稱15秒就可以生出一個HTML5 Project的服務-Initializr

Initializr是基於全球知名的HTML5預設模板HTML5 Boilerplate設計的,再經過加工後,可以產生支援HTML5 Boilerplate(H5BP)、Responsive(響應式布局)或Twitter Bootstrap的HTML5檔案。

目前支援的版本為H5BP v4.0.1、Modernizr 2.6.2、jQuery 1.8.3(2013/01/09)。

使用的方式很簡單,點選您所需要的HTML/CSS Template:

  • No template  – Classic H5BP

  • Mobile-first Responsive - Responsive 行動裝置優先

  • Responsive Bootstrap 2.2.1 – 使用Twitter Bootstrap

接著選擇HTML5 Polyfills、jQuery版本,最後再選擇是不是要包含H5BP預設常見的設定檔….最後按Download!就可以了!

下載後就開始修改page name、meta description、favicons等資料,就可以產生HTML5網頁了!

PHP-如何偵測使用者是否使用手機瀏覽

隨著智慧型手機的普及,在網頁的製作上都需考量到手機瀏覽器的部份,雖然最近很常提到的RWD(Responsive Web Design)可以解決,但實際上如果dom structure 過於肥大,或是載入 Javascript過多時,依舊會有頻寬上的問題(3G貴森森呀),尤其是圖片硬縮流量也不會變小XD

老實說responsive web design 也不是萬能的,祇是利用CSS手法隱藏不需要的elements,最好還是透過偵測方式,輸出不同html會比較好些。

這邊介紹一個很不錯的class

PHP Mobile Detect

網址:http://mobiledetect.net/

使用的方式也很簡單。

  1. include ‘Mobile_Detect.php’;
  2. $detect = new Mobile_Detect();
  3. // Check for any mobile device.
  4. if ($detect->isMobile())
  5. // Check for any tablet.
  6. if($detect->isTablet())
  7. // 3. Check for any mobile device, excluding tablets.
  8. if ($detect->isMobile() && !$detect->isTablet())