如何根据别名获得路径??????????????????????(20分)

  • 主题发起人 主题发起人 Johnqiu
  • 开始时间 开始时间
J

Johnqiu

Unregistered / Unconfirmed
GUEST, unregistred user!
我找到一种方法如下:
下面这段程序, 可以查出某一个 Alias 的目录,不妨可以参考看看:
// Delphi 1.0 取得 Alias 的实际路径
// uses DB, DBTables, DBConsts, DbiTypes, DbiProcs, DbiErrs;
function GetAliasPath(const sAliasName: string): string;
var
szName: array[0..100] of char;
Desc: DBDesc;
wResult: DBIResult;
begin
Result := '';
StrPLCopy(szName, sAliasName, High(szName));
wResult := DbiGetDatabaseDesc(szName, @Desc);
if wResult = DBIERR_NONE then
Result := StrPas(Desc.szPhyName);
end;
但是不知道为什么不行,我查过帮助,好象没有什么错误
但是返回值是空的,不知道为什么
是否别名对大小写敏感?但是好象大小写都一样都不行??
不知道那位知道为什么??
 
下面给你一个读paradox别名所在路径的例子,需要在有Tquery或TTable控件的窗体中执行.
procedure TForm1.Button1Click(Sender: TObject);
var
AParams: TStringList;
sDir: string;
begin
begin
try
AParams := TStringList.Create;
Session.GetAliasParams('DBDEMOS',AParams);
sDir := Copy(AParams.Strings[0],6,255);//获得别名DBDEMOS所指的路径
SHOWMESSAGE(sDir);
finally
AParams.Free;
end;
end;
end;
 
接受答案了.
 
后退
顶部