Sziasztok,
hogyan lehet lekérdezni a Firebird telepítési útvonalat Delphiben, vagy C-ben?
Firebird útvonal lekérdezése - Windows
Re: Firebird útvonal lekérdezése - Windows
A Firebird, vagy InterBase útvonal lekérdezéséhez a Registry-ben van lehetőség:
Delphi:
c#:
Delphi:
Kód: Egész kijelölése
const
FB_RegKey = '\Software\Firebird Project\Firebird Server\Instances';
FB_DefaultInstance = 'DefaultInstance';
IB_RegKey = '\Software\Borland\InterBase\CurrentVersion';
IB_RootDir = 'RootDirectory';
Regroot = 'HKEY_LOCAL_MACHINE';
function GetFirebirdRootDir : string;
begin
Result := '';
with TRegistry.Create do begin
RootKey := Regroot;
{ Firebird kulcs }
if OpenKeyReadOnly(FB_RegKey) then begin
if ValueExists(FB_DefaultInstance) then Result := ReadString(FB_DefaultInstance);
CloseKey;
end;
{ Borland/Interbase kulcs }
if Length(Result)=0 then begin
if OpenKeyReadOnly(IB_RegKey) then begin
if ValueExists(IB_RootDir) then Result := ReadString(IB_RootDir);
CloseKey;
end;
end;
Free;
end;
end;
c#:
Kód: Egész kijelölése
const string FB_RegKey = "\\Software\\Firebird Project\\Firebird Server\\Instances";
const string FB_DefaultInstance = "DefaultInstance";
const string IB_RegKey = "\\Software\\Borland\\InterBase\\CurrentVersion";
const string IB_RootDir = "RootDirectory";
const string Regroot = "HKEY_LOCAL_MACHINE";
public string GetFirebirdRootDir() {
string fbpath = Registry.GetValue(Regroot+FB_RegKey, FB_DefaultInstance, null).ToString();
if (fbpath == null) {
fbpath = Registry.GetValue(Regroot + IB_RegKey, IB_RootDir, null).ToString();
}
return fbpath;
}
Üdv.: gaborg