Приклади робочих скриптів у звітових формах

Геодезична інформаційна система 6 та Геодезична інформаційна система 6 Агро

Модератори: NickS, feNICKs

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 06 лютого 2020, 13:51

NoViChoK писав:В шаблон "Акт приёмо-передачи межевых знаков 2017" пытаюсь внести небольшие правки, но не выходит.

А именно:
На странице 2 к коду picture1 хочу добавить возможность отображения внутренних углов и полуокружности внутреннего угла (VisibleGisMenu('ShowCutIn', true); и VisibleGisMenu('ShowLineCutIn', true);), но при их добавлении и включении их на рисунок не выводит. Как поправить?

Надо эти две строки добавить перед строкой:

Код: Виділити все

DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), MainScale);

Вот так:

Код: Виділити все

    VisibleGisMenu('ShowCutIn', true);
    VisibleGisMenu('ShowLineCutIn', true);

    DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), MainScale);

Скорее всего, что Вы добавляли эти строки после, а это не правильно!

NoViChoK писав:На странице 3 к коду picture2 тоже хочу добавить возможность включать и выключать меню и слои, но при добавлении кода просит добавить ";" . Не могу понять как правильно вписать.

Где-то допустили ошибку.
Надо найти в коде такой код:

Код: Виділити все

    //---------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Рисунок

    With Picture2, Engine do
    begin
      GisShift(<MejnZN."X">, <MejnZN."Y">);

      DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), StrToInt(LDScale.Text));
      Loadfromfile( StartPath +'\gis.wmf');
    end;

И так же само как выше было сказано, надо вставить его перед строкой

Код: Виділити все

DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), StrToInt(LDScale.Text));

Аватар користувача
NoViChoK
Повідомлень: 140
З нами з: 10 вересня 2012, 18:09

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NoViChoK » 06 лютого 2020, 16:13

NickS писав: Скорее всего, что Вы добавляли эти строки после, а это не правильно!

Я сделал правильно. Проверил еще на отображении смежеств. Реакции почему то никакой.
Вот код.

Код: Виділити все

procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
  With Picture1, Engine do
  begin
//    VisibleGisLayer(0, true);   // участок
//    VisibleGisLayer(1, true);   // план
//    VisibleGisLayer(2, false);   // агрогруппы
//    VisibleGisLayer(3, false);   // таблица расчётов
//    VisibleGisLayer(4, true);   // обозначения
//    VisibleGisLayer(5, true);   // ситуация
//    VisibleGisLayer(6, true);   // чертёж
//    VisibleGisLayer(7, false);   // каталог координат
//    VisibleGisLayer(8, true);   // горизонтали
//    VisibleGisLayer(9, true);   // оформление
//    VisibleGisLayer(10, false);  // общий
//    VisibleGisLayer(11, true);  // сервитуты
//    VisibleGisLayer(12, true);  // ограничения
//    VisibleGisLayer(13, true);  // аренда
//    VisibleGisLayer(14, false);  // теодолитный ход
//    VisibleGisLayer(15, false);  // карта
//    VisibleGisLayer(16, false);  // проектные дороги
//    VisibleGisLayer(17, false);  // сторонние земли
//    VisibleGisLayer(18, false);  // секущая линия
//    VisibleGisLayer(19, false);  // межевые знаки
//    VisibleGisLayer(20, false);  // коммуникации
//    VisibleGisMenu('ShowOMLine', false); // стрелки смежеств
//    VisibleGisMenu('ShowOMLitera', false); // буквы смежества
//    VisibleGisMenu('ShowOMColor', false); // смежества цветом

    DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), MainScale);
    Loadfromfile( StartPath +'\gis.wmf');
  end;
end;


NickS писав: И так же само как выше было сказано, надо вставить его перед строкой

Тоже самое. Не реагирует.

Причем как в picture1 так и в picture2 не реагирует на включение/выключение ни GisMenu ни GisLayer.

Выходит что в этом шаблоне на данный момент отображение "картинки" как в абрисе так и в шагах будет таким как настроено в камеральных функциях вне зависимости от настроек отображения в шаблоне.

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 06 лютого 2020, 17:08

NoViChoK писав:
NickS писав: Скорее всего, что Вы добавляли эти строки после, а это не правильно!

Я сделал правильно. Проверил еще на отображении смежеств. Реакции почему то никакой.
Вот код.

Код: Виділити все

procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
  With Picture1, Engine do
  begin
//    VisibleGisLayer(0, true);   // участок
//    VisibleGisLayer(1, true);   // план
//    VisibleGisLayer(2, false);   // агрогруппы
//    VisibleGisLayer(3, false);   // таблица расчётов
//    VisibleGisLayer(4, true);   // обозначения
//    VisibleGisLayer(5, true);   // ситуация
//    VisibleGisLayer(6, true);   // чертёж
//    VisibleGisLayer(7, false);   // каталог координат
//    VisibleGisLayer(8, true);   // горизонтали
//    VisibleGisLayer(9, true);   // оформление
//    VisibleGisLayer(10, false);  // общий
//    VisibleGisLayer(11, true);  // сервитуты
//    VisibleGisLayer(12, true);  // ограничения
//    VisibleGisLayer(13, true);  // аренда
//    VisibleGisLayer(14, false);  // теодолитный ход
//    VisibleGisLayer(15, false);  // карта
//    VisibleGisLayer(16, false);  // проектные дороги
//    VisibleGisLayer(17, false);  // сторонние земли
//    VisibleGisLayer(18, false);  // секущая линия
//    VisibleGisLayer(19, false);  // межевые знаки
//    VisibleGisLayer(20, false);  // коммуникации
//    VisibleGisMenu('ShowOMLine', false); // стрелки смежеств
//    VisibleGisMenu('ShowOMLitera', false); // буквы смежества
//    VisibleGisMenu('ShowOMColor', false); // смежества цветом

    DrawWmf(Width * 10 / (2560/6773), Height * 10 /(2560/6773), MainScale);
    Loadfromfile( StartPath +'\gis.wmf');
  end;
end;


:lol:
Я же говорю, что не правильно! Вы понимаете что означают эти символы "//"? Это означает "комментирование", что этот код НЕ БУДЕТ ЧИТАТЬСЯ программой. Это нужно либо для временного отключения какого-то кода, либо для комментирования кода программистом. Всё, что после "//" - не читается программой и можно туда писать что угодно, хоть матюки. :D
Ещё раз посмотрите на мой пример, а потом на свой. У меня этих линий нету.

Аватар користувача
NoViChoK
Повідомлень: 140
З нами з: 10 вересня 2012, 18:09

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NoViChoK » 06 лютого 2020, 17:23

NickS писав: :lol:
Я же говорю, что не правильно! Вы понимаете что означают эти символы "//"? Это означает "комментирование", что этот код НЕ БУДЕТ ЧИТАТЬСЯ программой. Это нужно либо для временного отключения какого-то кода, либо для комментирования кода программистом. Всё, что после "//" - не читается программой и можно туда писать что угодно, хоть матюки. :D
Ещё раз посмотрите на мой пример, а потом на свой. У меня этих линий нету.

:lol: точно. Самое смешное что я это знаю и почему то все равно туплю )))) капец.

Xoxol
Повідомлень: 5
З нами з: 27 березня 2020, 11:51

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення Xoxol » 14 червня 2020, 08:25

Доброе утро! Не могу найти шаблона в котором бы вытягивало "за межами нас. пункту" і "в межах нас. пункту". Может в стандартных и нет, то поделитесь пожалуйста.

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 15 червня 2020, 08:28

Xoxol писав:Доброе утро! Не могу найти шаблона в котором бы вытягивало "за межами нас. пункту" і "в межах нас. пункту". Может в стандартных и нет, то поделитесь пожалуйста.

Не совсем понятно что Вы хотите получить. Вам надо просто код чтобы определять участок в нас.пункте или нет, или соответствующим образом сформировать адрес участка? Напишите пример того текста, который хотите получить.

Xoxol
Повідомлень: 5
З нами з: 27 березня 2020, 11:51

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення Xoxol » 17 червня 2020, 07:07

NickS писав:Напишите пример того текста, который хотите получить.

Хочу да бы вытягивало, Чернігівська область, Чернігівський район, с. Іванівка (в межах населеного пункту)

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 17 червня 2020, 08:46

Xoxol писав:
NickS писав:Напишите пример того текста, который хотите получить.

Хочу да бы вытягивало, Чернігівська область, Чернігівський район, с. Іванівка (в межах населеного пункту)

Код: Виділити все

  Address := '';

  If <DM1.QbObject."ID_TypeLocation"> = 0 then
    Address := <DM1.QbObject."Address"> + ' (в межах населеного пункту)'           
  else
    Address := <DM1.QbObject."Address"> + ' (за межами населених пунктів)';

Xoxol
Повідомлень: 5
З нами з: 27 березня 2020, 11:51

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення Xoxol » 27 червня 2020, 20:31

NickS писав:
Xoxol писав:
NickS писав:Напишите пример того текста, который хотите получить.

Хочу да бы вытягивало, Чернігівська область, Чернігівський район, с. Іванівка (в межах населеного пункту)

Код: Виділити все

  Address := '';

  If <DM1.QbObject."ID_TypeLocation"> = 0 then
    Address := <DM1.QbObject."Address"> + ' (в межах населеного пункту)'           
  else
    Address := <DM1.QbObject."Address"> + ' (за межами населених пунктів)';

Спасибо Огромное!

valik1996
Повідомлень: 1
З нами з: 27 січня 2020, 16:30

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення valik1996 » 03 липня 2020, 22:24

Добрый вечер. Интересует работа с CheckBox - например - если стоит "галочка" - то в текст добавит "підлягає", если "галки" нет - добавит "не підлягає".

Код: Виділити все

   Zgrun := '';
     if CheckBox1.Checked = true then
      Zgrun :=  'підлягає'
      else
      if  CheckBox1.Checked =false then
         Zgrun := ' не підлягає '  ;

или

Код: Виділити все

   Zgrun := '';
     if CheckBox1.Checked  then
      Zgrun :=  'підлягає'
      else
      if  CheckBox1.Checked  then
         Zgrun := ' не підлягає '  ;

не работает не тот не другой