CODE:#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define WS_BORDER 8388608
#define ES_NUMBER 8192
external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
external (INT, "WritePrivateProfileString", "WritePrivateProfileStringA", "kernel32.dll");
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
string path="C:\config.ini"; // путь к файлу для загрузки/сохранения настроек
// переменные
int edit[5], static[5];
string text_static[5]={"A", "B", "C", "D", "E"} // текст статика
int A[5]={0, 0, 0, 0, 0};
createdialog(0); // создать диалог
showdialog(0, "Диалог",100, 0, 300, 300, 4, 1); // показать диалог
loop()
{
// это можно убрать
textbkcolor(255, 65280);
textout(0, 0, 0, "A: "+format(A[0]), 1);
textout(1, 0, 20, "B: "+format(A[1]), 1);
textout(2, 0, 40, "C: "+format(A[2]), 1);
textout(3, 0, 60, "D: "+format(A[3]), 1);
textout(4, 0, 80, "E: "+format(A[4]), 1);
////////
// тут скрипт
sleep(100);
}
end:;
function getmessage(0, WM_CREATE)
{
for(int i=0; i<sizearray(edit); i++)
{
edit[i]=CreateWindow(0, "EDIT", "0", WS_VISIBLE | WS_CHILD | WS_BORDER | ES_NUMBER, 35, 8+25*i, 30, 20, gethwnd(0), 0, 0, 0);
static[i]=CreateWindow(0, "STATIC", text_static[i], WS_VISIBLE | WS_CHILD, 10, 10+25*i, 20, 20, gethwnd(0), 0, 0, 0);
}
if(fopen(path, "r")) // если файл настроек существует
{
fclose();
load_config(); // // вызов функции, котороая загрузит настройки из ini файла
}
}
function getmessage(0, WM_COMMAND)
{
char c[256];
for(int i=0; i<sizearray(edit); i++) // цикл
{
if(message.lparam == edit[i]) // если был изменён edit
{
GetWindowText(edit[i], address (#c[0]), sizearray(c)); // получить текст
A[i]=formatsn(format(#c[0])); // присвоить переменной
return;
}
}
}
function getmessage(0, WM_CLOSE)
{
save_config(); // вызов функции, котороая сохранить настройки в ini файл
goto global end; // выход из скрипта, можно заменить на close(); чтобы закрыть кибор
}
function load_config() // функция для загрузки настроек
{
char c[256];
for(int i=0; i<sizearray(edit); i++)
{
GetPrivateProfileString ("Default", text_static[i], 0, address (#c[0]), sizearray(c), path); // получить значение из ini
SetWindowText(edit[i], format(#c[0])); // установить текст в edit
}
}
function save_config() // функция для сохранения настроек
{
char c[256];
for(int i=0; i<sizearray(edit); i++)
{
GetWindowText(edit[i], address (#c[0]), sizearray(c)); // получить текст edit
WritePrivateProfileString ("Default", text_static[i], format(#c[0]), path); // записать значение в ini
}
}