登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [delphi]Lazarus开发使用SQLite的WinCE     [回主站]     [分站链接]
标题
[delphi]Lazarus开发使用SQLite的WinCE
clq
浏览(0) + 2010-04-13 10:39:10 发表 编辑

关键字:

[delphi]Lazarus开发使用SQLite的WinCE [zt]

来自 http://www.gdsoft.net/viewthread.php?tid=34

clq
2010-4-13 10:39:32 发表 编辑

Lazarus开发使用SQLite的WinCE

Lazarus开发使用SQLite的WinCE
SQLite是一个开源的小型数据库,它可以在WinCE上正常工作,本文讲述的,就是如何在WinCE开发中使用它。
首先,我们需要相关的开发工具,SQLite没有可视化的管理工具,它提供了一个命令行下的工具,用于创建数据库。下载了SQLite3后,会找到 SQlite3.exe和SQlite3.dll,其中EXE就是命令行工具了。

我们用命令来建立一个测试用的数据库,如下:
sqlite3 myTest.db
create table Demo(uid integer, uname varchar(50));
insert into Demo values(1,'a');
insert into Demo values(2,'b');
insert into Demo values(3,'c');
.quit


这时就能看到在sqlite3.exe相同的目录下,生成了myTest.db这个文件,当然了,里面包含了一个名为Demo的表,要查询表中内容可以用 以下语句
sqlite3 myTest.db
select * from Demo;
.quit


以上的命令是在PC上执行的,它借助了sqlite3.dll完成相应的功能,但是在Windows Mobile下,显然不能够使用PC上的dll,我们需要用源码自行编译相关的dll。

从SourceForge上下载到sqlite-ce-source 3.3.3之后,解压,然后在VC6里新建一个Library工程,把source内除了tclsqlite.c外,所有的文件添加到这个工程内,编译工 程。编译后即生成sqlite3.dll,这个dll可以放到Windows Mobile下使用了。


我使用的是VC6来编译sqlite3.dll,您也可以用C++Builder,DEV C++,或是Visual Studio 2008内的VC++.NET来编译这个dll,编译的效果是一样的。


建好了数据库之后,就要进行程序的开发了,我在此选择Lazarus进行开发。当然了,如果你喜欢用C++,Java或C#进行开发,也是一样的, 用.NET或Java语言开发时,需要多下载一个对应的Wrapper,用原生语言开发则不需要多下载东西。

为了使程序体积更小,我们需要使用KOLCE,关于KOLCE的使用,请去以下帖子:点击进入

假设您已经会使用lazarus和KOLCE,那么下面就开始进行开发了。我们会碰到一个小小的问题,就是lazarus自带的DB Connection不支持SQLite。这时我们需要借助一套第三方的控件,那就是Zeos DBO。
ZeosDBO 是使用Delphi开发的一套强劲的数据操作控件,它也有Lazarus相关的版本,您可以从SourceForge上获得它,它是免费且开源的。

根据Zeos DBO的文档所述,在要Lazarus上安装只需要编译并安装ZComponents.lpk即可。安装时会自动安装其余的4个包,Zeos DBO的安装时间相当的久,以我电脑4核+4G内存的配置都要将近5分钟才能安装完成,安装期间lazarus会发生没有响应的现象,系统反应也相当的 慢,请不要在意,并耐心的等待。

安装Zeos DBO时,或许会发生另一个问题,如果您以前安装过KOLCE,那么会报一个KOL.o和KOL.ppu
重复存在的错误,此时需要把MCK目录下的lib目录删除,并重新编译KOLCE。

安装Zeos DBO成功后,会在控件面板上看到多出一组控件,如图所示:


下面我们可以进行真正的开发了,新建一个工程,设置窗口大小为240x320,这个分辨率是我的手机屏幕的大小,您可以跟据您的手机实际的分辨率来设置大 小。然后往窗体上拖放一个TKOLListBox,一个TZConnection,一个TZQuery。设置ZQuery的Connection属性为 ZConnection。



编写一些简单的代码来完成数据的查询和显示。


可以看到,这些代码与在Delphi中的操作非常类似。有几点需要注意:
1. KOLListBox中,Items属性是字符串,因此不能够Items.Clear,也不能够Items.Add()。能用的方法只是 ListBox.Clear和ListBox.Add。
2. SQLite的数据库必须使用完整的路径,不能使用相对路径。
3. SQLite的SQL语句最后都必须带上分号,以示这一行语句结束。


好了,现在可以编译程序了。编译成功后,我们要运行程序,以测试程序工作是否正常。此时又会碰到一个问题,就是用Windows Mobile模拟器,无法将数据库部署上去,也无法将相关的DLL部署上去。这个时候有两种解决办法,一种是使用Microsoft ActiveSync,把相关文件直接拷进模拟器,另一种就是拥有一台真实的Windows Mobile。我使用的是后一种方法。

部署需要的东西很简单,刚才开发的程序,sqlite3.dll,myTest.db,全部拷到手机里。然后执行exe文件。


到此为止,一个简单的演示程序就完成了,对于使用Delphi的开发人员来说,要上手lazarus是非常容易的,而且Zeos DBO的操作方式几乎与DBGO完全一样,这使得Delphi开发人员能无缝的过渡到Lazarus。
对于SQLite,它体积小,操作也很简单,而且数据访问速度很快,越来越多的PPC应用程序使用了它作为本地数据库。另外,SQLite的开源也使开发 人员能够更深入的了解它的本质,从而对它作出改进,以满足不同用户的不同需要。

clq
2010-4-13 10:42:15 发表 编辑

使用lazarus和KOLCE开发Windows Mobile下使用的程序
2008-07-20 10:49
本文讲述了使用KOLCE如何开发Windows Mobile下的程序。

一、安装,配置环境
由于要开发Windows Mobile的程序,因此必须安装lazarus下的WinCE编译器。如果想要编译出来的程序体积小,需要安装KolCE。下面讲一下KolCE的安装 方法。
首先打开MirrorKOLPackage.lpk,然后点击Compile,使控件编译并生成.o和.ppu文件,编译通过后,点击Install,此 时会重新编译lazarus,编译以后,用strip lazarus.exe 使exe体积变小。

二、使用KolCE
新建一个工程,在窗体上放置KOLProject,设置好projectDest后,放置KOLForm,保存工程,在工程目录下会发现一个与 projectDest名称相同的工程文件,打开它。

三、开发相关的功能
在本例中,我开发了一个可以实现字符串Base64加密解密,MD5加密的工具。
开发时注意一下程序的窗口大小,如果程序的窗口大小超过屏幕大小,那么程序的显示将会非常难看。

四、编译程序
要编译Windows Mobile下的程序,当然不能用Win32下的编译方式,我们必须对编译平台进行修改。如图所示,把目标平台修改为winCE。修改完之后就可以 Build程序了。

五、运行程序
编译后的程序当然不能在windows下运行了,我们需要用WinCE模拟器或是真实的手机来运行它。
运行效果如下:
再来手机实物照一张(真的是太模糊了。。):

六、总结
到此为止,一个简单的Windows Mobile程序就做好了,可以看到,Lazarus配合着KolCE,在手机平台上的确是非常的强劲,由于是原生的程序,它的执行速度是非常快的,并且 也不受.NET平台的制约。
附上我的开发及测试环境:
操作系统:WindowsXP SP2
开发环境:Lazarus 0.9.24Beta + KOLCE2.80
测试环境:华硕P526


总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1