Please enable JavaScript to view this site.

» Нет разделов более высокого уровня «

ksAddFragmentToLibrary - Пример использования

Scroll

char libName[250];

char buf [250];

//выберем библиотеку фрагментов

if (ChoiceFile("*.lfr","Библиотеки фрагментов(*.lfr)|*.lfr|Все файлы (*.*)|*.*|", libName, 128))

{

RequestInfo info;

memset(&info, 0, sizeof(info));

info.commands = "!Новый_фрагмент !Редактировать_фрагмент !Удалить_фрагмент ";

int j;

int typeEdit;

string nameFrg;

do

{

j = CommandWindow(&info);

switch (j)

{

case 1: //!Новый_фрагмент

 

if (ReadString("Введите имя нового фрагмента", // строка приглашения

buf, //возвращаемая строка

250)) // допустимая длина

// строки

{

nameFrg = libName;

if (buf[0] != '|')

nameFrg = "|";

nameFrg = buf;

typeEdit = 2; //запустить на редактирование

}

else

typeEdit = 0;

break;

 

case 2: //Редактировать_фрагмент

 

case 3: //Удалить_фрагмент

 

//выберем имя файла фрагмента

if ((j == 2 || j == 3) && ksChoiceFragmentFromLib(libName, buf, 250)!=0)

{

nameFrg = buf;

typeEdit = j; // 2- запустить на редактирование, 3-удалить

}

else

typeEdit = 0;

 

break;

}

if (j > 0 && typeEdit)

{

if (::ksFragmentLibrary((char*)nameFrg.c_str(), typeEdit))

{

if (typeEdit == 2)

{

::ksFragmentLibrary ((char *)nameFrg.c_str(), 4);

//минимизировать окно библиотекаря

//редактируем фрагмент из библиотеки

Text (0, 100, //точка привязки текста

0, //угол наклона текста

5, //высота текста

1, //сужение текста

0, //свойства строки

"Редактируем фрагмент из библиотеки"); //строка символов

 

LineSeg (0, 100, 110, 100, 1);

//редактируем фрагмент в интерактивном режиме

//после выбора в меню "Сервис" команды

//"Закончить редактирование фрагмента",

//возвращаемся в библиотеку

::SystemControlStart("Закончить редактирование фрагмента");

::ksFragmentLibrary((char *)nameFrg.c_str(), 0); //закрыть

//c сохранением

}

}

else

MessageBoxResult();

}

}

while (j != -1);

}

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78