Скрипт змінює розмір рамки, приводячи її до 209,9х296,9 (стандарт А4) або 419,9х296,9 (стандарт А3) в залежності від того, яка була рамка до того. Дробове число в розмірах рамки для того, щоб при використанні шаблонів в модулі "Документація" не відбувалось збільшення рамки. А то бувало таке, що коли користувач формував звіт у масштабі меншому, як 500 (наприклад, 50, 100, 200), то потім скриптова функція, яка міняє масштаб шаблону, не могла повернути розмір рамки назад до стандарту, просто дописуючи в кінці нулі. Виходило, що замість 210х297 рамка ставала 2100х2970. Додавання дробів в розміри рамки не допустить такого розвитку подій.
Скрипт може міняти розмір як в одному шаблоні dmt, так і у всіх шаблонах зразу, які знаходяться у вказаній папці. Для шаблонів модуля "Документація" потрібно вибрати папку Digitals/TD.
Як встановити скрипт, можна подивитися тут - Вступ
$Papka=@ProgramFolder
$Dialog=@Dialog.Select Що відкрити?|Один dmt-шаблон|Папку з dmt-шаблонами
@if $Dialog<>Один dmt-шаблон then @Goto %Next
$Papka=@Dialog.OpenFile *.dmt $Papka
@Text[1].Add $Papka
@Goto %Next2
%Next
$Papka=@Dialog.SelectFolder Виберіть папку з dmt-шаблонами, рамку яких потрібно змінити
@Text[1].FolderListTree *.dmt $Papka
%Next2
@if $Papka= then @Break
$TC=@Text[1].Count
$T=0
@Progress.Start $TC Міняємо рамку шаблонів у папці $Papka
%StartScale
$T=$T+1
@Progress.StepBy 1
@if $T>$TC then @Goto %GoodScale
$Ryadok=@Text[1].Line[$T]
$FileOpen=@FileOpen $Ryadok
@if $FileOpen=0 then @Goto %StartScale
$Properties=@Map.GetProperties
$Properties=@ReplaceChar ,.$Properties
@Text.Text $Properties
$Koor1=@Text.Line[2]
$Koor3=@Text.Line[4]
$Line1=@Text.Line[1]
$Scal=@StringPart 1 $Line1
$XR1=@StringPart 1 $Koor1
$YR1=@StringPart 2 $Koor1
$YR2=@StringPart 2 $Koor3
$RozmirR=($YR2-$YR1)/($Scal/1000)
$XR2=296.9*$Scal/1000
$XR2=$XR1+$XR2
$YR2=209.9*$Scal/1000
@if ($RozmirR<440) and ($RozmirR>400) then $YR2=419.9*$Scal/1000
$YR2=$YR1+$YR2
@Text.Line[3] $XR2 $YR1
@Text.Line[4] $XR2 $YR2
@Text.Line[5] $XR1 $YR2
$Properties=@Text.Text
$Properties=@ReplaceChar .,$Properties
@Map.SetProperties $Properties
@Window.Refresh
@Map.SaveToFile
@CloseMap $Ryadok
$Canceled=@Progress.Canceled
@if $Canceled=1 then @Break
@Goto %StartScale
%GoodScale
@Progress.Stop
@Break Зроблено! |