<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cyrill &#187; Hints&amp;tips</title>
	<atom:link href="http://cyrill.co.uk/category/hintstips/feed/" rel="self" type="application/rss+xml" />
	<link>http://cyrill.co.uk</link>
	<description>Чувак с пассатижами / sux, bugs &#38; plug ‘n’ play</description>
	<lastBuildDate>Sun, 01 Nov 2009 11:53:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apache + PHP на windows? Лотерея :)</title>
		<link>http://cyrill.co.uk/2009/11/01/apache-php-%d0%bd%d0%b0-windows-%d0%bb%d0%be%d1%82%d0%b5%d1%80%d0%b5%d1%8f/</link>
		<comments>http://cyrill.co.uk/2009/11/01/apache-php-%d0%bd%d0%b0-windows-%d0%bb%d0%be%d1%82%d0%b5%d1%80%d0%b5%d1%8f/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 11:53:40 +0000</pubDate>
		<dc:creator>Cyrill</dc:creator>
				<category><![CDATA[Hints&tips]]></category>
		<category><![CDATA[SysAdm]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[filemon]]></category>
		<category><![CDATA[httpd.exe]]></category>
		<category><![CDATA[libmysql.dll]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5ts.dll]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://cyrill.co.uk/?p=206</guid>
		<description><![CDATA[В очередной раз потребовалось установить традиционный набор (Apache + PHP + MySQL) на win-ноутбуке.
Скачал апача (2.2.14), поставил. It works, как положено   Стал приделывать PHP (5.2.11) &#8211; Apache перестал запускаться со следующими симптомами:
Сбойное приложение httpd.exe, версия 2.2.14.0, штамп времени 0&#215;4ac181d6, сбойный модуль php5ts.dll, версия 5.2.11.11, штамп времени 0&#215;4ab130e3, код исключения 0xc0000005, смещение ошибки 0&#215;000f330d, [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>В очередной раз потребовалось установить традиционный набор (Apache + PHP + MySQL) на win-ноутбуке.</p>
<p><a title="Apache httpd" href="http://httpd.apache.org/download.cgi" target="_blank">Скачал</a> апача (2.2.14), поставил. It works, как положено <img src='http://cyrill.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Стал приделывать <a title="PHP" href="http://www.php.net/downloads.php" target="_blank">PHP</a> (5.2.11) &#8211; Apache перестал запускаться со следующими симптомами:</p>
<blockquote><p>Сбойное приложение <strong>httpd.exe</strong>, версия <strong>2.2.14.0</strong>, штамп времени 0&#215;4ac181d6, сбойный модуль <strong>php5ts.dll</strong>, версия <strong>5.2.11.11</strong>, штамп времени 0&#215;4ab130e3, код исключения 0xc0000005, смещение ошибки <strong>0&#215;000f330d</strong>, ИД процесса 0&#215;167c, время запуска приложения 0&#215;01ca5ae5db2f4800.</p></blockquote>
<p>На практике сие означает, что PHP заводиться отказывается. Любимый <a title="Filemon by M. Russinovich" href="http://http://technet.microsoft.com/ru-ru/sysinternals/bb896642.aspx" target="_blank">filemon</a> как бы намекнул, что дело в php_mysql.dll, которая не может найти libmysql.</p>
<p>А дальше &#8211; по накатанным рельсам: копируем libmysql.dll из папки, в которой лежит PHP в папку %apache%\bin. Все работает <img src='http://cyrill.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Есть мнение, что товарищам из PHP надо описание этого движения с бубном большими буквами разместить на главной <a title="PHP" href="http://www.php.net/downloads.php" target="_blank">странице загрузки PHP</a> для win <img src='http://cyrill.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://cyrill.co.uk/2009/11/01/apache-php-%d0%bd%d0%b0-windows-%d0%bb%d0%be%d1%82%d0%b5%d1%80%d0%b5%d1%8f/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>транслитерация по правилам</title>
		<link>http://cyrill.co.uk/2008/04/02/%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d0%be-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d0%b0%d0%bc/</link>
		<comments>http://cyrill.co.uk/2008/04/02/%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d0%be-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d0%b0%d0%bc/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 16:59:54 +0000</pubDate>
		<dc:creator>Cyrill</dc:creator>
				<category><![CDATA[Hints&tips]]></category>
		<category><![CDATA[p01]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Малая механизация]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[Ермолович]]></category>
		<category><![CDATA[транслитерация]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[translit]]></category>

		<guid isPermaLink="false">http://cyrill.co.uk/2008/04/02/%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d0%be-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d0%b0%d0%bc/</guid>
		<description><![CDATA[Не знаю как вам, други, а мне-таки кажется, что я написал очередную функцию транслитерации на PHP. На этот раз &#8211; вроде, с учетом правил, написанных в умной книжке умным дядькой.
Собственно, пользуйтесь =)

public function transliterate&#40;&#38;$wordarr&#41;
&#123;
	$ru_vowels = array&#40; '/же/',  '/ше/',  '/че/',  '/ще/', '/ье/','/ъе/','/ьи/','/ъи/','/ъо/','/ьо/','/а/','/е/', '/ё/' ,'/и/','/о/','/у/','/ы/','/э/','/ю/', '/я/',&#41;;
	$en_vowels = array&#40; 'zhe', 'she', 'che', 'shche', 'ye','ye','yi','yi','yo','yo','a','e','yo','i','o','u','y','e','yu','ya' &#41;;
&#160;
	$ru_consonants [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Не знаю как вам, други, а мне-таки кажется, что я написал очередную функцию транслитерации на PHP. На этот раз &#8211; вроде, с учетом правил, написанных в <a title="Ермолович, правила транслитерации" href="http://wp2.cyrill.co.uk/wp-content/uploads/2008/04/ermolovich-names-pt2.pdf" target="_blank">умной книжке умным дядькой</a>.</p>
<p>Собственно, пользуйтесь =)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #990000;">transliterate</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$wordarr</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$ru_vowels</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/же/'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'/ше/'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'/че/'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'/ще/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/ье/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ъе/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ьи/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ъи/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ъо/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ьо/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/а/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/е/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/ё/'</span> <span style="color: #339933;">,</span><span style="color: #0000ff;">'/и/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/о/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/у/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ы/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/э/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ю/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/я/'</span><span style="color: #339933;">,</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$en_vowels</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'zhe'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'she'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'che'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'shche'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ye'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ye'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yi'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yi'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yo'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yo'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'e'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yo'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'i'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'o'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'u'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'y'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'e'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'yu'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ya'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$ru_consonants</span> 	<span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/б/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/в/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/г/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/д/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ж/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/з/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/й/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/к/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/л/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/м/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/н/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/п/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/р/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/с/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/т/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ф/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/х/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/ц/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/ч/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/ш/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/щ/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ъ/'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'/ь/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$en_consonants</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'b'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'v'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'g'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'d'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'zh'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'z'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'y'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'k'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'l'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'m'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'n'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'p'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'r'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'s'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'t'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'f'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'kh'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ts'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ch'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'sh'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'shch'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$pattern</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ru_vowels</span><span style="color: #339933;">,</span><span style="color: #000088;">$ru_consonants</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$replace</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$en_vowels</span><span style="color: #339933;">,</span><span style="color: #000088;">$en_consonants</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$wordarr</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$wordarr</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern</span><span style="color: #339933;">,</span><span style="color: #000088;">$replace</span><span style="color: #339933;">,</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://cyrill.co.uk/2008/04/02/%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d0%b8%d1%82%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d0%be-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d0%b0%d0%bc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Продолжение автоматизации FineReader: работа над ошибками</title>
		<link>http://cyrill.co.uk/2008/03/28/python-fr-gui-automation/</link>
		<comments>http://cyrill.co.uk/2008/03/28/python-fr-gui-automation/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 14:35:31 +0000</pubDate>
		<dc:creator>Cyrill</dc:creator>
				<category><![CDATA[Hints&tips]]></category>
		<category><![CDATA[Малая механизация]]></category>
		<category><![CDATA[finereader]]></category>
		<category><![CDATA[p01]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ranorex]]></category>

		<guid isPermaLink="false">http://cyrill.co.uk/2008/03/28/%d0%bf%d1%80%d0%be%d0%b4%d0%be%d0%bb%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d0%b8-finereader-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0/</guid>
		<description><![CDATA[Друзья, вынужден признать, что опубликованный мной скрипт AutoIT для автоматизации Finereader работает из рук вон плохо, кроме того неоптимален по времени и использованию ресурсов. После небольшого прохода по Google была обнаружена компания Ranorex GmbH, предлагающая замечательные средства для работы с Windows GUI. Поскольку я давно собирался начать осваивать Python, выбор скриптового языка для работы с [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Друзья, вынужден признать, что опубликованный мной скрипт AutoIT для автоматизации Finereader работает из рук вон плохо, кроме того неоптимален по времени и использованию ресурсов. После небольшого прохода по Google была обнаружена компания <a href="http://ranorex.com/" target="_blank" title="Ranorex">Ranorex GmbH</a>, предлагающая замечательные средства для работы с Windows GUI. Поскольку я давно собирался начать осваивать <a href="http://www.python.org/" target="_blank" title="Python">Python</a>, выбор скриптового языка для работы с FR не был вопросом.</p>
<p>Итак, под катом &#8211; очередная вариация скрипта на тему &#8220;Как автоматизировать FineReader&#8221;. Требуется <a href="http://www.python.org/" title="Python" target="_blank">Python </a>и библиотеки Ranorex, которые скачиваются с сайта программы.<br />
<span id="more-87"></span></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># coding=cp1251</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>, <span style="color: #dc143c;">re</span>, <span style="color: #dc143c;">imp</span>, <span style="color: #dc143c;">time</span>, <span style="color: #dc143c;">logging</span>, <span style="color: #dc143c;">logging</span>.<span style="color: black;">handlers</span>
<span style="color: #dc143c;">logging</span>.<span style="color: black;">basicConfig</span><span style="color: black;">&#40;</span>level=<span style="color: #dc143c;">logging</span>.<span style="color: black;">DEBUG</span>,
				format=<span style="color: #483d8b;">'%(asctime)s;%(levelname)s;%(message)s'</span>,
				filename=<span style="color: #483d8b;">'c:<span style="color: #000099; font-weight: bold;">\\</span>official<span style="color: #000099; font-weight: bold;">\\</span>py_log2.txt'</span>,
                filemode=<span style="color: #483d8b;">'w+'</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;">#smtp_log_handler = logging.handlers.SMTPHandler('195.24.227.198','py-script@rospravo.local','K.Udartsev@rospravo.ru','Recon logger event')</span>
l01 = <span style="color: #dc143c;">logging</span>.<span style="color: black;">getLogger</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'l01'</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;">#l01.addHandler(smtp_log_handler)</span>
R = <span style="color: #dc143c;">imp</span>.<span style="color: black;">load_dynamic</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'RanorexPython'</span>, <span style="color: #483d8b;">'c:<span style="color: #000099; font-weight: bold;">\\</span>Python25<span style="color: #000099; font-weight: bold;">\\</span>DLLs<span style="color: #000099; font-weight: bold;">\\</span>RanorexPython.dll'</span><span style="color: black;">&#41;</span>
FRDir = <span style="color: #483d8b;">'C:<span style="color: #000099; font-weight: bold;">\\</span>Program Files<span style="color: #000099; font-weight: bold;">\\</span>ABBYY FineReader 9.0<span style="color: #000099; font-weight: bold;">\\</span>'</span>
FRExecutablePath = FRDir+<span style="color: #483d8b;">'FineReader.exe'</span>
DirListPath = <span style="color: #483d8b;">'C:<span style="color: #000099; font-weight: bold;">\\</span>official<span style="color: #000099; font-weight: bold;">\\</span>lf_test.txt'</span>
Number_of_retries = <span style="color: #ff4500;">10000</span> <span style="color: #808080; font-style: italic;">#x 1 sec - more than enough</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> fr_start<span style="color: black;">&#40;</span>frpath<span style="color: black;">&#41;</span>:
	R.<span style="color: black;">ApplicationStart</span><span style="color: black;">&#40;</span>frpath<span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">return</span> R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;ABBYY FineReader&quot;</span>, R.<span style="color: black;">MATCH_SUBSTRING</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">5000</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;">#return R.ApplicationGetFirst()</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
	iteration = <span style="color: #ff4500;">0</span>
	dirList = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>DirListPath,<span style="color: #483d8b;">'r'</span><span style="color: black;">&#41;</span>
	dirs = dirList.<span style="color: black;">readlines</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Read list of dirs; total: %d found'</span> <span style="color: #66cc66;">%</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>dirs<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;">#print str(5)+'-'+dirs[1][3:].strip().replace('\\','-')+'.pdf'</span>
&nbsp;
	FRWnd = fr_start<span style="color: black;">&#40;</span>FRExecutablePath<span style="color: black;">&#41;</span>
	l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Finereader window handle: %d'</span> <span style="color: #66cc66;">%</span>FRWnd<span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #ff7700;font-weight:bold;">if</span> FRWnd == <span style="color: #ff4500;">0</span>:
		<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">1</span>
&nbsp;
	R.<span style="color: black;">FormActivate</span><span style="color: black;">&#40;</span>FRWnd<span style="color: black;">&#41;</span>
	R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;">#open file dialog</span>
	<span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">dir</span> <span style="color: #ff7700;font-weight:bold;">in</span> dirs:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Current directory: '</span>+<span style="color: #008000;">dir</span>.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
		<span style="color: #dc143c;">logging</span>.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Current directory: '</span>+<span style="color: #008000;">dir</span>.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{CTRLDOWN}o&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{CTRLUP}&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;">#</span>
		openFilesDlg = R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Open Image'</span>,R.<span style="color: black;">MATCH_EXACT</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		<span style="color: #808080; font-style: italic;">#R.FormActivate(openFilesDlg)</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Open files dialog handle: %d'</span> <span style="color: #66cc66;">%</span>openFilesDlg<span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;">#</span>
		edit_dirname = R.<span style="color: black;">FormFindChildClassName</span><span style="color: black;">&#40;</span>openFilesDlg, <span style="color: #483d8b;">&quot;Edit&quot;</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'edit_SrcDirName: %d'</span> <span style="color: #66cc66;">%</span>edit_dirname<span style="color: black;">&#41;</span>
&nbsp;
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		edit_cancelBtn = R.<span style="color: black;">FormFindChildClassName</span><span style="color: black;">&#40;</span>openFilesDlg, <span style="color: #483d8b;">&quot;Button&quot;</span>, <span style="color: #ff4500;">4</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'button_Cancel: %d'</span> <span style="color: #66cc66;">%</span>edit_cancelBtn<span style="color: black;">&#41;</span>
&nbsp;
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		edit_okBtn = R.<span style="color: black;">FormFindChildClassName</span><span style="color: black;">&#40;</span>openFilesDlg, <span style="color: #483d8b;">&quot;Button&quot;</span>, <span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'button_Ok: %d'</span> <span style="color: #66cc66;">%</span>edit_okBtn<span style="color: black;">&#41;</span>
&nbsp;
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		ofd_element = R.<span style="color: black;">ControlGetElement</span><span style="color: black;">&#40;</span>openFilesDlg<span style="color: black;">&#41;</span>
		filesListViewEl = R.<span style="color: black;">ElementFindChild</span><span style="color: black;">&#40;</span>ofd_element, R.<span style="color: black;">ROLE_SYSTEM_LIST</span>,<span style="color: #483d8b;">''</span>,<span style="color: #483d8b;">'SysListView32'</span>,R.<span style="color: black;">MATCH_SUBSTRING</span><span style="color: black;">&#41;</span>
&nbsp;
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span>edit_dirname, <span style="color: #008000;">dir</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Set directory to '</span>+<span style="color: #008000;">dir</span>.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">MouseClickElement</span><span style="color: black;">&#40;</span>ofd_element,R.<span style="color: black;">MOUSE_LEFT_BUTTON</span>,<span style="color: #ff4500;">100</span>,<span style="color: #ff4500;">100</span>,<span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{CTRLDOWN}a{CTRLUP}&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{ENTER}&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
&nbsp;
		processingWnd = R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Adding pages to the'</span>,R.<span style="color: black;">MATCH_FROM_START</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		processingWndEl = R.<span style="color: black;">ControlGetElement</span><span style="color: black;">&#40;</span>processingWnd<span style="color: black;">&#41;</span>
		processingWndValue = processingWndEl<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'processingWndValue: '</span> + processingWndValue<span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'processingWnd: %d'</span> <span style="color: #66cc66;">%</span>processingWnd<span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
&nbsp;
		<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span>Number_of_retries<span style="color: black;">&#41;</span>:
			R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">750</span><span style="color: black;">&#41;</span>
			processingWndEl = R.<span style="color: black;">ControlGetElement</span><span style="color: black;">&#40;</span>processingWnd<span style="color: black;">&#41;</span>
			processingWndValue = processingWndEl<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>
			opResult = processingWndValue.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'complete.'</span><span style="color: black;">&#41;</span>
			<span style="color: #ff7700;font-weight:bold;">if</span> opResult == <span style="color: #ff4500;">0</span>:
				l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Result: %d'</span> <span style="color: #66cc66;">%</span>opResult<span style="color: black;">&#41;</span>
				l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Finished; Ending operations'</span><span style="color: black;">&#41;</span>
				<span style="color: #ff7700;font-weight:bold;">break</span>
			<span style="color: #ff7700;font-weight:bold;">else</span>:
				l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Progress...'</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		closeProcessingWndBtn = R.<span style="color: black;">ElementFindChild</span><span style="color: black;">&#40;</span>processingWndEl, R.<span style="color: black;">ROLE_SYSTEM_PUSHBUTTON</span>,<span style="color: #483d8b;">'Close'</span>,<span style="color: #483d8b;">'Button'</span>,R.<span style="color: black;">MATCH_SUBSTRING</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">MouseClickElement</span><span style="color: black;">&#40;</span>closeProcessingWndBtn<span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{CTRLDOWN}s{CTRLUP}&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
&nbsp;
		saveFilesDlg = R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Save Pages'</span>,R.<span style="color: black;">MATCH_EXACT</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">FormActivate</span><span style="color: black;">&#40;</span>saveFilesDlg<span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Save files dialog handle: %d'</span> <span style="color: #66cc66;">%</span>saveFilesDlg<span style="color: black;">&#41;</span>
		edit_save_dirname = R.<span style="color: black;">FormFindChildClassName</span><span style="color: black;">&#40;</span>saveFilesDlg, <span style="color: #483d8b;">&quot;Edit&quot;</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'edit_saveDirName: %d'</span> <span style="color: #66cc66;">%</span>edit_save_dirname<span style="color: black;">&#41;</span>
&nbsp;
		filename = <span style="color: #008000;">dir</span>.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>iteration<span style="color: black;">&#41;</span>+<span style="color: #483d8b;">'-'</span>+<span style="color: #008000;">dir</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span>:<span style="color: black;">&#93;</span>.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span>,<span style="color: #483d8b;">'-'</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">'.pdf'</span>
		R.<span style="color: black;">ControlSetText</span><span style="color: black;">&#40;</span>edit_save_dirname, filename<span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Set save path &amp;amp; filename to '</span>+filename<span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{ENTER}&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Saving file'</span><span style="color: black;">&#41;</span>
&nbsp;
		savingWnd = R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Saving to file'</span>,R.<span style="color: black;">MATCH_FROM_START</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		savingWndEl = R.<span style="color: black;">ControlGetElement</span><span style="color: black;">&#40;</span>savingWnd<span style="color: black;">&#41;</span>
		savingWndValue = savingWndEl<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'savingWndValue: '</span> + savingWndValue<span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'savingWnd: %d'</span> <span style="color: #66cc66;">%</span>savingWnd<span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span>Number_of_retries<span style="color: black;">&#41;</span>:
			R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">100</span><span style="color: black;">&#41;</span>
			savingWndLoc = R.<span style="color: black;">ControlGetPosition</span><span style="color: black;">&#40;</span>savingWnd<span style="color: black;">&#41;</span>
			<span style="color: #ff7700;font-weight:bold;">if</span> savingWndLoc == <span style="color: #008000;">None</span>:
				l01.<span style="color: black;">info</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Saved file'</span><span style="color: black;">&#41;</span>
				<span style="color: #ff7700;font-weight:bold;">break</span>
			<span style="color: #ff7700;font-weight:bold;">else</span>:
				l01.<span style="color: black;">info</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Still saving'</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1000</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">ControlSendKeys</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>, <span style="color: #483d8b;">&quot;{ALTDOWN}f{ALTUP}c&quot;</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">100</span><span style="color: black;">&#41;</span>
&nbsp;
		dontSaveWnd = R.<span style="color: black;">FormFindTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'ABBYY FineReader 9.0 Professional Edition'</span>,R.<span style="color: black;">MATCH_EXACT</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">500</span><span style="color: black;">&#41;</span>
		dontSaveWndEl = R.<span style="color: black;">ControlGetElement</span><span style="color: black;">&#40;</span>dontSaveWnd<span style="color: black;">&#41;</span>
&nbsp;
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'dontSaveWndEl: '</span> + dontSaveWndEl<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
		l01.<span style="color: black;">debug</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'dontSaveWnd: %d'</span> <span style="color: #66cc66;">%</span>dontSaveWnd<span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		closeDontSaveWndBtn = R.<span style="color: black;">ElementFindChild</span><span style="color: black;">&#40;</span>dontSaveWndEl, R.<span style="color: black;">ROLE_SYSTEM_PUSHBUTTON</span>,<span style="color: #483d8b;">'Нет'</span>,<span style="color: #483d8b;">'Button'</span>,R.<span style="color: black;">MATCH_SUBSTRING</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">Sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">150</span><span style="color: black;">&#41;</span>
		R.<span style="color: black;">MouseClickElement</span><span style="color: black;">&#40;</span>closeDontSaveWndBtn<span style="color: black;">&#41;</span>
		iteration+=<span style="color: #ff4500;">1</span>
	<span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    ret = main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> ret <span style="color: #66cc66;">!</span>= <span style="color: #ff4500;">0</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Test FAILED'</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Test PASSED'</span>
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span>ret<span style="color: black;">&#41;</span></pre></div></div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://cyrill.co.uk/2008/03/28/python-fr-gui-automation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Пакетное распознавание документов при помощи FineReader и AutoIT</title>
		<link>http://cyrill.co.uk/2008/03/25/multiple-folders-automated-recognition-with-finereader-and-autoit/</link>
		<comments>http://cyrill.co.uk/2008/03/25/multiple-folders-automated-recognition-with-finereader-and-autoit/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 16:30:03 +0000</pubDate>
		<dc:creator>Cyrill</dc:creator>
				<category><![CDATA[Hints&tips]]></category>
		<category><![CDATA[p01]]></category>
		<category><![CDATA[Малая механизация]]></category>
		<category><![CDATA[autoit]]></category>
		<category><![CDATA[автоматизация]]></category>
		<category><![CDATA[finereader]]></category>
		<category><![CDATA[распознавание]]></category>

		<guid isPermaLink="false">http://cyrill.co.uk/2008/03/25/multiple-folders-automated-recognition-with-finereader-and-autoit/</guid>
		<description><![CDATA[Привет,
Прошу прощения, что давно не писал &#8211; исправляюсь.
Возможно вам доводилось сталкиваться с задачей, когда надо распознать в удобочитаемый (или редактируемый) вид сканированные или отфотографированные изображения каких-нибудь текстов. Например, редкие учебные пособия, переснятые в перерыве или, например, куча сканированной рабочей документации. Основная проблема в такой ситуации состоит в том, что FineReader, являющийся, на мой взгляд, лидером [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Привет,</p>
<p>Прошу прощения, что давно не писал &#8211; исправляюсь.</p>
<p>Возможно вам доводилось сталкиваться с задачей, когда надо распознать в удобочитаемый (или редактируемый) вид сканированные или отфотографированные изображения каких-нибудь текстов. Например, редкие учебные пособия, переснятые в перерыве или, например, куча сканированной рабочей документации. Основная проблема в такой ситуации состоит в том, что <a href="http://www.abbyy.ru/finereader/" title="Finereader" target="_blank">FineReader</a>, являющийся, на мой взгляд, лидером в точности распознавания, не имеет встроенных средств для пакетной обработки. Существует корпоративная версия, но она, по сути, решает несколько другие задачи: работа по расписанию и т.п. В общем, не совсем то, что нужно.  Теоретически, существует <a href="http://www.abbyy.ru/sdk/?param=53423" title="Recognition server">Abbyy Recognition Server</a> &#8211; но он стоит совсем других денег и лицензируется на объем обрабатываемых документов (либо абсолютное значение, либо помесячный лимит), что не вполне подходит под мои требования =)</p>
<p>Посему, было решено обходиться малыми средствами, а сэкономленное пустить на компьютер, который будет заниматься распознаванием.</p>
<p>После <a href="http://www.abbyy.ru/finereader/forum/actualthread.aspx?bid=8&amp;tid=523&amp;pg=1" title="Форум ABBYY Finereader" target="_blank">дискуссии на форуме Abbyy</a>, обнаружил <a href="http://alexrey036.narod.ru/ocrfolder.html" title="Скрипт AutoIT для FineReader 8" target="_blank">скрипт</a> автоматизации FineReader 8 средствами абсолютно бесплатного средства автоматизации действий с интерфейсом <a href="http://www.autoitscript.com/autoit3/" title="AutoIT scripting engine">AutoIT</a>. Выяснилось, что с девятым FR скрипт работает не совсем корректно, посему пришлось дорабатывать напильником.</p>
<p>Результат тестировался в русских версиях Vista HB и Windows XP Prof, и, в общем, работает =) В скрипте есть ряд задержек, выявленных эмпирическим путем. Допускаю, что серией экспериментов эти задержки можно сократить.</p>
<p>Как пользоваться скриптом?</p>
<ol>
<li><a href="http://www.autoitscript.com/autoit3/downloads.shtml" title="AutoIT download" target="_blank">Скачайте</a> и установите  <a href="http://www.autoitscript.com/autoit3/" title="AutoIT scripting engine">AutoIT</a>.</li>
<li>Установите ABBYY <a href="http://www.abbyy.ru/finereader/" title="Finereader" target="_blank">FineReader</a>.</li>
<li>Установите в системе английскую раскладку клавиатуры умолчанию</li>
<li>Запустите FR и его переключите его интерфейс на английский язык</li>
<li>Откройте и распознайте в ручном режиме любые (желательно небольшие) файлы изображений из папки, предварительно установив необходимые опции распознавания (это нужно для сохранения настроек FR, эти же настройки будут применяться ко всем автоматически распознаваемым файлам)</li>
<li>После сохранения распознанного вручную файла, FR нужно закрыть; в диалоговом окне сохранения файла нужно выключить галочку &#8220;Открыть сохраненный файл в родном приложении&#8221;, иначе открытые файлы очень быстро съедят память</li>
<li>При поврежденном файле изображения скрипт приостанавливает выполнение и ждет нажатия кнопки, после чего выполнение продолжается.</li>
<li>При необходимости изменить в коде скрипта константы $FR_dir, $drive и $START_dir</li>
<li>Чтобы построить список папок, выполните небольшой батничек, приведенный под катом, результат его работы положите в папку $START_dir. Обратите внимание, что пустые папки тоже попадают в список, поэтому их надо вычистить вручную.</li>
</ol>
<p>Известные слабые места скрипта:</p>
<ol>
<li>Для каждой итерации FR запускается заново</li>
<li>Существуют случайные баги в работе скрипт &#8211; подозреваю, это связано с AutoIT, но у меня скрипт стабильно работает при выключенном explorer.exe, отключенном антивирусе, остановленных некритичных службах XP и остановленном антивирусе &#8211; чтобы минимизировать возможность воздействия на работу скрипта</li>
<li>Задержка в 15 секунд после сохранения файла &#8211; чудовищно велика при большом количестве папок; уменьшение ее, однако, влечет увеличение сбоев в работе скрипта</li>
</ol>
<p>Вот так &#8211; сыро, местами глючно, но чертовски дешево (100 € за FineReader Prof).<br />
Под катом &#8211; код для <a href="http://www.autoitscript.com/autoit3/" title="AutoIT scripting engine">AutoIT</a> и bat-файл для сбора дерева папок. Удачного распознавания! Спасибо <a href="http://alexrey036.narod.ru/" title="Alexrey" target="_blank">Alexrey</a> (ник U235 на форумах ABBYY) за скрипты для FR8.<a href="http://www.autoitscript.com/autoit3/" title="AutoIT scripting engine"><br />
</a></p>
<p><span id="more-14"></span><br />
list_folders.bat:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">chcp <span style="color: #cc66cc;">1251</span>
<span style="color: #b1b100; font-weight: bold;">dir</span> /ad /b /on /s &amp;gt; list_folder.txt</pre></div></div>

<p>automate.au3:</p>

<div class="wp_syntax"><div class="code"><pre class="autoit" style="font-family:monospace;"><span style="color: #0000FF; font-weight: bold;">Const</span> <span style="font-weight: bold; color: #AA0000;">$drive</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #008080;">&quot;c:&quot;</span><span style="color: #0000FF; font-weight: bold;">Const</span> <span style="font-weight: bold; color: #AA0000;">$START_Dir</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #AA0000;">$drive</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;\recognize\&quot;$firsttime = 1;	00	Create logfile</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$log</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">FileOpen</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$START_Dir</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;log.txt&quot;, 2)</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="font-weight: bold; color: #AA0000;">$log</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">MsgBox</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Error&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Unable to open file.&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">Exit</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">EndIf</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;	01	Open Finereader</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">Const</span> <span style="font-weight: bold; color: #AA0000;">$FR_dir</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="font-weight: bold; color: #008080;">&quot;C:\Program Files\ABBYY FineReader 9.0\&quot;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Set FR9 dir to C:\Program Files\ABBYY FineReader 9.0\&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">AutoItSetOption</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;WinTitleMatchMode&quot;</span> <span style="color: #FF0000; font-weight: bold;">,</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">2</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Set WinTitleMatchMode to non-strict&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;	02	Open Folders list</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$folder_list</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">FileOpen</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$START_Dir</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;list_folder.txt&quot;, 0)</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="font-weight: bold; color: #AA0000;">$folder_list</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">MsgBox</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Error&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Unable to open list file.&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">Exit</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">EndIf</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;	04	Working loop</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">While</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span><span style="font-style: italic; color: #009933;">;$firsttime&amp;lt;3</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">SendKeepActive</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$folder</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">FileReadLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$folder_list</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$t_fname</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringReplace</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$folder</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;\&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;-&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$fname</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringReplace</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$t_fname</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #AA0000;">$drive</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #AA0000;">$firsttime</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;&quot;)</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="font-weight: bold; color: #AA0000;">@error</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #FF0000; font-weight: bold;">-</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span> <span style="color: #0000FF; font-weight: bold;">Then</span> <span style="color: #0000FF; font-weight: bold;">ExitLoop</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #000080; font-style: italic; font-weight: bold;">StringLen</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$folder</span><span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">&amp;</span>lt<span style="font-style: italic; color: #009933;">; 1 Then ExitLoop</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Run</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$FR_dir</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;FineReader.exe&quot;)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;FR9 - Start&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Got directory: &quot;&amp;amp;$folder&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWaitActive</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Got active FR9&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">SendKeepActive</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;^o&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWaitActive</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Open&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlSetText</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Open&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Edit1&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$folder</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">; открытие папки</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">3000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Set folder to &quot;&amp;amp;$folder&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlClick</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Open&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Button3&quot;</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;MsgBox(0,&quot;Folder&quot;,$folder)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;ControlClick button3&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">If</span> <span style="color: #000080; font-style: italic; font-weight: bold;">ControlListView</span>  <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Open&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;SysListView321&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;GetItemCount&quot;</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span> <span style="color: #FF0000; font-weight: bold;">=</span> <span style="color: #AC00A9; font-style: italic; font-weight: bold;">0</span> <span style="color: #0000FF; font-weight: bold;">Then</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;{ESC}&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">ContinueLoop</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">EndIf</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlListView</span>  <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Open&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;SysListView321&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;SelectAll&quot;</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Select all files&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;WinActivate(&quot;Open&quot;)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">500</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;{ENTER}&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Enter to select&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWait</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Adding&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;Completed&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;All pages ready&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinActivate</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Adding&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;Completed&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;{ENTER}&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Ready to save...&quot;&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinActivate</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;^s&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWait</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Save&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">500</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlSetText</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Save&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Edit1&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">$folder</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;\&quot;&amp;amp;$fname );</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlClick</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;Save&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Button2&quot;</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-style: italic; color: #009933;">;Send(&quot;{ENTER}&quot;)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWaitClose</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;Saving&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Saved to &quot;&amp;amp;$folder&amp;amp;&quot;\&quot;&amp;amp;$fname&amp;amp;@CRLF)</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">15000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinActivate</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;!f&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;c&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>   <span style="font-style: italic; color: #009933;">;Закрываем пакет</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">WinWait</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;Do you want to save&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">ControlClick</span> <span style="color: #FF0000; font-weight: bold;">&#40;</span> <span style="font-weight: bold; color: #008080;">&quot;ABBYY&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span><span style="font-weight: bold; color: #008080;">&quot;Do&quot;</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #008080;">&quot;Button2&quot;</span> <span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Sleep</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1000</span><span style="color: #FF0000; font-weight: bold;">&#41;</span><span style="font-style: italic; color: #009933;">;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;!f&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">Send</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #008080;">&quot;x&quot;</span><span style="color: #FF0000; font-weight: bold;">&#41;</span>
&nbsp;
<span style="font-weight: bold; color: #AA0000;">$firsttime</span><span style="color: #FF0000; font-weight: bold;">=</span><span style="font-weight: bold; color: #AA0000;">$firsttime</span><span style="color: #FF0000; font-weight: bold;">+</span><span style="color: #AC00A9; font-style: italic; font-weight: bold;">1</span>
&nbsp;
<span style="color: #0000FF; font-weight: bold;">WEnd</span>
&nbsp;
<span style="color: #000080; font-style: italic; font-weight: bold;">FileWriteLine</span><span style="color: #FF0000; font-weight: bold;">&#40;</span><span style="font-weight: bold; color: #AA0000;">$log</span><span style="color: #FF0000; font-weight: bold;">,</span> <span style="font-weight: bold; color: #AA0000;">@MDAY</span><span style="color: #FF0000; font-weight: bold;">&amp;</span>amp<span style="font-style: italic; color: #009933;">;&quot;/&quot;&amp;amp;@MON&amp;amp;&quot;/&quot;&amp;amp;@YEAR&amp;amp;&quot;	&quot;&amp;amp;@HOUR&amp;amp;&quot;:&quot;&amp;amp;@MIN&amp;amp;&quot;:&quot;&amp;amp;@SEC&amp;amp;&quot; &amp;gt;&amp;gt;&amp;gt; &quot;&amp;amp;&quot;Total of &quot;&amp;amp;$firsttime&amp;amp;&quot;processed&quot;&amp;amp;@CRLF)</span></pre></div></div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://cyrill.co.uk/2008/03/25/multiple-folders-automated-recognition-with-finereader-and-autoit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Контроль запуска служб Exchange 2007</title>
		<link>http://cyrill.co.uk/2007/12/24/exchange-services/</link>
		<comments>http://cyrill.co.uk/2007/12/24/exchange-services/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 06:29:45 +0000</pubDate>
		<dc:creator>Cyrill</dc:creator>
				<category><![CDATA[Exchange Server]]></category>
		<category><![CDATA[Hints&tips]]></category>
		<category><![CDATA[SysAdm]]></category>
		<category><![CDATA[4001]]></category>
		<category><![CDATA[exchange 2007]]></category>
		<category><![CDATA[get-service]]></category>
		<category><![CDATA[MSExchange System Attendant Mailbox]]></category>
		<category><![CDATA[MSExchangeIS]]></category>
		<category><![CDATA[сервер]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[start-service]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://cyrill.co.uk/2007/12/24/exchange-services/</guid>
		<description><![CDATA[При перезагрузке сервера, выполняющего роль сервера Exchange 2007, надо убедиться, что все службы Exchange 2007 поднялись. Для этого нужно запустить командную консоль Exchange (powershell) и в ней выполнить команду
&#62; get-service *exchange*
На примере ниже существует ошибка: не запущена служба хранилища:
[PS] C:\Documents and Settings\Cyrill&#62;get-service *exchange*
Status   Name          [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>При перезагрузке сервера, выполняющего роль сервера Exchange 2007, надо убедиться, что все службы Exchange 2007 поднялись. Для этого нужно запустить командную консоль Exchange (powershell) и в ней выполнить команду</p>
<p><code>&gt; get-service *exchange*</code></p>
<p>На примере ниже существует ошибка: не запущена служба хранилища:</p>
<p><code>[PS] C:\Documents and Settings\Cyrill&gt;get-service *exchange*</code></p>
<p>Status   Name               DisplayName<br />
&#8212;&#8212;   &#8212;-               &#8212;&#8212;&#8212;&#8211;<br />
Running  MSExchangeADTop&#8230; Служба топологии Microsoft Exchange&#8230;<br />
Running  MSExchangeAntis&#8230; Обновление средства защиты от нежел&#8230;<br />
Running  MSExchangeEdgeSync Microsoft Exchange EdgeSync<br />
Running  MSExchangeFDS      Рассылка файлов Microsoft Exchange<br />
Running  MSExchangeImap4    Microsoft Exchange IMAP4<br />
<strong>Stopped  MSExchangeIS       Банк данных Microsoft Exchange</strong><br />
Running  MSExchangeMailb&#8230; Помощники по обслуживанию почтовых &#8230;<br />
Running  MSExchangeMailS&#8230; Отправка почты Microsoft Exchange<br />
Stopped  MSExchangeMonit&#8230; Наблюдение Microsoft Exchange<br />
Stopped  MSExchangePop3     Microsoft Exchange POP3<br />
Running  MSExchangeRepl     Служба репликации Microsoft Exchange<br />
Running  MSExchangeSA       Системный помощник Microsoft Exchange<br />
Running  MSExchangeSearch   Индексатор поиска Microsoft Exchange<br />
Running  MSExchangeServi&#8230; Microsoft Exchange Service Host<br />
Running  MSExchangeTrans&#8230; Транспорт Microsoft Exchange<br />
Running  MSExchangeTrans&#8230; Поиск журналов транспорта Microsoft&#8230;<br />
Running  MSExchangeUM       Единая система обмена сообщениями M&#8230;<br />
Running  msftesql-Exchange  Microsoft Search  (Exchange)<br />
Столбец display-name указывает на имя службы в соответствующей оснастке. Поэтому, запускаем Администрирование/Службы и пытаемся стартовать Банк данных Microsoft Exchange. Если не хочется лишних телодвижений – тут же, в консоли PowerShell, пишем<br />
<code>&gt; start-service MSExchangeIS</code><br />
Когда стартует – расслабляемся =) POP3 запускать не надо – он по умолчанию выключен и не используется.</p>
<p><span id="more-7"></span> Кстати: данный конкретный случай виден еще и по ошибке 4001 источника MSExchange System Attendant Mailbox, возникающей при запуске сервера и повторяющейся раз в минуту в журнале &#8220;Приложение&#8221; сервера.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://cyrill.co.uk/2007/12/24/exchange-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
