Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для Alexandr_7
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
RAD XE3+

Быстро прописать все пути к модулям

25.01.2020, 18:00. Показов 928. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Может кто помочь другими словами я знаю где хранится все прописанные модуля:
Вот здесь: HKEY_CURRENT_USER\Software\Embarcadero\B DS\20.0\History Lists\Library\DelphiWin32\hlLibraryPath
Вот так вот выглядит:

Но я не так чтоб сильно помню как работать в реестре в Delphi
Может кто помочь простенько это реализовать?
Получается нужно будет получить и изменить Count. И добавить новые пути.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.01.2020, 18:00
Ответы с готовыми решениями:

Использование переменных окружения Windows для задания пути к установленным модулям NodeJS
Изучаю NodeJS, проект развернул в webstorm, там я добавлял некоторые переменные в параметрах запуска ноды в enviroment variables, например...

Рекурсивно прописать пути
Здравствуйте! Что-то туплю, как прописать пути для каждого элемента дерева? Работая с БД все понятно, а тут что-то заморочился, вот...

Как правильно прописать пути к компонентам
При вставке в JBuild-ере в апплет компонента JChart- в среде все прекрасно работает. При загрузке страницы с другого компьютера появляется...

1
 Аватар для Alexandr_7
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
25.01.2020, 21:34  [ТС]
Нет. Не так. Тут для всех 5 прийдется изменять а Count можно и не трогать.

Добавлено через 7 минут
Так. Чтобы это правильно работает нужно делать insert записи в нулевую позицию. Как такой сделать в реестре кто может знает. Ну и увеличеть Count разумеется.

Добавлено через 53 минуты
Ну нукжно следующие операции сделать если делать это правилльно. Увеличить Count на 1
Дальше произвести сортировку. Тоесть к примеру item4 переместить на item5; item3 на item4 и так далее.
Нужно на item0 который был перемещен на item1 добавить свои файлы (у меня они уже будут в отдельной переменной String)
И записать это в item0
Кто знает как правильно реализовать? Это в реестре разумеется.

Добавлено через 20 минут
Ну если ориентироваться по данному уроку:
https://wdco.ru/bliYS
То вот так должно быть:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TMyThread.AddLibraryPathInRegistry;
var
  fReestr: TRegIniFile;
  CountLP, I: Integer;
begin
  if Length(fLibraryPath) <= 0 then Exit;
 
  fReestr := TRegIniFile.Create('Software\Embarcadero\BDS\20.0\History Lists\Library');
  fReestr.OpenKey('DelphiWin32',true);
  CountLP := fReestr.ReadInteger('hlLibraryPath', 'Count', 0);
  if CountLP <= 0 then
  begin
    fReestr.Free;
    Exit;
  end;
 
  CountLP := CountLP + 1;
 
  for I := CountLP - 2 downto 0 do
  begin
    fReestr.WriteString('hlLibraryPath', 'item' + IntToStr(I + 1), fReestr.ReadString('hlLibraryPath', 'item' + IntToStr(I), ''));
  end;
 
  fReestr.WriteString('hlLibraryPath', 'item0', (fReestr.ReadString('hlLibraryPath', 'item0', '') + fLibraryPath));
 
  fReestr.Free;
end;
Добавлено через 42 минуты
Нет. Естественно не работает. Ошибка на этой строке
CountLP := fReestr.ReadInteger('hlLibraryPath', 'Count', 0);

Добавлено через 11 минут
Ошибка следующая:
Delphi
1
2
3
4
5
6
7
---------------------------
Debugger Exception Notification
---------------------------
Project AddsLibraryPath.exe raised exception class ERegistryException with message 'Invalid data type for 'Count''.
---------------------------
Break   Continue   Help   
---------------------------
Добавлено через 35 минут
Понял ошибку. Нужно для таких случаев юзать TRegistry.

Добавлено через 6 минут
Такто работает но я правдо забыл что нужно обновлять Count тоже. Другое дело что данные в самой студии не обновляются. Значит это не та ветка реестра. Или сама Delphi загружает данные не из реестра

Добавлено через 18 минут
Нет. Он кокрас задает но не выбирает. Надо выбирать вручную а если строчка сильно длинная то он ее обрезает хотя если вручную добавлять то можно и очень длинным строку сделать. Значит не здесь идет чтение. Здесь просто история хранится.

Добавлено через 4 минуты
Нашел пади от куда он читает на самом деле:
HKEY_CURRENT_USER\Software\Embarcadero\B DS\20.0\Library\Win32
Параметр Search Path
Ну если при этом историю редактировать не надо то круто.

Добавлено через 10 минут
Да уж.и Все работает. Может кому и пригодится только в итоге он мне компелировать мой проект не хочет банально объявить папки поиска Pas в LP не тоже самое нежели если их объявить прям в твоем проекте. Тоесть мне нужно объявлять эти папки в проекте а не в общем месте LibraryPath
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2020, 21:34
Помогаю со студенческими работами здесь

Visual Studio 2010 - как прописать пути к баблиотекам?
Доброго времени суток, товарищи. Поставил себе vs 2010 и движок cocos. При запуске стандартной тестовой программы проекта cocos...

Как прописать пути для пакетной конвертации файлов?
Всем привет! Пытаюсь сделать батник для пакетной конвертации. Не могу разобраться с путями. Если не трудно объясните что за что отвечает,...

Как прописать пути к иконкам и другим ресурсам при работе с py2exe?
Пишу на python 2.7. Появилась необходимость создать исполняемый файл из питоновских модулей. После выполнения скрипта from...

Какие пути нужно прописать в файле конфигурации чтобы у томката был доступ к файлам
У меня подозрение что у меня не первно прописаны настройки в catalina для tomcat вот примеры нескольких строк &lt;Parameter...

Какие пути и к каким файлам прописать в окне директорий паскаля чтобы он начал работать с графикой?
Люди, подскажите плиз что за пути и к каким файлам надо прописать в окне директорий паскаля чтобы он начал роботать с графикой?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru