Предлагаю добавить в графический интерфейс поле с кнопкой открыть файл (выбор пути к файлу).
Очень не хватает такой фишки, когда нужно перед запуском подгрузить сохранёные предыдущие настройки интерфейса бота.
1. dulger - 11 Февраля, 2019 - 14:47:22 - перейти к сообщению
2. Zireael - 11 Февраля, 2019 - 17:24:28 - перейти к сообщению
code (Отобразить)
CODE:
external(INT, "GetOpenFileName", "GetOpenFileNameA", "COMDLG32.DLL" );
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=21; pos_size_button0[0][1]=19; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Открыть файл";
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
showdialog(0, "Диалог", 835, 390, 255, 177, 1, 1);
char b[256]; b[0]=formatic(0);
char a[76];
for (int n=0; n<76; n++)a[n]=0;
string s="Text Files"; // тип файла (можно написать что угодно)
string s1="*.TXT"; // расширение файла
char c[100]; strcpy(#c[0], s); strcpy(#c[size(s)+1], s1); c[size(s+s1)+2]=formatic(0);
char d[256]; strcpy(#d[0], "C:\"); // начальный каталог
char e[256]; strcpy(#e[0], "Сохранить файл"); // заголовок диалога
writeaddress(76, address(#a[0]));
writeaddress(address(#c[0]), address(#a[12])); // тип файла
writeaddress(address(#b[0]), address(#a[28])); // сюда сохранится путь
writeaddress(sizearray(b), address(#a[32])); // размер буфера
writeaddress(address(#d[0]), address(#a[44])); // начальный каталог
writeaddress(address(#e[0]), address(#a[48])); // заголовок диалога
enabletimer(0);
loop()sleep(10);
CREATE_TIMER(0, 300)
{
if(flag_button0[0])
{
flag_button0[0]=0;
if(GetOpenFileName(address(#a[0])))messagebox(format(#b[0]));
else messagebox("Ничего не выбрано");
}
}
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=21; pos_size_button0[0][1]=19; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Открыть файл";
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
showdialog(0, "Диалог", 835, 390, 255, 177, 1, 1);
char b[256]; b[0]=formatic(0);
char a[76];
for (int n=0; n<76; n++)a[n]=0;
string s="Text Files"; // тип файла (можно написать что угодно)
string s1="*.TXT"; // расширение файла
char c[100]; strcpy(#c[0], s); strcpy(#c[size(s)+1], s1); c[size(s+s1)+2]=formatic(0);
char d[256]; strcpy(#d[0], "C:\"); // начальный каталог
char e[256]; strcpy(#e[0], "Сохранить файл"); // заголовок диалога
writeaddress(76, address(#a[0]));
writeaddress(address(#c[0]), address(#a[12])); // тип файла
writeaddress(address(#b[0]), address(#a[28])); // сюда сохранится путь
writeaddress(sizearray(b), address(#a[32])); // размер буфера
writeaddress(address(#d[0]), address(#a[44])); // начальный каталог
writeaddress(address(#e[0]), address(#a[48])); // заголовок диалога
enabletimer(0);
loop()sleep(10);
CREATE_TIMER(0, 300)
{
if(flag_button0[0])
{
flag_button0[0]=0;
if(GetOpenFileName(address(#a[0])))messagebox(format(#b[0]));
else messagebox("Ничего не выбрано");
}
}