Вверх ↑
Этот топик читают: Гость
Ответов: 893
Рейтинг: 18
#1: 2009-12-28 05:28:06 ЛС | профиль | цитата
Был когдато расширенный компонент DIR , может кто поможет зделать его заново ?

Вот я две точки доделал , но никак не получу %ProgramFiles% ,возвращает пустую строку.

Посмотрите может я гдето накосячил ?

hiDir.pas


Dir.ini


карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 2code_16207.txt [2.8KB] [517], code_16208.txt [2.8KB] [528]
Ответов: 278
Рейтинг: 4
#2: 2009-12-28 07:54:08 ЛС | профиль | цитата
Byuik, здарова! Вместо ReadDirKey(_Data,'ProgramFiles'); надо написать ReadDirKey(_Data,'ProgramFilesDir');
------------ Дoбавленo в 07.57:
anyway...
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1dir_1.4.zip [2.5KB] [306]
Ответов: 294
Рейтинг: 64
#3: 2009-12-28 08:13:10 ЛС | профиль | цитата
Vanchila
И что, заработает?

Byuik
В твоем варианте, значение ProgramFilesDir ищется не там.
Оно не в HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,
а в HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion.
А ReadDirKey читает по первому адрессу.

Можно так добавить:

procedure ReadDirKey1(var _Data:TData; const name:string);
var
reg:HKey;
begin
reg:=RegKeyOpenRead(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion');
dtString(_Data,RegKeyGetStr(reg,Name) + '\');
RegKeyClose(reg);
end;

procedure THIDir._var_ProgramFilesDir;
begin
ReadDirKey1(_Data,'ProgramFilesDir');
end;
карма: 0

0
Ответов: 893
Рейтинг: 18
#4: 2009-12-29 08:45:40 ЛС | профиль | цитата
Quest, Vanchila, спасибо , разобрался и понял в чём моя ошибка , теперь я понял почему отказались от расширенного компонента.
Вопрос снят. Тему в корзину.
------------ Дoбавленo в 11.29:
Ой забыл добавить , всё решается банально

Add(Registry,3388181,574,385)
{
HKey=2
Key="SOFTWAREMicrosoftWindowsCurrentversion"
Value="ProgramFilesDir"
}



Может кому тоже пригодится...

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)