Добавлена директива include.
Ее назначение подключать к скрипту отдельные файлы с исходным кодом скрипта, копируя на место этой директивы код заключенный в этих файлах.
синтаксис
Цитата: #include "C:\Program Files (x86)\Kibor\liba.txt"
Вместо этой строки при обработке скрипта вставится содержимое файла C:\Program Files (x86)\Kibor\liba.txt
При этом в основном скрипте станут доступные глобальные переменные (объявленные не в функциях..) этого файла и функции.
Поэтому надо следить что бы глобальные переменные и функции не имели одинаковых названий в разных подключаемых файлах.
На метки переходов goto это не распространяется.
Например основной код такой
CODE:#include "C:\liba.txt"//подключили C:\liba.txt (в нем находится создание окна, переменная a, и функция fun)
messagebox (getcontrol(EDIT_0));//прочитали текст с edit который в том окне
messagebox (a);//вывели переменную a, которая глобальная в C:\liba.txt
messagebox (fun(75));//вызвали функцию fun и вывели результат
sendcontrol(EDIT_0, "Изменили на свой");//изменили текст в edit
сам файл C:\liba.txt
CODE:int a=52;
function fun(int p)
{
return a+p;
}
CREATE_INTERFACE
{
DIALOG "Название окна" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
EDIT_0 "Текст по умолчанию" 105 8 120 18 //ПозицияX ПозицияY РазмерX РазмерY
}
то есть при обработке скрипта он будет выглядеть так
CODE:int a=52;
function fun(int p)
{
return a+p;
}
CREATE_INTERFACE
{
DIALOG "Название окна" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
EDIT_0 "Текст по умолчанию" 105 8 120 18 //ПозицияX ПозицияY РазмерX РазмерY
}
messagebox (getcontrol(EDIT_0));//прочитали текст с edit который в том окне
messagebox (a);//вывели переменную a, которая глобальная в C:\liba.txt
messagebox (fun(75));//вызвали функцию fun и вывели результат
sendcontrol(EDIT_0, "Изменили на свой");//изменили текст в edit
содержимое файла вставляется в то место где указана директива include.
поэтому если бы мы указали ее в конце основного скрипта, то
messagebox (a); не вывел бы нам значение переменной a, так как ее присвоение было бы ниже вывода.
Где указаны функции и остальные блоки не важно.
Возможно неограниченное вложение директив include в вложенные файлы. то есть файл C:\liba.txt может содержать в себе еще include на другие файлы.
при этом в основном скрипте будут доступны функции и глобальные переменные всех файлов.
важно что бы не повторялись имена переменных и функций. метки могут повторяться. |