Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
楼主: bruce0829

SQLITE 資料庫瀏覽工具

[复制链接]

该用户从未签到

发表于 2010-8-26 21:35:56 | 显示全部楼层
我来再说一下我的看法:
1.原来只是在win32下做pos,用的vb和vb.net写的,所以用的本地数据库是access,如果要跨平台,肯定access不行了,mysql和sqlite是不错的选择,对于安全性和难度上看考虑,我更推荐mysql,可能是我更熟悉些。
2.远程数据库连接现在用直连和webservice的都很多,做为安全性考虑不会直接去调用表,会去调用存储过程和视图等。
3.要给付款,盘点,返回等功能在键盘上定义功能键。还要写一个如ibm的键盘定义程序,可以让用户自定义。也不算难点,只是键值对应的问题。
4.不同的款机的控制的方法是不一样的,比如ibm4694会有自己的SIO   Port接口,一整套,海信的是直接控制等。
5.恩,同意。不过很些会去调用其它厂家的接口,这些厂家可能会用c或c++写的,不知道调用会不会有问题。
6。没意见
7.同意,觉得这个是与你的代码能力和业务逻辑能力有关。
8.这个是对系统的锁定,比如不能让用户切出程序,不能让用户强行退出。
9.这个很重要,这是钱的问题,如果服务器的数据和本地的数据不一致,那样又得去对帐,会出问题。要求100%的准确性。
10.款机一般没有鼠标,所以还要注意不能让光标丢失。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-8-26 22:43:59 | 显示全部楼层
公怖一下答案

USB 條碼槍, 發出跟 K/B 一樣的 ASC II 訊號, 用其刷入條碼時信號跟 Keyboard 一樣都是從 KEY DOWN 進來
本來就只是個資料輸入方式, 當初客戶要求我程式一定要能判斷資料是人工從 Keyboard 鍵入的還是 USB 條碼槍刷進來的
(以便後續跑不同的處理流程)我也傻住了

後來想到一個方法, 方式很簡單,
宣告兩個 TDateTime 變量(Global)

var T1,T2:  TDateTime;

在 KeyDown 事件中紀錄每次 KeyDown 的當時時間 T1, 當下一次 KeyDown 進來時
先讓 T2=T1 , 再把當時時間紀錄在 T1

所以

T1 : 本次 KeyDown 的時間
T2 : 上次 KeyDown 的時間



把這兩個時間相減, 就知道從 KeyDown 事件讀進來的條碼是人工手 Key 的, 還是 USB 條碼槍刷進來的

經過測試 , 通常

人工手 Key : 每個按鍵與按鍵間隔 > 170 ms
USB 條碼槍刷進來 : 每個按鍵與按鍵間隔 < 20 ms

折衷取 90 ms 來判斷

if (T1-T2)>90 then
  ................//人工手 Key
else
  ................//USB 條碼槍刷入




客戶經驗, 和大家分享, 技術的東西說穿了也沒什麼, 但總要有人樂意去分享出來
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-8-26 23:17:12 | 显示全部楼层
对了,你刚才提到的手工输入条码和条码枪输入条码的区别方法,我有个办法:
在keyperss事件里,判断输入间隔时间就可以,因为手工输入的间隔时间必不会太快
以前就是这样玩的
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-8-26 23:19:36 | 显示全部楼层
原來大家都是一樣的玩法
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-8-27 07:03:37 | 显示全部楼层
對了, 聽說 MySQL 若使用在商業應用上, 是需要付錢的, 這是我沒使用來當 POS 單機數劇庫的原因
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-8-27 07:06:39 | 显示全部楼层
另外介紹一個免費數據庫 FireBird 在 Linux 下的安裝方式



安裝 FireBird 資料庫環境
安裝資料庫
sudo apt-get install firebird2-super-server


若以上安裝無法安裝, 可於 Ubuntu 軟體中心搜尋 "firebird"  關鍵字, 並選擇下列安裝套件


設定啟動
sudo chmod 700 /etc/init.d/firebird2.1-super
sudo /etc/init.d/firebird2.1-super start


sudo dpkg-reconfigure firebird2.1-super
* Firebird 2.1 server manager not running.
* Starting Firebird 2.1 server manager...                               [ OK ]
* Firebird 2.1 server manager already running.

裝完, 為 libfbclient.so.2.1.3 (視安裝版本而有不同) 做個 symbo link (libfbclient.so), 這樣 Lazarus 程式就可執行  FireBird 相關的資料庫操作
sudo ln -s /usr/lib/libfbclient.so.2.1.3 /usr/lib/libfbclient.so


另外, FireBird 資料庫好像只能放在 /var/lib/firebird/2.1/data/ 目錄下, Lazarus 程式才能存取,
如 : 你的 db 檔路徑要在  /var/lib/firebird/2.1/data/your_fb_db.fdb



像我喜歡把 db 跟執行檔放在一起的, 就必需改變做法, 把 db 移到  /var/lib/firebird/2.1/data/ 目錄下
$sudo chown firebird.firebird your_fb_db.fdb
$sudo mv your_fb_db.fdb /var/lib/firebird/2.1/data/



在 Lazarus 中, IBConnection1 元件連 FireBird 資料庫的方法

IBConnection1.HostName:='localhost';
IBConnection1.DatabaseName:='/var/lib/firebird/2.1/data/your_fb_db.fdb';
IBConnection1.UserName:='sysdba';
IBConnection1.Password:='masterkey';
IBConnection1.Connected:=true;   


安裝管理工具
sudo apt-get install flamerobin




安裝 postgresql 資料庫環境
安裝資料庫

$sudo apt-get install postgresql-8.4



安裝管理工具

$sudo apt-get install pgadmin3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-8-27 09:07:35 | 显示全部楼层
好文章,收藏下来
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-8-28 11:50:40 | 显示全部楼层
在LAZ下可用的数据库还是挺多的, 还有很多开源的数据库可用不一定死抱著MYSQL.
我就是看到MYSQL的许可协议才一直没兴趣去学他,虽然他的中文资料是最多的.
一直都在关注FIREBIRD,但FIRBIRD对中文支持不太好,繁体没试过,但简体中文就不太友好.建议用FIREBIRD的话统一用 UFT8编码去存储数据,反正LAZ里面现在基本都支持UTF8了.
这是FIREBIRD的中文社区 估计你应该也有了
http://www.firebird.net.cn/main.asp
FIREBIRD中国还是少人用啊,现在好象还越来越少.
楼主果然是臺湾人,我看你满篇都是繁体 字.最就想問你是否臺湾同胞了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-8-28 11:52:07 | 显示全部楼层
在LAZ下可用的数据库还是挺多的, 还有很多开源的数据库可用不一定死抱著MYSQL.
我就是看到MYSQL的许可协议才一直没兴趣去学他,虽然他的中文资料是最多的.
一直都在关注FIREBIRD,但FIRBIRD对中文支持不太好,繁体没试过,但简体中文就不太友好.建议用FIREBIRD的话统一用 UFT8编码去存储数据,反正LAZ里面现在基本都支持UTF8了.

这是FIREBIRD的中文社区 估计你应该也有了
http://www.firebird.net.cn/main.asp
FIREBIRD中国还是少人用啊,现在好象还越来越少.
楼主果然是臺湾人,我看你满篇都是繁体 字.最就想問你是否臺湾同胞了
我感覺臺湾比大陆這邊還多人用LAZ啊,最初是臺湾同胞在LAZ的WIKI上先做翻譯的.
歡迎你常来,多多交流.

PS:猫大我按回复,怎么页面没刷新,就贴上去了??是我浏览器了? 你幫手删了上一楼吧.复重了.
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-8-28 13:29:02 | 显示全部楼层
小弟 FIREBIRD 只是剛接觸怎麼安裝, 順便把安裝過程遇到的問題記錄下來, 這樣手邊又多了一篇技術文章, 這樣可以幫住別人不要走重覆的冤枉路 (尤其是 Linux 版, 對文檔的權限及路徑都有嚴格的規定, 對第一次接觸的人容易造成困擾)
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-7-1 20:08 , Processed in 0.026481 second(s), 7 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表