DyadyaGenya
Знающий
- Сообщения
- 300
- Репутация
- 10
Доброго времени суток. Не пойму почему при чтении ключа из ini-файла, если значение содержит макрос типа @ProgramFilesDir или @DesktopDir или @ScriptDir или любой аналогичный, то при проверке FileExists() говорит, что такого пути нет. А если в ключе прописано типа: C:\Program Files (x86)\Каталог программы\Программа.exe, то все срабатывает. Хотя если не читать ini-файл, а подставлять @ProgramFilesDir & "\Каталог программы\Программа.exe", то все срабатывает.
Делаю так:
Секция в ini-файле:
Дальше получаю и перебираю следующим образом:
Делаю так:
Секция в ini-файле:
Код:
[SektionMayBePathStat]
MayBePathStat1=@DesktopDir & "\Программа.lnk"
MayBePathStat2=@ScriptDir & "\Программа.lnk"
MayBePathStat3=@DesktopCommonDir & "\Программа.lnk"
MayBePathStat4=@ProgramFilesDir & "\Каталог программы\Программа.exe"
MayBePathStat5=C:\Program Files (x86)\Каталог программы\Программа.exe
Дальше получаю и перебираю следующим образом:
Код:
Local $PathIni = @ScriptDir & "\Программа.ini"
Local $aIni = IniReadSection($PathIni, "SektionMayBePathStat")
_ArrayDisplay($aIni)
Local $a = False
For $a=False To True
If $a = False Then
For $i = 1 To UBound($aIni)-1
If FileExists($aIni[$i][1]) Then
ConsoleWrite("существует такой путь : " & $aIni[$i][1] & @CR)
$a = True
ShellExecute($aIni[$i][1])
ExitLoop
Else
ConsoleWrite("Не существует такой путь : " & $aIni[$i][1] & @CR)
EndIf
Next
Else
$path_0 = "C:"
$Mask_0 = "Программа.exe"
$aReturn = _FileSearch($path_0, $Mask_0)
ConsoleWrite("поиск проги и полученный путь : " & $aReturn[1] & @CR) ; или ShellExecute($aReturn[1])
EndIf
Next
Последнее редактирование: