Var
s : String;
i : Integer;
b : Boolean;
Buf : PChar;
begin
With TRegistry.Create Do Try
RootKey := HKEY_LOCAL_MACHINE;
If OpenKey('SOFTWARE\Borland\InterBase\CurrentVersion', True) Then
If Not ValueExists('RootDirectory') Then
WriteString('RootDirectory', ExtractFilePath(ParamStr(0)));
Finally
Free;
End;
i := 255;
GetMem(Buf, i);
With TStringList.Create Do Try
If Win32Platform = VER_PLATFORM_WIN32_NT Then Begin
GetEnvironmentVariable(PChar('SystemRoot'), Buf, i);
s := Buf + '\System32\drivers\etc\services';
End Else Begin
GetEnvironmentVariable(PChar('WinDir'), Buf, i);
s := Buf + '\services';
End;
LoadFromFile(s);
b := True;
For i := 0 To Count-1 Do
If Copy(Strings[i], 1, 6) = 'gds_db' Then begin
b := False;
Break;
end;
If b Then Begin
Add('gds_db 3050/tcp # Borland InterBase Server');
SaveToFile(s);
End;
Finally
Free;
FreeMem(Buf);
End;