Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Окно выбора папки

Страниц (1): [1]
 

1. OKStyle - 19 Февраля, 2023 - 08:33:24 - перейти к сообщению
Приветствую. Сейчас пытаюсь сделать, чтобы пользователь мог загружать данные из сохраненных файлов. В файлах хранится информация для настроек поиска мобов и т.д.
В данный момент, пользователь вводит адрес файла вручную. Это очень неудобно, так как файлов с разными параметрами около 150шт.

Можно как-нибудь сделать, чтобы открывалось окошко для выбора файла (Такое окно в windows открывается, когда нужно выбрать файл т.д.)
Мне нужно тоже самое, чтобы пользователь мог просто нажать на кнопку, открывалось это окошко и пользователь просто выбрал файл.
2. Zireael - 19 Февраля, 2023 - 08:43:03 - перейти к сообщению
CODE:
external(INT, "wsprintf", "wsprintfA", "User32.dll" );
external(INT, "GetOpenFileName", "GetOpenFileNameA", "Comdlg32.dll");

string path = OpenFileName(pathfolder()); // в функцию передаётся начальный каталог
messagebox(path);


function OpenFileName(string StartPath)
{
char path[256]= {0};
char OFNA[88], Filter[100], InitialDir[256], Title[256];
initialarray(#OFNA[0], 0);
wsprintf(address(#Filter[0]), "Текстовые файлы%c*.txt%c%c", 0, 0, 0); // тип файлов
strcpy(#InitialDir[0], StartPath); // начальный каталог
strcpy(#Title[0], "Открыть файл"); // заголовок диалога
writeaddress(sizearray(OFNA), address(#OFNA[0]));
writeaddress(address(#Filter[0]), address(#OFNA[12]));
writeaddress(address(#path[0]), address(#OFNA[28]));
writeaddress(sizearray(path), address(#OFNA[32]));
writeaddress(address(#InitialDir[0]), address(#OFNA[44]));
writeaddress(address(#Title[0]), address(#OFNA[48]));
if(GetOpenFileName(address(#OFNA[0])))return format(#path[0]);
return "";
}
3. OKStyle - 19 Февраля, 2023 - 08:48:24 - перейти к сообщению
Благодарю! То что нужно было!

Powered by ExBB FM 1.0 Final