绿色单机数据库软件怎样做?(100分)

  • 主题发起人 主题发起人 flyat
  • 开始时间 开始时间
F

flyat

Unregistered / Unconfirmed
GUEST, unregistred user!
绿色单机数据库软件怎样做?我是新手,请详细点。
 
何谓“绿色”?
 
给我上上课,什么叫 绿色单机数据库
 
就是可以自由移动和删除,不用安装程序的用数据库做出来的软件吧,好象是这个意思。
 
[blue]我觉得的绿色软件是:当程序不用时,可以直接删除,不会在机子上留下没用的*.dll、
*.ini等拉圾文件,并且不会在注册表中留下些东东。[/blue]
[purple]以上是我的观点!不知对否?!!??[/purple]
 
根据你的定义,
其实DELPHI做的程序基本是“绿”的。
其安装之后,主要会留下两种DLL,
一、VCL runtime packages,你只要在项目对话框中不选Build with runtime packages就没有。
二、BDE,
办法1:在做安装盘时,使用部分包含BDE,将BDE和你所有别名作为项目私有的,安装后
所有的DLL会在你的应用目录下。
办法2:在做安装盘时,直接指定BDE安装到应用目录下,要删一起删。
办法3:使用不需要BDE的控件访问数据库
 
:),所以我才选了Delphi!
 
受益菲潜
 
我明白您的意思,我一向也是推崇和使用所谓“绿色”。
1。使用ADO.
2。connectionstring中数据库路径使用函数取得。
 
powersun说得对
 
对呵!

看了ADO的优点后我就不用BDE了
 
1、使用ADO连接数据库
2、用桌面型数据库如:Access,dbf等
只要将可执行文件和数据库拷贝到其他机器上即可直接使用,要删除时只要将这两个文件
删除即可。
 
用ado +access想不绿色都难
 
1、生成当前程序的路径: MainDir:=ExtractFileDir(Application.Exename);
2、不写注册表;
3、如下生成自己的配置文件:
procedure GlobalStartIni;
var
IniFile: TIniFile;
begin
MainDir:=ExtractFileDir(Application.Exename);

IniFile:=TIniFile.Create(MainDir+'/Config.ini');
try
if not FileExists(MainDir+'/Config.ini') then
begin
MainForm.Top:=1;
MainForm.Left:=1;
MainForm.Height:=450;
MainForm.Width:=636;

iProjectOrder:=0;
iAutoSaveTime:=5;
boolAutoOpenItemCostForm:= true;

boolPrintProjectChief:= true;
boolPrintEditChief:= true;
boolPrintEditAssessor:= true;
boolPrintEditor:= true;

IniFile.WriteInteger('MainForm','WindowStateMax',0);
IniFile.WriteInteger('MainForm','Top',1);
IniFile.WriteInteger('MainForm','left',1);
IniFile.WriteInteger('MainForm','Height',450);
IniFile.WriteInteger('MainForm','Width',636);

IniFile.WriteInteger('Commond','ProjectOrder',0);
IniFile.WriteInteger('Commond','AutoSaveTime',5);
IniFile.WriteBool('Commond','AutoOpenItemCostForm',true);

IniFile.WriteBool('Print','PrintProjectChief',true);
IniFile.WriteBool('Print','PrintEditChief',true);
IniFile.WriteBool('Print','PrintEditAssessor',true);
IniFile.WriteBool('Print','PrintEditor',true);
end
else begin
if IniFile.ReadInteger('MainForm','WindowStateMax',1)=0 then
begin
MainForm.Top:=IniFile.ReadInteger('MainForm','Top',1);
MainForm.Left:=IniFile.ReadInteger('MainForm','left',1);
MainForm.Height:=IniFile.ReadInteger('MainForm','Height',450);
MainForm.Width:=IniFile.ReadInteger('MainForm','Width',636);
end
else begin
MainForm.WindowState:= wsMaximized;
end;
iProjectOrder:=IniFile.ReadInteger('Commond','ProjectOrder',0);
iFont:=IniFile.ReadInteger('Commond','Font',1);
iAutoSaveTime:=IniFile.ReadInteger('Commond','AutoSaveTime',5);
boolAutoOpenItemCostForm:=IniFile.ReadBool('Commond','AutoOpenItemCostForm',True);

boolPrintProjectChief:= IniFile.ReadBool('Print', 'PrintProjectChief', true);
boolPrintEditChief:= IniFile.ReadBool('Print', 'PrintEditChief', true);
boolPrintEditAssessor:= IniFile.ReadBool('Print', 'PrintEditAssessor', true);
boolPrintEditor:= IniFile.ReadBool('Print', 'PrintEditor', true);
end;
finally
IniFile.Free;
end;
end;

 
对于小型的单机版数据库我通常用PARADOX
首先用extractfilepath()获得程序运行目录;
创建目录的方式创建数据库createdirectory()
在程序中用SQL动态创建数据库表;
然后......不用我说了吧:)
这样生成的数据库程序可以做成单文件。
绝对绿色!!
有问题告诉我
email:mcs_51@163.com
oicq:18558858
 
用ADO,数据库用ACCESS!
参看左轻侯写的一个大富翁离线浏览器2.1,带源码,但用到了DIMOND ACCESS控件!
 
用dDBISAM吧,可以动态创建数据库,且慢不用任何附加档,我做了好几个类似问似的
软件,很好用! 组件可以去www.inprises.com去down!
 
用ADO+ACCESS,很方便了
 
1.用Ado+Access(推荐)
2.用wise整体打包,用户不会知道的;)
(反正酒吧里的垃圾也不少,不在乎多你的那几个)
3.用第三方的数据访问控件,编译后不管95、98、Me...都没问题,但性能不是最佳
,网上多的是,给你个网址瞧瞧去。
http://www.inprises.com/control/index.htm
http://www.pchome.net/dl/delphi.htm
 
ado+access是绿色环保的选择
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部