Hallo,
warum kennst du die "aktive Datenbank" nicht?
Die brauchst du doch, um die Tabelle zu öffnen.
Die Datenbank ist in
Paradox übrigens ein Verzeichnis.
Es spricht allerdings nichts dagegen,
mehrere Tabellen verschiedener Datenbanken gleichzeitig geöffnet zu haben.
Mit Table.DataBaseName bekommst du entweder den Namen des Alias
oder den des Verzeichnisses, je nachdem, was du festgelegt hast.
Falls du einen
BDE-Alias benutzt und das dahinterliegende Verzeichnis
suchst, solltest du das aber auch sagen.
Das wäre denn der folgende Code.
Delphi-Quellcode:
function GetAliasPath(
const theAlias:
String):
String;
var
AliasParams: TStringList;
sPath :
String[255];
begin
Result:= '
';
try
AliasParams:= TStringList.Create;
try
Session.GetAliasParams(theAlias, AliasParams);
if (AliasParams.Count=0)
then
begin
Exit;
end
else
begin
sPath:= UpperCase(AliasParams[0]);
Result:= Copy(sPath, 6, 255);
// 6 = lenght of the alias name
end;
finally
AliasParams.Free;
end;
except
on E:
Exception do
begin
// {$IFDEF DEBUG}
// MBDebug(sFormName+'.GetAliasPath'+#13#10+E.message);
// {$ENDIF}
end;
end;
end;
{ GetAliasPath }
DbiTypes, DbiProcs, oder gleich
BDE (?)
müssen als
Unit eingebunden werden
Heiko