teadrinker пишет:По горячей клавише сначала считывайте папку из ini, если не считалось, предлагайте выбрать.
Раз мы завели разговор про ini-файлы, моя главная проблема в том, что я пытаюсь сделать так, чтобы путь считывался из ini-файла по клавише, без использования выбором папки пользователям каждый раз при открытии скрипта.
numpad1:: ; данная клавиша будет нажата при первом открытии скрипта, далее эта клавиша будет нажиматься только в случае если пользователь захочет сменить путь
FileSelectFolder, LogPath, , 3 ; выбор папки куда будет сохраняться текстовый файл, путь будет сохраняться в переменную LogPath
IniWrite, %LogPath%, %LogPath%\path.ini, LogPath, Path ; создать ini-файл в той же папке которую выбрал пользователь, в самом ini-файле будет скопирован путь этой папки
Return
numpad2:: ; эта клавиша будет нажата в любые моменты в отличие от первой клавиши, она отвечает за сохранение текста в текстовом документе, в той папке которую указал пользователь ранее
IniRead, MyLogPath, %LogPath%\folder.ini, LogPath, Path ; чтение ini-файла и попытка вынести оттуда путь который пользователь указал
FileAppend, Log`n, %MyLogPath%\log.txt ; внести текста лога в текстовый файл используя путь из ini-файла
Return
Проблема в данной строчке:
IniRead, MyLogPath, %LogPath%\folder.ini, LogPath, Path
Из-за того что пользователь указывает путь к папке один раз, при открытие скрипта, он сохраняет его в ini-файле. После открытия скрипта повторно путь уже сохранён в ini-файле (Этот файл будет лежать в указанной папке пользователем до тех пор пока пользователь не захочет сменить путь.) и нужно обратиться к этому файлу дабы вытащить оттуда путь к этой же папке, дабы там же создать текстовый файл и вписать в него текст.
Написал как вы посоветовали:
numpad1::
IniRead, MyLogPath, %IniLogPath%\path.ini, LogPath, Path, NoFindIni
if MyLogPath = NoFindIni
{
FileSelectFolder, IniLogPath, , 3,
IniWrite, %IniLogPath%, %IniLogPath%\path.ini, LogPath, Path
}
FileAppend, Log`n, %IniLogPath%\farmlog.txt
Return
При первом открытии после нажатия клавиши предложил выбрать папку куда сохранить файл ini. Выбрал, сохранил. После закрытия скрипта и открытия его, снова мне предложил выбрать папку куда сохранить ini файл. Нужно, чтобы при втором открытии не было предложения вновь сохранить ini файл (потому что при первом открытии он уже есть и сохранён), а сразу считал ini-файл и продолжил скрипт. Либо я возможно, что-то не понимаю.