Форумы


Comfort Software :: Форумы :: Обсуждение возможностей
<< Предыдущая тема | Следующая тема >>   

Comfort Typing: шаблон как результат работы скрипта

Автор Добавил
DmitryN
Thu Jan 28 2010, 03:57AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Прежде всего хочу сказать большое спасибо за новые функции, которые я активно использую: скрипты и залоговки в списках.

А теперь хочу попросить ещё одно усовершенствование, касающееся этих фунций: возможность использовать результат работы скрипта в качестве шаблона.

Зачем мне это нужно? У меня есть скрипт, который делает запросы некоему веб сервису, осуществляющему поиск страниц на некотором ресурсе по названию страницы. Скрипт посылает сервису содержимое буфера обмена (название страницы) и получает ссылку на соответствующую страницу. Всё замечательно до тех пор, пока по названию не находятся несколько страниц (по разным продуктам, например). Сейчас мне приходится вставлять все полученные ссылки и потом вручную удалять всё, кроме нужной.

Если бы результат работы скрипта обрабатывался как обычный шаблон, я бы мог вернуть скриптом вот это:
<POPUP>
<CS Word>http://www.site.com/word.html</CS>
<CS Excel>http://www.site.com/excel.html</CS>
</POPUP>

и проблема была бы решена.

--
С уважением,
Дмитрий
Наверх
Comfort
Fri Jan 29 2010, 12:10AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
А можно посмотреть весь скрипт? Критичные названия можно поменять как в предыдущем примере.

Have a nice day
Наверх
DmitryN
Fri Jan 29 2010, 08:50AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Вот упрощённый пример. Можно передавать значения 'Word', 'Excel' или 'Requirements'.

Шаблон:
<POPUP>

<CS Just URL><SCRIPT><FILE>KBWS.js</FILE><FUNCTION>getArticlesByTitle</FUNCTION><PARAM><CLIPBOARD></PARAM></SCRIPT></CS>

<CS Title and URL>the '<CLIPBOARD>' article (<SCRIPT><FILE>KBWS.js</FILE><FUNCTION>getArticlesByTitle</FUNCTION><PARAM><CLIPBOARD></PARAM></SCRIPT>)</CS>

<CS UBB tag>[url=<SCRIPT><FILE>KBWS.js</FILE><FUNCTION>getArticlesByTitle</FUNCTION><PARAM><CLIPBOARD></PARAM></SCRIPT>]<CLIPBOARD>[/url]</CS>

</POPUP>


Скрипт (заменил работу с сервисом затычкой, так как она здесь не важна):
function getArticlesByTitle(title)
{
  var articles = WEBSERVICE_getArticlesByTitle(title);

  switch (articles.length) {
    case 0:
      return "[ARTICLE NOT FOUND (" + title + ")]";
      break;
    case 1:
      return articles[0].URL;
      break;
  }
  
  var articlesList = new Array();
  for (var i = 0 ; i < articles.length; i++) {
    articlesList.push(articles[i].Name + " (" + articles[i].URL + ")");
  }
  
  
  return "[" + articles.length + " ARTICLES FOUND (" + title + "): " + articlesList.join(", ") + "]";
}

function WEBSERVICE_getArticlesByTitle(title)
{
  var resArr = new Array();

  switch (title.toLowerCase()) {
    "word":
      resArr.push(getObj("http://www.site.com/word.html", "Word"));
      break;
    "excel":
      resArr.push(getObj("http://www.site.com/excel.html", "Excel"));
      break;
    "requirements":
      resArr.push(getObj("http://www.site.com/word_requirements.html", "Word"));
      resArr.push(getObj("http://www.site.com/excel_requirements.html", "Excel"));
      break;
  }

  return resArr;
}

function getObj(URL, Name)
{
  var res = new Object();
  res.URL = URL;
  res.Name = Name;
  return res;
}


--
С уважением,
Дмитрий
Наверх
DmitryN
Fri Jan 29 2010, 08:54AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Это то, что сейчас есть. А хочется, чтобы было так:

function getArticlesByTitle(title)
{
...
  
  var articlesList = "";
  for (var i = 0 ; i < articles.length; i++) {
    articlesList += "<CS " + articles[i].Name + ">" + articles[i].URL + "</CS>";
  }
  return "<POPUP>" + articlesList + "</POPUP>";
}


--
С уважением,
Дмитрий
Наверх
Comfort
Mon Feb 01 2010, 05:32AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
Попробуйте новую версию 4.0.5.3: http://www.comfort-software.com/beta/ck_setup.zip

Только надо хорошенько протестировать - не испортилось ли что-нибудь. У меня не много шаблонов со скриптами.

Have a nice day
Наверх
DmitryN
Mon Feb 01 2010, 06:01AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Спасибо за оперативность, но у меня Comfort Typing и попробовать Comfort Keys я не могу. Можно получить сборку для Comfort Typing?

--
С уважением,
Дмитрий
Наверх
Comfort
Mon Feb 01 2010, 06:23AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
http://www.comfort-software.com/beta/ct_setup.zip

Have a nice day
Наверх
DmitryN
Mon Feb 01 2010, 09:15AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Первые тесты показывают что всё работает замечательно. Большое спасибо!

Если что отломается, обязательно напишу.

--
С уважением,
Дмитрий
Наверх
Comfort
Mon Feb 01 2010, 09:44AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
Отлично.

Have a nice day
Наверх
Miron
Wed Aug 18 2010, 03:51PM
ID пользователя #328
Зарегистрирован: Tue Jul 28 2009, 05:38AM
Сообщений: 20
А как запускается скрипт?
Можно ли произвести транслитерацию десятка выделенных файлов за один раз?
Наверх
Comfort
Thu Aug 19 2010, 12:20AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
Вопрос в том, как вы будете выделять файлы? В шаблоны можно передать текст с помощью тега CLIPBOARD или SELECTION. А разбирать этот текст придется уже в скрипте.

Have a nice day
Наверх
Vadik
Sat Sep 04 2010, 02:11PM
ID пользователя #569
Зарегистрирован: Thu Jul 15 2010, 07:38AM
Сообщений: 37
Ничего себе, не знал что такое возможно, это обычный javascript?
Жаль ещё нет описания в документации, может я не там ищу…

Comfort Keys Pro оплачен по счёту 4470054
Наверх
Comfort
Sat Sep 04 2010, 03:01PM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 617
Да, обычный javascript.
Примеры есть в подкаталоге Scripts.
К сожалению содержать онлайн-документацию в актуальном состоянии не всегда получается. Лучше пользоваться справкой, которая идет с программой.

Have a nice day
Наверх
Модераторы: Comfort

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System