Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 18:26

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 207 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 13 янв 2015 11:10 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
Код:
var s, res: String;
    iParcel: Integer; // Индекс участка
begin
   res := '';
   for iParcel := 0 to High(GetFiles) do
   begin
     s := XPath('/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/Authentication/NaturalPerson/Passport/DocumentType', iParcel);
     print(s);
     if res = '' then
       res := s
       else
       res := res +', '+ s;
   end
   ;
   SetLength(_RESULT, 1);
   _RESULT[0] := res;
end.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 13 янв 2015 13:32 
Специалист
Специалист

Зарегистрирован:
09 июн 2013 11:51
Сообщения: 18
Sergey, спасибо!
Но в чем было различие, кроме цикла по файлам? Я с Делфи не сильно знаком. То что строку нужно присваивать другой строке, для занесения в результат, это такая особенность языка? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 13 янв 2015 14:20 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
Нет, это просто пример.
Ошибка была в XPath('/...', 1). Эта цифра указывает индекс участка, который ведет отсчет с нуля.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 13 янв 2015 15:11 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
var s: String;

begin

//получаем в строковую переменную значение типа документа физ. особы
s:=XPath('/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/Authentication/NaturalPerson/Passport/DocumentType');
//убрал 1 - второй аргумент функции, он здесь точно не нужен

// а дальше не понял, для чего это?
SetLength(_RESULT, 1);
_RESULT[0] := s;

end.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 13 янв 2015 15:28 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
Dmitry_Zolotar, боюсь мы говорим о разных программах :)


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 15 янв 2015 22:02 
Специалист
Специалист

Зарегистрирован:
09 июн 2013 11:51
Сообщения: 18
Sergey, подскажите пожалуйста, каким образом можно реализовать с помощью скрипта заполнение таблицы, как например это сделано в шаблоне "CatalogXY" (там, на месте для вставки данных - пустая строка). Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 18 янв 2015 11:31 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
nullbyte писал(а):
Sergey, подскажите пожалуйста, каким образом можно реализовать с помощью скрипта заполнение таблицы, как например это сделано в шаблоне "CatalogXY" (там, на месте для вставки данных - пустая строка). Спасибо!

Пока никак, думал создать пункт в меню со списком скриптов, которые будут находится в отдельной папке, на подобии VarScripts. Но этот проект уже начал надоедать и появилась мысль ненадолго его отложить :roll: .


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 09:42 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Sergey, Дякую за нову набагато ширшу у можливостях версію!!!!
При користуванні замітив один косячок із суміжниками, а саме: в передостанньому наприклад ставить букву А-Б а в наступному на одну букву більше В-А.


Вложения:
Image 004 29 01 2015.bmp
Image 004 29 01 2015.bmp [ 259.51 Кб | Просмотров: 10191 ]
Image 002 29 01 2015.bmp
Image 002 29 01 2015.bmp [ 1.36 Мб | Просмотров: 10194 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 13:19 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
sirenko_s_a писал(а):
Sergey, Дякую за нову набагато ширшу у можливостях версію!!!!
При користуванні замітив один косячок із суміжниками, а саме: в передостанньому наприклад ставить букву А-Б а в наступному на одну букву більше В-А.

Спасибо, исправлено.

Советую всем заменить на данный екзешник.

Должно быть стабильнее, особенно редактирование значений переменных :wink: .
По поводу ранее высказанных предложений - Спасибо, что интересуетесь и делаете эти самые предложения, но пока нет возможности уделять больше времени этому проекту.


Вложения:
XMLReport.exe_[2015.01.29-12.10.25].rar [2.6 Мб]
Скачиваний: 443
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 14:20 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Sergey писал(а):
Должно быть стабильнее

Дякую ПРАЦЮЄ!!!!
Знаю що даний проект надоїв, але цікавить чи може дана програма в акт прийому-передачі підгружати або створювати (в одиночному і груповому режимах) абрис (графічне зображення з промірами) земельної (земельних) ділянки


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 14:25 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
І ще одне
є скрипт test.pas
я його трішки відредагував

Код:
uses System.SysUtils; // IntToStr

function GetKZ9Value(const Code: string): string;
begin
  Result := '';
  if Code = '100' then Result := 'землі сільськогосподарського призначення';
  if Code = '200' then Result := 'землі житлової та громадської забудови';
end;


var Codes, Cads, Areas: array of string ;
    I: Integer;
    s: string;
begin                         // из режима Парсель
  Codes := GetModeItem('KZ9Code', rmParcel); // берем коды КЗ
  Cads :=  GetModeItem('TX', rmParcel); // берем цыльови використання участков
  Areas :=  GetModeItem('sDil', rmParcel); // площи участков
  if (Length(Codes) = 0)
     or (Length(Areas)= 0) then
  begin
    print('Error');
    Exit;
  end;

  s := '';
 
  for I := 0 to High(Codes) do
    if s = '' then
      s := 'земельна ділянка площею ' + Areas[I]+' га (' +GetKZ9Value(Codes[I]) +') '+ Cads[I]   
      else
      s := s +#13#10+ 'земельна ділянка площею ' + Areas[I]+' га (' +GetKZ9Value(Codes[I]) +') '+ Cads[I];
 
  SetLength(_RESULT, 1);
  _RESULT[0] := s; 

end.


але на виході у ворді (виділив текст щоб було зрозуміліше) частину його прописує жирним шрифтом
Допоможіть є незручність


Вложения:
Image 006 29 01 2015.bmp
Image 006 29 01 2015.bmp [ 262.16 Кб | Просмотров: 10179 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 15:43 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
sirenko_s_a писал(а):
чи може дана програма в акт прийому-передачі підгружати або створювати (в одиночному і груповому режимах) абрис (графічне зображення з промірами) земельної (земельних) ділянки

Поки що такого програма не вміє. Самого зацікавило, бо вже дістало малювати ручками. Але це точно не найближчим часом.
sirenko_s_a писал(а):
на виході у ворді (виділив текст щоб було зрозуміліше) частину його прописує жирним шрифтом

Тут справа у ворді.
1. В провіднику відкрити правою кнопкою миші (ПКМ) шаблон у ворді (або через сам ворд). Якщо звичайним дабл-кліком, то на основі шаблону відкриється "пустий" документ.
2.На переменній ПКМ - Изменить поле... - Зняти помітку з Сохранять формат при обновлении.
3.Поміняти шрифт. Зберегти.

П.С. Якщо ви розробляєте шаблон з нуля, краще це робити на згенерованому документі, бо в ньому вже є значення змінних.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 16:30 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Sergey писал(а):
Тут справа у ворді.

Дякую!!! Допомогло! А як зробити щоб було через commaspace а не через strings

Код:
uses System.SysUtils; // IntToStr

function GetKZ9Value(const Code: string): string;
begin
  Result := '';
  if Code = '100' then Result := 'землі сільськогосподарського призначення';
  if Code = '200' then Result := 'землі житлової та громадської забудови';
end;


var Codes, Cads, Areas: array of string ;
    I: Integer;
    s: string;
begin                         // из режима Парсель
  Codes := GetModeItem('KZ9Code', rmParcel); // берем коды КЗ
  Cads :=  GetModeItem('TX', rmParcel); // берем цыльови використання участков
  Areas :=  GetModeItem('sDil', rmParcel); // площи участков
  if (Length(Codes) = 0)
     or (Length(Areas)= 0) then
  begin
    print('Error');
    Exit;
  end;

  s := '';
 
  for I := 0 to High(Codes) do
    if s = '' then
      s := 'земельна ділянка площею ' + Areas[I]+' га (' +GetKZ9Value(Codes[I]) +') '+ Cads[I]   
      else
      s := s +#13#10+ 'земельна ділянка площею ' + Areas[I]+' га (' +GetKZ9Value(Codes[I]) +') '+ Cads[I];
 
  SetLength(_RESULT, 1);
  _RESULT[0] := s; 

end.


я не дружу з Паскалем і тому пробував замінити всі СТРІНГИ :) на КОММАСПЕЙС, але не вийшло, тому прошу Вашої допомоги.


Буду чекати новий Апгрейд програми уже з абрисом


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 29 янв 2015 17:04 
Гуру
Гуру

Зарегистрирован:
25 дек 2007 11:44
Сообщения: 196
sirenko_s_a писал(а):
Дякую!!! Допомогло! А як зробити щоб було через commaspace а не через strings


Якщо ви про вибір типу роздільника у вікні "Значення змінних", то вони лише працюють для фіксованих (не скриптових) змінних. У скрипті тип роздільника не було б доцільно використовувати, маючи усю міць скрипта.
Найдіть строку #13#10 - це перехід каретки, та замініть на ', '. Наприклад, s := s +', '+ 'земельна ділянка';


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Делимся шаблонами
СообщениеДобавлено: 30 янв 2015 08:16 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Sergey писал(а):
замініть на ', ' s := s +', '+ 'земельна ділянка';


Низько кланяюсь перед ВЕЛИКИМ ГУРУ. (я вчора все перепробував, аж голова розболілась)


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 207 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 14  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 112


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB