主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

向下

BDE中的语言驱动程序 找到类似的分支


Андрей Брусов   (2002-04-04 09:13) [0]

大家好! 告诉我如何以编程方式更改BDE中的语言驱动程序。 或者如何使用适当的语言立即在新计算机上安装BDE,例如:dBASE RUS cp 866,否则默认情况下会阻止ANSII。 这样客户端就不必配置BDE本身。
第二,如何配置数据库桌面,以便而不是abracadabra有一个俄语字母,我没有尝试,没有任何帮助。 提前谢谢。



deleon   (2002-04-04 09:50) [1]

在这种情况下,TBDEConfig组件非常有用,它允许您在运行时配置BDE管理员提供的任何BDE参数。 你可以在这里拿到它:
http://www.dbwork.kuban.ru/download/degisydb.zip



Mike S   (2002-04-04 09:59) [2]

List.Values [“LANGDRIVER”]:=“Pdox ANSI Cyrillic”;
Session.ModifyAlias(AliasName,List);



deleon   (2002-04-04 10:08) [3]

而且,尝试而不是数据库桌面 - >数据库工作室,功能远远高于第一个,编码没有问题!
http://www.dbwork.kuban.ru



Андрей Брусов   (2002-04-04 11:10) [4]

下载组件。 我无法安装。 找不到扩展名为.inc的文件
没有其他办法吗? 我不使用BDE别名。



sniknik   (2002-04-04 11:23) [5]

除了BDE中的设置外,表中的驱动程序还会尝试更改它。

procedure ChangeLangDriver(DatabaseName,TableName,LDName:string);
VAR
TblExt:string;
数据库:TDatabase;
TblDesc:CRTblDesc;
OptDesc:FLDDesc;
OptData:Char的数组[0..250];
Cur:hDBICur;
Rec:CFGDesc;
开始
if(TableName =“”)或(LDName =“”)然后引发Exception.Create(“Unknown TableName or LDName”);
Database:= Session.OpenDatabase(DatabaseName);
尝试
如果Database.IsSQLBased然后引发Exception.Create(“函数ChangeLangDriver仅适用于dBase或Paradox表”);
FillChar(OptDesc,SizeOf(OptDesc),#0);
FillChar(TblDesc,SizeOf(TblDesc),#0);
StrCopy(OptDesc.szName,“LANGDRIVER”);
OptDesc.iLen:=长度(LDName)+ 1;
用TblDesc开始吧
StrPCopy(szTblName,TableName);
TblExt:= UpperCase(ExtractFileExt(TableName));
如果TblExt =“DBF”则StrCopy(szTblType,szDbase)
否则如果TblExt =“。DB”则StrCopy(szTblType,szParadox)
其他的开始
AnsiToOEM(StrPCopy(OptData,DatabaseName),OptData);
如果DbiOpenCfgInfoList(nil,dbiREADONLY,cfgPersistent,StrPCopy(OptData,“\ DATABASES \”+ StrPas(OptData)+“\ DB INFO \”),Cur)<> DBIERR_NONE
然后引发Exception.Create(“未知表类型”);
尝试
而DbiGetNextRecord(Cur,dbiNOLOCK,@ Rec,nil)<> DBIERR_EOF
如果StrComp(Rec.szNodeName,“DEFAULT DRIVER”)= 0则开始
StrCopy(szTblType,Rec.szValue);
打破;
结束;
最后
检查(DbiCloseCursor(Cur));
结束;
结束;
iOptParams:= 1;
pfldOptParams:= @ OptDesc;
pOptData:= @ OptData;
结束;
StrPCopy(OptData,LDName);
检查(DbiDoRestructure(Database.Handle,1,@ TBlDesc,nil,nil,nil,False));
最后
Session.CloseDatabase(数据库);
结束;
结束;

通话
ChangeLangDriver(“D:\”,“CASH005.DB”,“cyrr”);
对于dbf
ChangeLangDriver(“D:\”,“CASH005.DBF”,“db866ru0”);



deleon   (2002-04-04 11:57) [6]

10000道歉!!!
匆忙我忘了把它包括在DegisyDb.inc包里
现在一切都井然有序:
http://www.dbwork.kuban.ru/download/degisydb.zip



Андрей Брусов   (2002-04-04 16:01) [7]

感谢您安装的组件。 使用BDEConfig,一切都很好,但由于某种原因,BDEInfo.UpdateInfo不起作用。 怎么回事?



deleon   (2002-04-04 16:04) [8]

我现在要检查,它在设计时或运行时不起作用,
也许从之前的更新没有任何改变,所以它似乎不起作用?



deleon   (2002-04-04 16:08) [9]

更新信息有效,只有这种情况在不知不觉中发生,因为会话数,用户数等可能没有改变。



Андрей Брусов   (2002-04-04 16:10) [10]

我将所有驱动程序更改为“acsii”,Update仍然发出RUS866。 在这两个阶段。
这是代码,看看:

BdeInfo1.UpdateInfo;
如果BdeInfo1.LangDriver <>“dBASE RUS cp866”那么
BdeConfig1.Execute;



deleon   (2002-04-04 16:18) [11]

BdeInfo返回初始化BDE本身的语言,而不是特定的驱动程序(Paradox,dBase);为了更改默认的BDE语言,您需要使用其他语言重新初始化它。 实际上langdriver bde不会影响任何东西! 重要的是langdriver是访问数据库的驱动程序! 在您的情况下,BDEConfig设置驱动程序访问dBase表的语言,以确保它正确安装,您可以使用BDE管理员查看所需的分支。 一切正常,祝你好运!



deleon   (2002-04-04 16:20) [12]

可能是时候坐下来写关于BDE工作的文章了,虽然BDE正逐渐失去ADO :)))



Андрей Брусов   (2002-04-04 16:26) [13]

是的,我意识到Info从SYSTEM / INIT部分获取信息,但是我们如何以编程方式确定访问DBMS的驱动程序。 当然,每次启动程序时都可以运行BDEConfig,但为什么如果你可以执行一次,然后检查驱动程序呢?
一般来说,很酷的事情,再次感谢。



Lusha   (2002-04-04 16:37) [14]

>代顿
> ...... BDE慢慢失去了ADO

哦,是否



deleon   (2002-04-04 16:42) [15]

所以你需要在这个线程中一劳永逸地安装dBase的驱动程序:
\ DRIVERS \ DBASE \ INIT \ LANGDRIVER = db866ru0



Андрей Брусов   (2002-04-05 09:19) [16]

去年的消息。
您好! 当您在另一台计算机上运行该应用程序时,会显示一条消息,说明是否需要使用库DegisyDb6.bpl
它应该包含在配送工具包中吗? 或者怎么样?



deleon   (2002-04-05 09:37) [17]

不,没有必要! 查看项目的属性,是不是值得勾选使用包? 现在我自己会检查一切:)))



deleon   (2002-04-05 09:40) [18]

发现错误:
您需要进入包选项并设置属性:
仅限设计时间,并根据需要重建。
并重新编译包,它应该赚取所有东西,我现在将更新下载。 谢谢:)))



Андрей Брусов   (2002-04-05 09:55) [19]

然后另一个问题,也许它与前一个有关,我不知道。 通常,在使用Windows XP的计算机上,应用程序在启动时需要rtl60,我不记得扩展名。 看看是否可能。



deleon   (2002-04-05 10:00) [20]

不幸的是,没有Windows XP ...但我认为这都是来自上一首歌,顺便说一下,我更新了下载DegisyDb。



Андрей Брусов   (2002-04-05 12:08) [21]

不,不是其中之一。 问题是这个。 如果我在没有DegisyDb6.dcp的情况下构建我的项目(我不检查选项并且不在那里添加包),那么在编译应用程序时,Delphi找不到BdeConfig.dcu,如果我使用一个DegisyDb6构建包,那么当应用程序启动时,请求rtl60.bll ,虽然它与您的组件无关。 怎么做



deleon   (2002-04-05 12:27) [22]

注册库的路径,因为文件BdeConfig.pas是!



Андрей Брусов   (2002-04-05 12:52) [23]

是的,没有必要杀死其他人的来源。 安装组件时,一切都可以简单地* .dcu复制到一些可访问的Delphic目录中。 Delphi在哪里存储* .dcu? 为了不连接其他包。 还是不可能?



Андрей Брусов   (2002-04-05 13:07) [24]

事实证明,事实证明。 我将bdeConfig.dcu复制到LIB目录,一切正常。 听着,也许我从错误的地方安装了组件,也许在安装之前整个包应该放在某个地方? 我以前从来没有过一次,我用自己拥有的东西来管理。



deleon   (2002-04-05 13:58) [25]

我这样做:
Delphi路径:C:\ Delphi6 \ Delphi6 \ Bin ...
左侧组件的路径:C:\ Delphi6 \ Adds \ ...
在这里复制文件DegisyDb:
C:\ Delphi6 \ Adds \ DegisyDb \
然后我编译并安装包DegisyDb.dpk
然后我在设置中规定了库的路径:
C:\ Delphi6 \ Adds \ DegisyDb \
-----------------------------------
一切正常:)))
而且我不建议你把别人dcu复制到Lib,这将是一团糟:)))



Андрей Брусов   (2002-04-06 09:08) [26]

他做到了。 一切正常,非常感谢。 祝你好运。



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

楼上





内存:0.64 MB
时间:0.048 c
1-80911
kopachev
2002-04-15 12:11
2002.04.25
StringGrid中的文本


1-80892
OldGirstaris
2002-04-14 14:13
2002.04.25
这些功能会在Win2000和WinXP中运行吗?


4-81107
恶魔[DZ]
2002-02-20 15:00
2002.04.25
组件包


1-80873
LazorenkoX
2002-04-11 11:58
2002.04.25
控制台中的俄语


3-80819
大豆 -
2002-04-05 14:13
2002.04.25
基本悖论





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский