Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Расчет директории корня IDE для различных версий Delphi через ключи реестра

Delphi , Программа и Интерфейс , Инсталяция

При разработке программного обеспечения на Delphi часто возникает необходимость определения директории корня IDE для различных версий компилятора. В этой статье мы рассмотрим, как можно вычислить директорию корня IDE для различных версий Delphi с помощью ключей реестра.

Детали

Директория корня IDE для различных версий Delphi хранится в определенных ключах реестра. Для Delphi 2007, например, она находится в ключе реестра HKLM\SOFTWARE\Borland\BDS\5.0\RootDir, а для Delphi 2010 - в ключе HKLM\SOFTWARE\CodeGear\BDS\7.0\RootDir.

Но как насчет других версий Delphi? Существуют ли ключи реестра для расчета директории корня IDE для Delphi 7, Delphi 2005, Delphi 2006, Delphi 2009 и Delphi XE?

Решение

Да, существуют ключи реестра для расчета директории корня IDE для всех версий Delphi. Вот список ключей реестра для различных версий компилятора:

  • Delphi 5: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\5.0\RootDir
  • Delphi 6: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\6.0\RootDir
  • Delphi 7: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\7.0\RootDir
  • Delphi 8 (.NET-only product): HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\2.0\RootDir
  • Delphi 2005: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\3.0\RootDir
  • BDS 2006: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\4.0\RootDir
  • Delphi 2007: HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\5.0\RootDir
  • Delphi 2009: HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\6.0\RootDir
  • Delphi 2010: HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\7.0\RootDir
  • Delphi XE: HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\BDS\8.0\RootDir

Для 64-битных систем используется ключ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node вместо HKEY_LOCAL_MACHINE\SOFTWARE.

Примечание: Значения в ключах реестра копируются в HKEY_CURRENT_USER\Software\x\BDS\y.0\RootDir при первом запуске IDE каждой версии Delphi. Однако, не стоит использовать значения из HKEY_CURRENT_USER, так как они не присутствуют у пользователей, которые строят программы из скриптов и не запускают IDE (например, автоматизированные системы сборки и построение из командной строки).

Пример кода на Object Pascal (Delphi)

Если вам необходимо программно получить директорию корня IDE для текущей версии Delphi, вы можете использовать следующий код на Object Pascal (Delphi):

program GetDelphiRootDir;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  Registry;

var
  DelphiRootDir: string;
  RegKey: TRegistry;
begin
  RegKey := TRegistry.Create(KEY_READ);
  try
    RegKey.RootKey := HKEY_LOCAL_MACHINE;
    DelphiRootDir := RegKey.ReadString('Software\Embarcadero\BDS\8.0\RootDir', '');
    if DelphiRootDir = '' then
      DelphiRootDir := RegKey.ReadString('Software\Wow6432Node\Embarcadero\BDS\8.0\RootDir', '');
    Writeln('Delphi Root Directory: ', DelphiRootDir);
  finally
    RegKey.Free;
  end;
end.

Этот код создает экземпляр TRegistry и пытается прочитать значение ключа реестра для текущей версии Delphi (Delphi XE в данном случае). Если значение не найдено, код пытается прочитать значение из ключа Wow6432Node для 64-битных систем.

Создано по материалам из источника по ссылке.

Статья описывает, как определить директорию корня IDE для различных версий Delphi с помощью ключей реестра.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Инсталяция ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 11:32:15/0.0051121711730957/1