Головна » Файли » Готові скрипти

Скрипт, який добавляє у базу відкриті обмінники
[ Викачати з сервера (0.4 Kb) ] 26.12.2014, 20:44

;шлях до бази
$SourceMap=d:\база.dmf
;Перевірка наявності відкритого обмінника
$CountMap=@MapCount
@If $CountMap=0 then @Break Вікдрийте обмінний файл для внесення в базу
;виділяємо все
@Map.SelectAll
;копіюємо вміст нашого файлу в буфер
@Map.Copy
;відкриваємо базу
@FileOpen $SourceMap
;вставляємо наш об'єкт
@Map.Paste
@Map.SaveToFile $SourceMap
@CloseMap

Категорія: Готові скрипти | Додав: Микола
Переглядів: 2777 | Завантажень: 184 | Коментарі: 6 | Рейтинг: 5.0/1
Всього коментарів: 6
avatar
5 tatakuhar • 12:11, 23.06.2022
Доброго дня. Підкажіть, будь-ласка, чи є така можливість добавляти не по 1 ділянці, а наприклад всі ділянки які відкриті, але кожна на окремій карті?
avatar
0
6 Микола • 16:53, 23.06.2022
Добрий день!
Так. Можна:
;шлях до бази
$SourceMap=d:\база.dmf
;Перевірка наявності відкритого обмінника
$CountMap=@MapCount
@If $CountMap=0 then @Break Вікдрийте обмінний файл для внесення в базу
$SA=0
@Progress.Start $MapCount Додавання карт у базу
$NSave=@MapCount
%StartSaveMap
@Progress.StepBy
@if $NSave=0 then @Goto %ContinueSaveMap
@ActivateMap $NSave
;виділяємо все
@Map.SelectAll
;копіюємо вміст нашого файлу в буфер
@Map.Copy
;відкриваємо базу
@if $SA=0 then @FileOpen $SourceMap
@if $SA>0 then @ActivateMap $SA
$SA=@ActivateMap
;вставляємо наш об'єкт
@Map.Paste
@Map.SaveToFile $SourceMap
$NSave=$NSave-1
@Goto %StartSaveMap
%ContinueSaveMap
@CloseMap $SA
@Progress.Stop
avatar
3 riveve60 • 23:20, 05.02.2018
Доброго вечора п.Миколо. У мене вже є карта файлами у форматі dmf. Чи можливо зробити так, щоб всі наступні файли добавлялись у мою базу?
avatar
0
4 Микола • 15:25, 06.02.2018
Добрий день! Просто вкажіть в рядку
$SourceMap=d:\база.dmf
шлях до своєї карти
avatar
1 remixxiwe • 16:11, 29.07.2016
А є така можливість перевірки відразу на наявність накладок?
avatar
0
2 Микола • 17:26, 29.07.2016
Так, є:
;шлях до бази
$SourceMap=d:\база.dmf
;Перевірка наявності відкритого обмінника
$CountMap=@MapCount
@If $CountMap=0 then @Break Вікдрийте обмінний файл для внесення в базу
;присвоюємо назву відкритій карті
$AM=@ActivateMap
;відкриваємо базу
@FileOpen $SourceMap
;присвоюємо назву карті із базою
$BazaMap=@ActivateMap
;виділяємо всі ділянки
@Map.SelectLayer id70005
@Map.SelectLayer id20000
;копіюємо їх
@Map.Selected.Copy
;створюємо нову карту
@FileNew перевірка
;присвоюємо назву тимчасовій карті
$TymchMap=@ActivateMap
;вставляємо в неї зкопійоване
@Map.Paste
;обновляємо карту
@Window.Refresh
;показуємо те, що вставили
@Window.ShowSelected
;переходимо на вкладку з ділянкою
@ActivateMap $AM
;знімаємо виділення з усього
@Map.DeselectAll
;виділяємо нашу ділянку
@Map.SelectLayer id70005
@Map.SelectLayer id20000
;копіюємо її
@Map.Selected.Copy
;переходимо на вкладку з одними ділянками
@ActivateMap $TymchMap
;знімаємо виділення з усього
@Map.DeselectAll
;вставляємо нашу ділянку
@Map.Paste
;присвоюємо назву нашій ділянці
$ThisObj=@Map.SelectedObject
;показуємо нашу ділянку на карті
@Window.ShowSelected
;присвоюємо назву іншій ділянці, на яку накладається наша ділянка
$OverlayObj=@Map.Object[$ThisObj].OverlayList
;якщо є накладка, то зупинямо скрипт
@if $OverlayObj>0 then @Break Ділянка вже існує або частково накладається на іншу
;закриваємо тимчасову карту
@CloseMap $TymchMap
;переходимо на вкладку з ділянкою
@ActivateMap $AM
;виділяємо ділянку повністю з усіма шарами
@Map.SelectAll
;копіюємо все
@Map.Selected.Copy
;активуємо карту з базою
@ActivateMap $BazaMap
;вставляємо все скопійоване
@Map.Paste
;зберігаємо
@Map.SaveToFile $SourceMap
;закриваємо базу
@CloseMap
;
avatar