闲来无事,写了个解释全部的BDECODE的全程

madyak 2002-07-23 11:34:29
unit BaseBDECode;
{
闲着没事写程序,可能会有用

全部的BDE代码解释

完成日期:

2002.07.23
}
interface

uses
SysUtils;

type
TBDECodeDescrip = record
Code: Cardinal;
Descrip: string;
end;
TBDECode = class
private
FCode: Cardinal;
FBDECodeDescrip: array[1..737] of TBDECodeDescrip;
procedure SetCode(Value: Cardinal);
procedure SetCodHex(Value: string);
function GetDescrip: string;
function GetHexCode: string;
protected

public
constructor Create;
published
property Code: Cardinal read FCode write SetCode;
property HexCode: string read GetHexCode write SetCodHex;
property Descrip: string read GetDescrip;
end;

implementation

function TBDECode.GetHexCode: string;
begin
Result := IntToHex(FCode, 4)
end;

procedure TBDECode.SetCode(Value: Cardinal);
begin
FCode := Value;
end;

procedure TBDECode.SetCodHex(Value: string);
begin
FCode := StrToIntDef('$' + Value, 0);
end;

function TBDECode.GetDescrip: string;
var
B, E, M: word;
begin
B := low(FBDECodeDescrip);
E := high(FBDECodeDescrip);
M := (B + E) div 2;
while (FCode <> FBDECodeDescrip[M].Code) and (B <= E) do
begin
if FCode > FBDECodeDescrip[M].Code then
begin
B := M+1;
M := (B + E) div 2;
end else
begin
E := M-1;
M := (B + E) div 2;
end;
end;
if FCode = FBDECodeDescrip[M].Code then
Result := FBDECodeDescrip[M].Descrip
else begin
if B > E then
Result := '未知代码'
else
Result := '错误!请检查程序:TBDECode.SetDescrip';
end;

end;
constructor TBDECode.Create;
begin
inherited Create;
FBDECodeDescrip[1].Code := 0;
FBDECodeDescrip[1].Descrip := '成功';
FBDECodeDescrip[2].Code := 33;
FBDECodeDescrip[2].Descrip := '系统错误';
FBDECodeDescrip[3].Code := 34;
FBDECodeDescrip[3].Descrip := '感兴趣的对象未找到';
FBDECodeDescrip[4].Code := 35;
FBDECodeDescrip[4].Descrip := '物理数据损坏';
FBDECodeDescrip[5].Code := 36;
FBDECodeDescrip[5].Descrip := 'I/O相关错误';
FBDECodeDescrip[6].Code := 37;
FBDECodeDescrip[6].Descrip := '资源或限定错误';
FBDECodeDescrip[7].Code := 38;
FBDECodeDescrip[7].Descrip := '数据完整性违例';
FBDECodeDescrip[8].Code := 39;
FBDECodeDescrip[8].Descrip := '非法的请求';
FBDECodeDescrip[9].Code := 40;
FBDECodeDescrip[9].Descrip := '锁定违例';
FBDECodeDescrip[10].Code := 41;
FBDECodeDescrip[10].Descrip := '访问/安全违例';
FBDECodeDescrip[11].Code := 42;
FBDECodeDescrip[11].Descrip := '非法的环境';
FBDECodeDescrip[12].Code := 43;
FBDECodeDescrip[12].Descrip := '操作系统错误';
FBDECodeDescrip[13].Code := 44;
FBDECodeDescrip[13].Descrip := '网络错误';
FBDECodeDescrip[14].Code := 45;
FBDECodeDescrip[14].Descrip := '可选的参数';
FBDECodeDescrip[15].Code := 46;
FBDECodeDescrip[15].Descrip := '查询处理器';
FBDECodeDescrip[16].Code := 47;
FBDECodeDescrip[16].Descrip := '版本不匹配';
FBDECodeDescrip[17].Code := 48;
FBDECodeDescrip[17].Descrip := '不支持的能力';
FBDECodeDescrip[18].Code := 49;
FBDECodeDescrip[18].Descrip := '系统本配置错误';
FBDECodeDescrip[19].Code := 50;
FBDECodeDescrip[19].Descrip := '警告';
FBDECodeDescrip[20].Code := 51;
FBDECodeDescrip[20].Descrip := '杂项';
FBDECodeDescrip[21].Code := 52;
FBDECodeDescrip[21].Descrip := '兼容性错误';
FBDECodeDescrip[22].Code := 62;
FBDECodeDescrip[22].Descrip := '驱动程序规范错误';
FBDECodeDescrip[23].Code := 63;
FBDECodeDescrip[23].Descrip := '内部符号';
FBDECodeDescrip[24].Code := 256;
FBDECodeDescrip[24].Descrip := '违反主键';
FBDECodeDescrip[25].Code := 257;
FBDECodeDescrip[25].Descrip := '问题';
FBDECodeDescrip[26].Code := 258;
FBDECodeDescrip[26].Descrip := '已改变';
FBDECodeDescrip[27].Code := 512;
FBDECodeDescrip[27].Descrip := '产品索引文件丢失、损坏或无法识别';
FBDECodeDescrip[28].Code := 513;
FBDECodeDescrip[28].Descrip := '以只读打开';
FBDECodeDescrip[29].Code := 514;
FBDECodeDescrip[29].Descrip := '以只读模式打开一个表';
FBDECodeDescrip[30].Code := 515;
FBDECodeDescrip[30].Descrip := '打开并分离';
FBDECodeDescrip[31].Code := 516;
FBDECodeDescrip[31].Descrip := '打开一个表并分离出产品索引文件';
.
.
.
FBDECodeDescrip[723].Descrip := '字典交换文件已坏';
FBDECodeDescrip[724].Code := 13589;
FBDECodeDescrip[724].Descrip := '字典交换文件版本不匹配';
FBDECodeDescrip[725].Code := 13590;
FBDECodeDescrip[725].Descrip := '字典对象类型不匹配';
FBDECodeDescrip[726].Code := 13591;
FBDECodeDescrip[726].Descrip := '对象已存在于目标字典中';
FBDECodeDescrip[727].Code := 13592;
FBDECodeDescrip[727].Descrip := '无法访问数据字典';
FBDECodeDescrip[728].Code := 13593;
FBDECodeDescrip[728].Descrip := '无法创建数据字典';
FBDECodeDescrip[729].Code := 13594;
FBDECodeDescrip[729].Descrip := '无法打开数据库';
FBDECodeDescrip[730].Code := 15873;
FBDECodeDescrip[730].Descrip := '错误的驱动程序名称';
FBDECodeDescrip[731].Code := 15874;
FBDECodeDescrip[731].Descrip := '错误的系统版本';
FBDECodeDescrip[732].Code := 15875;
FBDECodeDescrip[732].Descrip := '错误的驱动程序版本';
FBDECodeDescrip[733].Code := 15876;
FBDECodeDescrip[733].Descrip := '错误的驱动程序类型';
FBDECodeDescrip[734].Code := 15877;
FBDECodeDescrip[734].Descrip := '无法调入驱动程序';
FBDECodeDescrip[735].Code := 15878;
FBDECodeDescrip[735].Descrip := '无法调入语言驱动程序';
FBDECodeDescrip[736].Code := 15879;
FBDECodeDescrip[736].Descrip := '供应者初始化失败';
FBDECodeDescrip[737].Code := 15880;
FBDECodeDescrip[737].Descrip := '应用程序无法使用这个驱动程序';
end;

end.
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnsonrao 2002-07-24
  • 打赏
  • 举报
回复
SC
madyak 2002-07-24
  • 打赏
  • 举报
回复
谢谢renyubest(小鱼儿)的建议!我也有扩充的想法!
wjlsmail 2002-07-24
  • 打赏
  • 举报
回复
thanks:)
shangshang 2002-07-24
  • 打赏
  • 举报
回复
感谢
renyubest 2002-07-24
  • 打赏
  • 举报
回复
不错,我觉得要用写好数据库,快速、稳定,我参照了很多PB的数据窗和事务技术,使用了很多基本类,你这个类扩充空间很大,不要只处理一些基本的错误代码和信息,继续增加更多的数据库操作、感知等功能进去,会很有用的,我制作的版本是ADO的,未制作BDE的
luoweicaisd 2002-07-23
  • 打赏
  • 举报
回复
good

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧