全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:30686
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

BCB 收銀機系統(POS)開發

 
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-05 19:30:58 IP:163.32.xxx.xxx 未訂閱
POS 就像是個小型的 MIS 要寫 POS 系統 , IT 的各項主要技術都要涉獵 如 : 1.要能控制刷卡機 , 發票印表機等週邊 , 要懂得控制 RS-232 2.要能與 POS 後台連線 , 尤其是那種大賣場 , 整個網路環境 , MiddleWare , 資料的正確性 , 網路斷線的 RECOVER 機制 (關係到錢 的系統尤其不能馬虎), 要對 tcp/ip 架構應用非常了解 3.資料庫也許不一定會用大型資料庫(通常只用在總部MIS那端),但要保證商品 資料即時變價的正確性 , 特賣促銷等資料傳達確實性保證 , 都夠令人頭 痛 , 否則賣錯價錢 , 差額是誰賠 ? 軟體公司還是業主 ? 4.有的收銀環境後台是 unix 系統 , 跨平台資料的整合也要有所研究 所以寫完一個 POS 系統 , 還有哪種行業的商用軟體寫不出來 ? 希望大家 , 尤其是同業 , 能將自身經驗分享 .... 發表人 - bruce0211 於 2002/07/07 18:55:52
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-07 19:00:04 IP:192.168.xxx.xxx 未訂閱
想請問一下,商品的條碼都不會重號嗎? 因為我最近想做藥品的庫存,想利用條碼做為輸入的工具! POS系統中對於,貨品的保存期限,與整批進貨是如何處理的, 可否分享一下經驗,供我參考,謝謝您! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-08 13:42:55 IP:210.208.xxx.xxx 未訂閱
基本上,經過正式編碼的國際條碼(EAN_13,UPC-A等等)是不會重複的 但商品因產地不同而有不同國際條碼(如可口可樂) 此時店家就會在商品主檔內另設一自編之貨號來區分 所以商品資料檔內就至少有兩個欄位,一為條碼,一為貨號 不同的條碼可能有同一貨號,因為店家只要知道可口可樂的銷售值 不必去分可樂的生產地是哪裡 至於貨品的保存期限,與整批進貨是如何處理的,我沒實際經驗 但應該是進銷存的範疇吧 ...
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-09 09:36:46 IP:192.168.xxx.xxx 未訂閱
引言: 基本上,經過正式編碼的國際條碼(EAN_13,UPC-A等等)是不會重複的 但商品因產地不同而有不同國際條碼(如可口可樂) 此時店家就會在商品主檔內另設一自編之貨號來區分 所以商品資料檔內就至少有兩個欄位,一為條碼,一為貨號 不同的條碼可能有同一貨號,因為店家只要知道可口可樂的銷售值 不必去分可樂的生產地是哪裡 至於貨品的保存期限,與整批進貨是如何處理的,我沒實際經驗 但應該是進銷存的範疇吧 ...
感謝答覆 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
ahcheng
一般會員


發表:13
回覆:72
積分:17
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-07-18 10:02:08 IP:61.30.xxx.xxx 未訂閱
引言:所以寫完一個 POS 系統 , 還有哪種行業的商用軟體寫不出來 ? 希望大家 , 尤其是同業 , 能將自身經驗分享 ....
小弟基本上只贊同你部份的說法, POS 還是不離進銷存範疇,再加上一點點的 Interface 應用; 但是各行各業都有或多或少奇奇怪怪的Logic, 有的只用半招,有的要全招,有的用虛招,有的要實招,小弟在這行業碰到各式各樣的人,事,務. 大家不可因學會一招半式而自滿. 何況科技進步太快,許多人因 DOS->Windows 退隱山林, 許多人因 Desktop->Client/Server 去打點滴,我預測將來也會有許多人,當網路興起, Client/Server又落伍了......,或另外原因而掛掉. 不信你看這上面 4 字頭的有幾位, 5 字頭的有幾位.既然走這行,那麼請好走阿! 小弟祝大家一帆風順吆!
ok2002
一般會員


發表:3
回覆:8
積分:2
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-07-27 14:37:35 IP:61.220.xxx.xxx 未訂閱
小弟不才,剛好在pos行業工作,就我所知與大家分享.. 就pos的功能方面,現被業者所重視的順位為:收銀準確.快速,毛利與實績排行,盤點工作,進貨與退貨控制,缺貨自動通知,防止廠商塞貨,庫存Loss防止... 另外就商品條碼來說:EAN13,其為國家代碼3碼,廠商號碼4碼,商品號碼5碼,檢核碼1碼,他有演算公式,這是要向條碼策進會申請. 至於貨品的保存期限是否是在作庫存控管?跟貨架有關? 那整批進貨是否以單位計算?將數單訂單彙整成一批?是以什(時序,區域,加工)為劃分範圍廣極.... 在訂貨方面有幾種方式:廠商鋪貨,電話訂貨,郵寄訂貨,傳真訂貨,零售商自行取貨,當然也有從總部統一訂貨...... 所以在驗收時必須依其訂貨方式揀貨. 發表人 - ok2002 於 2002/07/27 14:39:44
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-07-28 23:15:51 IP:163.32.xxx.xxx 未訂閱
目前小弟在 POS 上只接觸開發技術上的應用 還有許多關於進銷存的知識 還望有機會長官能不吝指導 ^_^ 另外,希望大家能分享一下目前 POS 系統的架構 如餐點系統的觸控螢幕POS 或是有無聽說有 Linux XWindow 版的 POS 系統 我試過在富士通的收銀機上安裝 Mandrake 7.2 Linux 感覺還滿穩的,故意在 XWindow 下直接拔掉電源 每次都還是能重開機回 XWindow (RedHat 7.0 不正常關機 XWindow 就掛了, 新版我就沒試過了) 我想 Mandrake Linux 應該是一個很好的開發平台 用 Kylix 或 C 都可以 , 我也正籌畫在 Linux 下開發 XWindow POS 系統的可行性... 發表人 - bruce0211 於 2002/07/28 23:32:23
noah
一般會員


發表:42
回覆:13
積分:11
註冊:2002-04-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-07-29 01:03:40 IP:61.56.xxx.xxx 未訂閱
好樣的!在 Linux 下開發 XWindow POS 系統這我喜歡
鈴鐺
初階會員


發表:33
回覆:81
積分:35
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-07-29 10:58:54 IP:192.72.xxx.xxx 未訂閱
引言: 所以寫完一個 POS 系統 , 還有哪種行業的商用軟體寫不出來 ? 希望大家 , 尤其是同業 , 能將自身經驗分享 ....
其實 MIS 領域真的很廣, 筆者在製造業. MRP(Material Resource Plan)複雜度應該比起 POS 高很多. 我們公司還好, 計量單位是整數. 聽說化學業, 計量單位是(分數), 可能用浮點數還不行, 會有誤差. 各行各業就是有這麼多不同的小細節, 所以大家才有做不完的系統. 發表人 - 鈴鐺 於 2002/07/29 10:59:54
ahcheng
一般會員


發表:13
回覆:72
積分:17
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-07-29 11:46:37 IP:61.30.xxx.xxx 未訂閱
引言: 其實 MIS 領域真的很廣, 筆者在製造業. MRP(Material Resource Plan)複雜度應該比起 POS 高很多. 我們公司還好, 計量單位是整數. 聽說化學業, 計量單位是(分數), 可能用浮點數還不行, 會有誤差. 各行各業就是有這麼多不同的小細節, 所以大家才有做不完的系統.
小弟之前在這裡所寫,多有冒犯,還望諸位海涵.其目的只是要提醒同業,這行實在是既深且廣.有許多企業 Logic, 可以讓你熬夜幾晚百思不得其解的.因此吾友告訴我,老美某些 MIS 軟體報價,竟達NT$千萬元.實在......
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-07-29 11:50:28 IP:210.208.xxx.xxx 未訂閱
我的原意是說 : POS 系統是一個"小型"的 MIS , 他整合了"幾乎"所有的 IT 技術 , 包含 RS-232 , 網路 , 資料庫 以及某部分的商業邏輯 更甚者還有 POS 整合了多媒體 寫完一套 POS 也就有了 IT 業的基本歷練 並非小看其他系統或把其他系統不擺在眼裡 .... 在此回應兩位前輩 ...
ahcheng
一般會員


發表:13
回覆:72
積分:17
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-07-29 21:48:19 IP:61.30.xxx.xxx 未訂閱
偶還是一句老話,真的很佩服版主 bruce0211 的熱心, 提供這麼多心得. 看了這麼多國內有關 BCB 論壇,還是覺得這裡資料最ㄅ一ㄤˋ了!! 真是謝謝你喔!版主大大!!
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-07-30 14:35:16 IP:210.208.xxx.xxx 未訂閱
談 Windows 程式開發的風格 ■ DOS 程式的開發風格 : 主程式本身是個大迴圈 , 不停的等待按鍵輸入 , 然後依照按鍵指定功能跳到副程式(或稱次迴圈), 程序掌控容易 , 因為只有一個入口和一個出口 , 副程序必須執行完或符合某種條件才能結束 , 程序執行由上而下,故可將全部程式碼印出研究 ■ Windows 程式的開發風格 : 所有程序的執行依照訊息觸發來執行 , 沒有所謂 的迴圈型副程序(即用 do...while 來控制某一程序 的執行與結束條件) 以目前 GUI 介面的操作風格及滑鼠使用來看 已經沒有什麼問題 , 但某些程式以這種方式來寫 將會非常累 (如 POS 程式) Windows 的事件觸發程序已改變了我們設計程式的風格 , 但有些程式還是得依照"線性程序結構"來執行 , 無法也不能用事件觸發來破壞或轉向程式流程.... 使用多個 Form 的 ShowModal 方式就還有點 DOS 的影子 例如 : 在 Form1 上選擇了某項功能後跳到 Form2 Form2 沒有按結束鈕前 , 絕不可能跳回 Form1 但若全部功能都集中在一個 Form 時 , 程序控制將非常複雜 user 可以以滑鼠將焦點移來移去 , 脫離你的程序控制 所以要加入一大堆的旗標做判斷..... 而以 Window 介面開發的程式 , 也沒人將全部程式碼印出觀賞的 , 因為若不對照操作介面 , 根本不知程式碼中之程序 以哪裡為開頭或結束 專業的 POS 前端系統(收銀機)是不允許有滑鼠來操作的 (市面上那兩本VB & Delphi 介紹 POS 的書籍內容居然有滑鼠介面...) 輸入裝置僅有 POS 之"可程式化鍵盤"以及"條碼掃描器" POS 收銀機操作機能是有所謂層級的觀念 雖然鍵盤簡單(僅有 1234...[清除],[確認]鍵和一些 FUNCTION Key) 但所有機能都是一層一層下去 再一層一層退回 所以 POS 系統反而以 DOS 來開發比較簡單 舉例來說 , 以退貨這個機能來說 , 其動作流程為 : ---------------------------------------------------------------------- (第一層,系統閒置時) 1.按下[退貨]鍵 (第二層,進入退貨機能-輸入欲退貨之交易序號) 2.畫面訊息欄顯示"請輸入交易序號" 3.按 1,2,3,4..... 4.按[確認]進行步驟 6. 5.或按[清除]鍵,但此時有兩個要判斷的條件: (a.)若按[清除]前,輸入之數字(交易序號)有值,表要重新輸入交易序號故 回到步驟 2. (b.)若按[清除]前,輸入之數字(交易序號)是空的,表取消退貨機能, 直接回到第一層,系統閒置狀態 (第三層,進入退貨機能-選擇退貨方式) 6.畫面訊息欄顯示"1.部分退貨 2.全部退貨" 7.按 1,2,3,4..... 8.按[確認]進行判斷 , 若按的是 1 或 2 則進行步驟 10. , 若按其他數字則秀錯誤訊息並回到步驟 6. 重輸 9.或按[清除]鍵,此時也有兩個要判斷的條件: (a.)若按[清除]前,輸入之數字(交易序號)有值,表要重新輸入退貨方式故 回到步驟 6. (b.)若按[清除]前,輸入之數字(交易序號)是空的,表取消選擇輸入退貨方式, 回到前一層(第二層),輸入欲退貨之交易序號 10.實際執行 1.部分退貨 或 2.全部退貨 退貨程序 (若輸入的交易序號找不到 , 還會跳至另一個錯誤處理程序...) 以上大家可注意一點 , 以最常用的[清除]&[確定]鍵來說 , 同樣的[清除]&[確定] 在不同的時機有不同的意義... ---------------------------------------------------------------------- ■ 以上機能以 DOS 來寫 , 各層一個副程序即可 , 每個副程序處理個別的按鍵意義 , 程式流程嚴謹 , 不會被 user 亂跳 ■ 以上機能若以 Windows 多 Form 方式來寫 , 第一層是主 Form (Form1) 第二層是 Form2 (退貨機能-輸入欲退貨之交易序號) , 第三層是 Form3 (退貨機能-選擇退貨方式) 每層有每層的 KeyDown 判斷 , 每層有每層的邏輯限制 , 合條件則跳至下一層 不合條件則在原層 , 反悔或取消則回上一層 , User 也無法任意轉移 Focus ■ 但問題來了....POS 機能少說也有十幾二十種 , 每一機能都可能有好幾層 每層的邏輯也不同 , 總不能為每一層開一個 Form 吧 , 收銀機上又沒滑鼠及標準 pc 鍵盤, 也不能用 MessageBox 或 InputBox 或 QueryBox 來代替輸入 , 所以只能用一個主 Form , 各位可以想想 , 在同一個主 Form 的 KeyDown 事件中要如何可以依照各機能進入的層級及時機 來共用 KeyDown ? 那就是使用旗標來判斷 , 事實上很多 Windows POS 系統(包含我們公司開發 的 POS 系統)使用這種方式 , 但也因此程式無論在開發規劃或將來維護 , 都是一個很吃重的負擔 .... 我有想到一個好方法 , 雖還沒實做過但我還沒想到缺點 , (當然不是用 Do....While 去模擬 DOS 的線性程序結構 , 在 Windows 上雖有 Application.process 可讓迴圈不致死繞 , 但總是不好)不過...在公佈我想到的方法之前,我想看看前輩們有無好的方法或架構 , 在 Windows 上針對這類"線性程序結構"程式開發上的意見.... 發表人 - bruce0211 於 2002/07/30 23:41:08
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#14 引用回覆 回覆 發表時間:2002-07-31 00:07:11 IP:163.32.xxx.xxx 未訂閱
再補充描述一下DOS vs. Windows 風格的不同: □ Dos 程式以程序為主,事件(鍵盤事件)為輔,即進入某一程序後就一直等在那邊隨時監測你的鍵盤輸入,沒有符合這個程序離開的條件絕不會離開此程序 □ Windows 程式以事件(鍵盤事件)為主,程序為輔 , 按了鍵(OnKeyDown)後,再看看(依旗標控制)要進到哪個程序(而且不能一直卡在那個程序中 , 否則將接不到下一次鍵盤觸發事件) 程序的完成是分週期的 (OnKeyDown -> 旗標決定 -> 程序甲 -> 執行完成否 ? 完成則改變旗標值(下次 KeyDown 就不會再進來程序甲),未完成則 return 繼續等待下一個 KeyDown ; 換句話說 : 副程序在執行期間 , 程式流程仍要返回 KeyDown 事件以等待下一個 KeyDown 事件 , 且要確保 下一個 KeyDown 事件發生後流程會回到原先未完成的程序 , 而不會被別的程序搶走 □ POS 系統畫面不能有可以被 Focus 的元件 , 所以也不能用 Edit 來等待使用者按鍵的輸入 , 況且 POS 鍵盤是所謂的"可程式化鍵盤" , 按下 "1" 這個數字並不是標準 "1" 的 ASCII 碼 , 所以根本不能用一般編輯元件來接收鍵盤碼 , 而要直接抓 ScanCode 來處理 POS 架構比較適合用 DOS 的模式喔 ... 發表人 - bruce0211 於 2002/08/01 17:02:31
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#15 引用回覆 回覆 發表時間:2002-07-31 10:16:00 IP:210.200.xxx.xxx 未訂閱
引言: POS 架構比較適合用 DOS 的模式喔 ...
關於此點我與 bruce0211 兄有點不同的看法, 老實說以 POS 而言, DOS 的單工是優點也是缺點, 優點如 bruce0211 兄所言不在多述, Windows 的界面有 MDI, SDI 二大類, 其中 SDI 比較接近 DOS, 也就是進入 Form 後, 可以鎖在此 Form 中. Windows 的多工有何好處, 例如: 第一位顧客因為還有問題, 必需稍後兒無法完成交易, 這時可以叫出另一個 Form 為第二位顧客服務, 當然這個功能 DOS 也可以寫出來, 但會比較麻煩; 不過如果考量到可以多賣一套 POS 這個功能不好. 不過 Windows 和 DOS 比有一個缺點 ... (版權比較貴) ... 如果要享受多工的好處, 又可以版權便宜, 我想 Linux 是比較理想的 OS, 而且上面有 Kylix RAD 可用, 不過目前 Linux 在 Desktop 上的穩定性不明(Server 是非常穩定)是個隱憂.
------
將問題盡快結案也是一種禮貌!
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#16 引用回覆 回覆 發表時間:2002-07-31 10:34:38 IP:210.208.xxx.xxx 未訂閱
對了,我補充一下 我所指的 POS 系統是便利超商或大賣場那種處理大流量的收銀系統 所以沒有滑鼠,當然也不能另開一個 Form 來處理另外一個客戶 當筆交易一定要結束才能處理另外一筆或下一筆 這是這種系統架構流程的限制 另外有些餐飲業用的點餐 POS 系統,因為流量不大 所以可作成比較偏 GUI 的風格,可用滑鼠操作或觸控螢幕 甚至還可放多媒體菜單
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#17 引用回覆 回覆 發表時間:2002-07-31 15:50:08 IP:210.200.xxx.xxx 未訂閱
引言: 對了,我補充一下 我所指的 POS 系統是便利超商或大賣場那種處理大流量的收銀系統 所以沒有滑鼠,當然也不能另開一個 Form 來處理另外一個客戶 當筆交易一定要結束才能處理另外一筆或下一筆 這是這種系統架構流程的限制 另外有些餐飲業用的點餐 POS 系統,因為流量不大 所以可作成比較偏 GUI 的風格,可用滑鼠操作或觸控螢幕 甚至還可放多媒體菜單
這種系統架構流程的限制好處是, 銷售人員不會弄錯是前次或現在這個客戶, 所以 POS 系統應該還要分行業別才是; 至於用滑鼠操作部份, 我是有寫過在 Windows 下完全不用滑鼠操作的系統, 不過程式很難寫(規劃就花了不少時間), 但是 POS 不是都單鍵操作嗎 ? 應該沒有影響. DOS 因為本來就不直接支援滑鼠操作, 反而簡單點. 其實 Windows(X-Window) 和 DOS 比只是贏在畫面比較炫一點...
------
將問題盡快結案也是一種禮貌!
azi
一般會員


發表:10
回覆:39
積分:9
註冊:2002-05-27

發送簡訊給我
#18 引用回覆 回覆 發表時間:2002-07-31 17:24:07 IP:210.241.xxx.xxx 未訂閱
除了介面與流程之外,我覺得POS最大的問題在資料通訊與資料庫, 不知道大家前後台的資料庫用何種比較穩定, 我們公司用DBASE III(DOS),當資料量大到某種地步時, 維護實在麻煩,所花費的成本才是最多的.    如果用大型資料庫,要考慮通訊介面是否能移植,而且 需改用WINDOWS.....    
引言: 這種系統架構流程的限制好處是, 銷售人員不會弄錯是前次或現在這個客戶, 所以 POS 系統應該還要分行業別才是; 至於用滑鼠操作部份, 我是有寫過在 Windows 下完全不用滑鼠操作的系統, 不過程式很難寫(規劃就花了不少時間), 但是 POS 不是都單鍵操作嗎 ? 應該沒有影響. DOS 因為本來就不直接支援滑鼠操作, 反而簡單點. 其實 Windows(X-Window) 和 DOS 比只是贏在畫面比較炫一點...
--- Azi
------
---
Azi
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#19 引用回覆 回覆 發表時間:2002-07-31 18:25:41 IP:210.208.xxx.xxx 未訂閱
現在的 POS 除了基本功能外 還要能代收水電費及罰款 功能的擴充,也是為何必須換成 Windows 的原因 但 Windows 的操作架構似乎又不太適合POS 所以討論如何讓 POS 架構更適於套用於 Windows 下 也就是本討論主題的由來....
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#20 引用回覆 回覆 發表時間:2002-08-01 21:18:02 IP:163.32.xxx.xxx 未訂閱
引言: .... DOS 因為本來就不直接支援滑鼠操作, 反而簡單點. 其實 Windows(X-Window) 和 DOS 比只是贏在畫面比較炫一點... ....
其實,早期我是這麼認為 但寫 Windows 到現在五,六年 我覺使用 Windows 已是環境的問題 就像我前面所說的,真正7-11,全家這種超商市場所用的 POS 功能已超出單純"收銀"功能許多 還要代收,還要能讀寫加值機(悠遊卡) 在使用有 640K 記憶體限制的 DOS , 功能已達瓶頸 再加上資料庫,網路的環境...等等 主記憶體都不夠主程式用了 在 DOS 下要上 tcp/ip 確還要再掛一些 NetWork Library 所以Windows(X-Window) 之於 DOS 已不是炫不炫的問題了 ....
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#21 引用回覆 回覆 發表時間:2002-08-04 19:58:41 IP:61.224.xxx.xxx 未訂閱
除了介面與流程之外,我覺得POS最大的問題在資料通訊與資料庫, 不知道大家前後台的資料庫用何種比較穩定, 我們公司用DBASE III(DOS),當資料量大到某種地步時, 維護實在麻煩,所花費的成本才是最多的. 如果用大型資料庫,要考慮通訊介面是否能移植,而且 需改用WINDOWS..... 我們公司的POS系統剛開始是使用pradox做為資料庫 不過現在已經改用interbase opensource了 如果考慮到成本 其實連後台的DB也可改成IB 這是滿適合小型案子的解決方案 發表人 - wayne_cheng 於 2002/08/04 20:00:48
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#22 引用回覆 回覆 發表時間:2002-08-04 20:12:09 IP:61.224.xxx.xxx 未訂閱
引言: □ POS 系統畫面不能有可以被 Focus 的元件 , 所以也不能用 Edit 來等待使用者按鍵的輸入 , 況且 POS 鍵盤是所謂的"可程式化鍵盤" , 按下 "1" 這個數字並不是標準 "1" 的 ASCII 碼 , 所以根本不能用一般編輯元件來接收鍵盤碼 , 而要直接抓 ScanCode 來處理 POS 架構比較適合用 DOS 的模式喔 ... 發表人 - bruce0211 於 2002/08/01 17:02:31
嗯 我是在POS上是使用TEDIT來接收使用者的輸入 除了游標我還沒有控制好之後 看起來是沒有什麼大問題的 關於鍵盤的部分 我所接觸的可程式化鍵盤都可以定義按鍵(這好像是廢話) 在我的認知裡面它就是鍵盤 定義為"1"的按鍵 按下去windows就是認定為1 抓到的VirtualKek也是1 所以在輸入上應該不會問題吧 這是個人見解 希望先進指教
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#23 引用回覆 回覆 發表時間:2002-08-04 20:23:48 IP:61.224.xxx.xxx 未訂閱
引言: ■ 但問題來了....POS 機能少說也有十幾二十種 , 每一機能都可能有好幾層 每層的邏輯也不同 , 總不能為每一層開一個 Form 吧 , 收銀機上又沒滑鼠及標準 pc 鍵盤, 也不能用 MessageBox 或 InputBox 或 QueryBox 來代替輸入 , 所以只能用一個主 Form , 各位可以想想 , 在同一個主 Form 的 KeyDown 事件中要如何可以依照各機能進入的層級及時機 來共用 KeyDown ? 那就是使用旗標來判斷 , 事實上很多 Windows POS 系統(包含我們公司開發 的 POS 系統)使用這種方式 , 但也因此程式無論在開發規劃或將來維護 , 都是一個很吃重的負擔 .... 我有想到一個好方法 , 雖還沒實做過但我還沒想到缺點 , (當然不是用 Do....While 去模擬 DOS 的線性程序結構 , 在 Windows 上雖有 Application.process 可讓迴圈不致死繞 , 但總是不好)不過...在公佈我想到的方法之前,我想看看前輩們有無好的方法或架構 , 在 Windows 上針對這類"線性程序結構"程式開發上的意見.... 發表人 - bruce0211 於 2002/07/30 23:41:08
我真的好像是每一個功能都會開一個 Form 依版主的看法這大概不會是個好設計 我會這樣時做的原因是因為這樣可以限制住使用者可以操作的功能 引導使用者跟著操作流程走 減少操作錯誤的機會 不過畫面多的缺點是 操作步驟會讓使用者有繁複的感覺 雖然按按鍵的次數一樣 還有遇到畫面要修改的時候 就要一個一個調整 容易產生疏失
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#24 引用回覆 回覆 發表時間:2002-08-04 20:33:33 IP:163.32.xxx.xxx 未訂閱
不管用啥方式 反正不能讓 USER 任意轉移元件焦點破壞流程即可 (尤其是那種沒有滑鼠卻又要有觸控螢幕按鈕的系統) 對了,長官能分享一下如何再不同的機能中 個別定義"清除","確認"的 KEY DOWN 方法嗎 ? 以下為常用鍵在不同機能層所代表的功能 [清除]鍵 - 有時真的就是只是清除 : 清除使用者輸入的數字 有時代表 CANCEL : 取消目前動作回上一層 有時代表取消錯誤訊息提示 [確認]鍵 - 有時代表登錄的功能 有時代表執行的功能 有時代表至下一層
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#25 引用回覆 回覆 發表時間:2002-08-05 11:57:33 IP:61.70.xxx.xxx 未訂閱
引言: 不管用啥方式 反正不能讓 USER 任意轉移元件焦點破壞流程即可 (尤其是那種沒有滑鼠卻又要有觸控螢幕按鈕的系統) 對了,長官能分享一下如何再不同的機能中 個別定義"清除","確認"的 KEY DOWN 方法嗎 ? 以下為常用鍵在不同機能層所代表的功能 [清除]鍵 - 有時真的就是只是清除 : 清除使用者輸入的數字 有時代表 CANCEL : 取消目前動作回上一層 有時代表取消錯誤訊息提示 [確認]鍵 - 有時代表登錄的功能 有時代表執行的功能 有時代表至下一層
報告版主我不是長官 我只是寫POS程式的新手 關於版主提到的問題 可能是因為我的程式運作流程不一樣 所以比較沒有遇到這類的問題 在我的程式因為有很多個子功能畫面, 所以[清除]鍵就是清除, 那取消怎麼辦呢 我是用另外一個鍵叫做關閉, 就是關閉子畫面的意思 [確認]鍵的做法也是類似的, 在子畫面中一個按鍵只會有一個功能 這是一個比較笨的方法 不過對我來說已經夠用了 這樣的說明不知道版主能不能了解我想要表達的
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#26 引用回覆 回覆 發表時間:2002-08-07 21:43:02 IP:163.32.xxx.xxx 未訂閱
您所謂的子畫面指的是 Form 嗎 ? 或是其他如 Notebook 或 PageControl 之類的東東 ? 我們的機能層快要上百個 所以這樣做可不行喔 ~~
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#27 引用回覆 回覆 發表時間:2002-08-08 09:05:33 IP:210.208.xxx.xxx 未訂閱
引言: ........ 我覺得不論開發什麼系統 用Dos,出來就是Dos 的樣子 用Win,出來就是Win 的樣子 所以在Windows上用mouse是正常的 ........
這是在我五,六年前剛從 DOS 轉 Windows 時 就跟那些喜歡把 Windows 寫成像 DOS 介面 同事所講過的話 但為何 五,六年 後的今天我為何又回頭稿這種飛機 ? 原因 1.程式的問題 : 功能的擴充已不是有640K 記憶體限制的 DOS 所能符合 2.網路的問題 : 在 Windows 下 TCP/IP 是民生用品,在 DOS 下 TCP/IP 是奢侈品(但又不能不用) 3.連資料庫的問題 4.最重要的原因 , 客戶的問題 , 客戶要求新一代 POS 系統使用 Windows , 我們的 POS 系統是要開發給數千家連鎖商店使用的 POS , 金額甚達上億 , 不是那種幾千元的套裝 POS 系統... 但您看過類似家樂福,7-11,這種大流量的 POS 系統用滑鼠嗎 ? 並非不願用,而是環境限制不能用
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#28 引用回覆 回覆 發表時間:2002-08-08 10:31:22 IP:210.200.xxx.xxx 未訂閱
引言: 這是在我五,六年前剛從 DOS 轉 Windows 時 就跟那些喜歡把 Windows 寫成像 DOS 介面 同事所講過的話 但為何 五,六年 後的今天我為何又回頭稿這種飛機 ? 原因 1.程式的問題 : 功能的擴充已不是有640K 記憶體限制的 DOS 所能符合 2.網路的問題 : 在 Windows 下 TCP/IP 是民生用品,在 DOS 下 TCP/IP 是奢侈品(但又不能不用) 3.連資料庫的問題 4.最重要的原因 , 客戶的問題 , 客戶要求新一代 POS 系統使用 Windows , 我們的 POS 系統是要開發給數千家連鎖商店使用的 POS , 金額甚達上億 , 不是那種幾千元的套裝 POS 系統... 但您看過類似家樂福,7-11,這種大流量的 POS 系統用滑鼠嗎 ? 並非不願用,而是環境限制不能用
我都忘了 DOS 有 640KB 的限制了 .... 確實如 bruce0211 兄所言, 當需求功能很多時, DOS 就顯得很難發揮了. 用 Windows 開發的 POS 我還沒看過用 Mouse 的, 不論是必要性或環境使然. 如果您的 POS 系統有數千家的規模想必 "微軟稅" 繳了不少. :-) 我記得 IBM 有在發展 Linux 的 POS 系統, 不知道穩不穩 ?
------
將問題盡快結案也是一種禮貌!
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#29 引用回覆 回覆 發表時間:2002-08-08 13:28:49 IP:61.70.xxx.xxx 未訂閱
引言: 您所謂的子畫面指的是 Form 嗎 ? 或是其他如 Notebook 或 PageControl 之類的東東 ? 我們的機能層快要上百個 所以這樣做可不行喔 ~~
我的確是用FORM來做 我的程式結構可能比較簡單 所以用 Form 就可以 希望版主還可以多提些關於 POS 的 knowhow 增加大家的見識
wayne_cheng
一般會員


發表:1
回覆:19
積分:14
註冊:2002-07-10

發送簡訊給我
#30 引用回覆 回覆 發表時間:2002-08-08 13:37:37 IP:61.70.xxx.xxx 未訂閱
引言: 我都忘了 DOS 有 640KB 的限制了 .... 確實如 bruce0211 兄所言, 當需求功能很多時, DOS 就顯得很難發揮了. 用 Windows 開發的 POS 我還沒看過用 Mouse 的, 不論是必要性或環境使然. 如果您的 POS 系統有數千家的規模想必 "微軟稅" 繳了不少. :-) 我記得 IBM 有在發展 Linux 的 POS 系統, 不知道穩不穩 ?
我想如果 POS 機器使用觸控式螢幕的話 應該就等於使用滑鼠一樣吧 不過對於交易量大的客戶 使用觸控式螢幕只會增加成本以及收銀員的困擾 鍵盤還是比較方便的 曾經聽過在香港有餐飲業的 POS 是使用 Linux 當作os的 可是對於使用 Linux 我有一個問題 就是在硬體的支援上面是不是比較缺乏 例如驅動程式或是硬體運作的穩定度 因為 POS 的硬體週邊多 如果在 Linux 上運作不穩定 系統開發的時候就會很麻煩
bruce0211
版主


發表:157
回覆:668
積分:279
註冊:2002-06-13

發送簡訊給我
#31 引用回覆 回覆 發表時間:2002-08-22 23:58:15 IP:163.32.xxx.xxx 未訂閱
我新 post 一篇心得分享關於觸控螢幕面板商品設計的 KnowHow 心得名稱 : Tag & Hint 的妙用 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18760 歡迎大家收看 對了,我近期就要公佈我的研究心得 如何在 Windows 下做到 POS 不同機能層的按鍵控制 只有一個 Form , 但能在不同 POS 機能層利用相同按鍵自訂不同按鍵意義 年底有空要來研究 Linux POS 了 , 聽說 BCB 會出 Linux 版 , 我 Delphi 雖用了五,六年但早已忘光 , 希望不要回去用 Kylix 寫 POS ....
[<<] [1] [2] [>>]
系統時間:2017-10-24 15:52:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!