Дозвольте обговорити скрипт з теми “Бібліотека корисних скриптів” на прохання автора і дати деякі поради, з мого бачення
- код можна спростити, замінивши перші 112 рядків на наступні 20:
;Відкриваємо карту з кварталами і зонами $N=@Map.SelCount @If $N<>1 @Break Виділіть один об'єкт ;запам'ятовуємо номер нашої карти $MapFilename=@Map.Filename $ThisMap=@GetMapNumber $MapFilename $Obj=@Map.SelectedObject @Map.Copy ;відкриваємо Чарівну карту @FileOpen D:\Digitals\Чарівна карта.dmf @Map.Paste $ThisObj=@Map.SelectedObject ;полігон, в який об'єкт попав $ParentObj=@Map.ParentObject $ThisObj ;не закриваємо карту, якщо зовнішній полігон не знайдений @if $ParentObj=$ThisObj then @Break Ділянка залазить на інший квартал або поза межами району ;читаєм значення параметрів зовнішнього об'єкта $P10010=@Map.Object[$ParentObj].Parameter[ID10010] @Map[$ThisMap].Object[$ThisObj].Parameter[ID10010]=$P10010 $P10020=@Map.Object[$ParentObj].Parameter[ID10020] @Map[$ThisMap].Object[$ThisObj].Parameter[ID10020]=$P10020 $P10030=@Map.Object[$ParentObj].Parameter[ID10030] @Map[$ThisMap].Object[$ThisObj].Parameter[ID10030]=$P10030 $P50035=@Map.Object[$ParentObj].Parameter[ID50035] @Map[$ThisMap].Object[$ThisObj].Parameter[ID10070]=$P50035- складаючи скрипт, не бійтесь серед всіх доступних функцій, що є у списку вікна редактора коду (серед них знайдете @OpenLog і @CloseLog [Filename]), вибрати найбільш підходящу, тоді в лог-файлі, Ви побачите результат виконання кожної скриптової функції та оціните правильність і доцільність застосування ціх функцій у скрипті).
Не ставте “крапку”. Продовжувати треба, інакше не народжуються корисні скрипти. Нахрапа нічого не дається.