<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10375&amp;type=atom" />
	<updated>2015-02-02T09:53:20Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10375</id>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91174#p91174" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>shiz пишет:</cite><blockquote><p>Формат WSF позволяет указать кодировку самого файла:</p></blockquote></div><p>У меня целевой JS-скрипт, который осуществляет слияние документов Word в один файл. Поместил тело скрипта в предложенную Вами конструкцию XML, поменял расширение у файла на .wsf, запустил – скрипт работает так же хорошо как и раньше + теперь выводит сообщение русскими буквами.<br />Совет помог. Спасибо за науку!</p>]]></content>
			<author>
				<name><![CDATA[Геон]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32851</uri>
			</author>
			<updated>2015-02-02T09:53:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91174#p91174</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91135#p91135" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Геон пишет:</cite><blockquote><p>... Вкратце, был скриншот команды<br /></p><div class="codebox"><pre><code>WScript.Echo(&#039;Проверка кодировки русских букв&#039;);</code></pre></div><p>набитой в редакторе Notepad++, UTF-8 w/o BOM...</p></blockquote></div><p>Создал в Notepad++ файл VBS в кодировке UTF-8 без BOM. Ниже пример строки из этого файла и ее hex-представление:<br /></p><div class="codebox"><pre><code>П р и в е т
D0 9F 20 D1 80 20 D0 B8 20 D0 B2 20 D0 B5 20 D1 82</code></pre></div><p>Символы кириллицы представлены 2 байтами, пробел - одним, как и следует для UTF-8. В ходе загрузки данной строки из файла в память WSH рассматривает каждый байт строки как отдельный символ, как если бы кодировка файла была ANSI (значения меньше 128 соответствуют ASCII, а другие интерпретируется в соответствии с региональными настройками). То есть, вместо преобразования D0 9F в символ &quot;П&quot;, получается преобразование D0 в &quot;Р&quot; и 9F в &quot;џ&quot;. В итоге, переменная в памяти содержит строку:<br /></p><div class="codebox"><pre><code>Рџ СЂ Рё РІ Рµ С‚
20 04 5F 04 20 00 21 04 02 04 20 00 20 04 51 04 20 00 20 04 06 04 20 00 20 04 B5 00 20 00 21 04 1A 20</code></pre></div><p>Именно эта строка и показывается у меня в окне сообщения WScript.Echo. Выполнив обратные преобразования, WScript.Echo вновь стал показывать &quot;П р и в е т&quot; вместо &quot;Рџ СЂ Рё РІ Рµ С‚&quot;:<br /></p><div class="codebox"><pre><code>s = &quot;П р и в е т&quot;
WScript.Echo s &#039; Рџ СЂ Рё РІ Рµ С‚
r = &quot;&quot;
For p = 1 To Len(s)
    r = r &amp; ChrB(Asc(Mid(s, p, 1)))
Next
With CreateObject(&quot;ADODB.Stream&quot;)
    .Type = 2
    .Mode = 3
    .Charset = &quot;Unicode&quot;
    .Open
    .WriteText r
    .Position = 0
    .Charset = &quot;UTF-8&quot;
    r = .ReadText
    .Close
End With
Do While LeftB(r, 2) = ChrB(&amp;HFD) &amp; ChrB(&amp;HFF)
    r = MidB(r, 3)
Loop
WScript.Echo r &#039; П р и в е т</code></pre></div><p>Цикл <strong>For..Next</strong> преобразует каждый символ исходной переменной в байт в соответствии с региональными настройками, и соединяет эти байты в строку UTF-8. Далее <a href="http://forum.script-coding.com/viewtopic.php?id=1179">с помощью <strong>Stream</strong></a> строка преобразуется из UTF-8 в Unicode, &quot;понятный&quot; строковым переменным. Цикл <strong>Do..Loop</strong> отрезает 2 <a href="https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character">символа замены</a> FD FF FD FF, появляющиеся в начале строки на Win7 x64, что свидетельствует об ошибке, хотя искажения строки и нет. На виртуалке же WinXP x86 они не появляются.<br />Критичное место в цепочке преобразования - обеспечение одинаковых региональных настроек для процесса WSH в момент загрузки файла, и в ходе работы первого цикла <strong>For..Next</strong>, использующего <strong>Asc()</strong> для обратного преобразования. В моем случае, если перед циклом добавить <strong>SetLocale()</strong>, отличный от 1049, скрипт выдает ошибку 80070057 на <strong>.ReadText</strong>.<br />Для адаптации данного преобразования под JS необходимо найти альтернативу функциям <strong>ChrB()</strong>, <strong>MidB()</strong> и <strong>LeftB()</strong>.<br /></p><div class="quotebox"><cite>Геон пишет:</cite><blockquote><p>... либо альтернативные команды отображения такого всплывающего окошка.</p></blockquote></div><p>Подобные запросы более продвинутого GUI для WSH уже были, <a href="http://forum.script-coding.com/viewtopic.php?pid=75356#p75356">вот пример</a>.</p>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2015-01-31T21:09:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91135#p91135</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91091#p91091" />
			<content type="html"><![CDATA[<p>Хех. А я и забыл <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2015-01-30T21:55:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91091#p91091</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91089#p91089" />
			<content type="html"><![CDATA[<p>Формат WSF позволяет указать кодировку самого файла:<br /></p><div class="codebox"><pre><code>&lt;?XML version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;job&gt;
&lt;script language=&quot;JScript&quot;&gt;
&lt;![CDATA[
WScript.Echo(&quot;Проверка кодировки русских букв&quot;);
]]&gt;
&lt;/script&gt;
&lt;/job&gt;
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[shiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26249</uri>
			</author>
			<updated>2015-01-30T21:16:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91089#p91089</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91060#p91060" />
			<content type="html"><![CDATA[<p><strong>Геон</strong>, используйте для рисунков сторонние сервисы, позволяющие делать ссылки как на миниатюры, так и на полные изображения, например, Imgur. Крупные изображения обрамлять спойлером.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2015-01-30T13:09:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91060#p91060</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91059#p91059" />
			<content type="html"><![CDATA[<p><strong>alexii,</strong> прошу прощения. Я удалил скриншот потому, что не смог вставить больше одного рисунка, а когда объединил рисунки в один - получился слишком большой, форум его браковал.<br />Вкратце, был скриншот команды<br /></p><div class="codebox"><pre><code>WScript.Echo(&#039;Проверка кодировки русских букв&#039;);</code></pre></div><p>набитой в редакторе Notepad++, UTF-8 w/o BOM</p><p>Еще, хотел вставить скриншоты: вывод крокозябликами; и нормальное отображение.</p>]]></content>
			<author>
				<name><![CDATA[Геон]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32851</uri>
			</author>
			<updated>2015-01-30T12:54:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91059#p91059</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91057#p91057" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>А что это значит &quot;писать сообщения в кодировке&quot;? Где они будут в этой кодировке находиться?</p></blockquote></div><p>До редактирования в сообщении #3 был скриншот с редактором, в строке статуса которого отображалось что-то наподобие UTF-8 w/o BOM. Теперь этот скриншот удалён. <strong>Геон</strong>, не делайте так, тем самым Вы ставите в дурацкое положение отвечающих.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2015-01-30T12:07:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91057#p91057</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91056#p91056" />
			<content type="html"><![CDATA[<p>А что это значит &quot;писать сообщения в кодировке&quot;? Где они будут в этой кодировке находиться?</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2015-01-30T11:56:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91056#p91056</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91055#p91055" />
			<content type="html"><![CDATA[<p><strong>Геон</strong>, ясно. К сожалению, это невозможно.</p><p>WSH работает только в ОС Windows. Кодировка скрипта может быть в ANSI/1251 или Unicode LE с BOM или без (справедливости ради, скажу, что понимается и Unicode BE без BOM, но лучше не пользовать). Кодировка вывода определяется автоматически.</p><p>«Внешние», подгружаемые строки можно перекодировать, наподобие: <a href="http://forum.script-coding.com/viewtopic.php?id=997">WSH: пример конвертации текста из кодировки в кодировку</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2015-01-30T11:54:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91055#p91055</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91054#p91054" />
			<content type="html"><![CDATA[<p><strong>alexii</strong><br />Мне хотелось бы: писать сообщения в привычной для себя кодировке (utf-8), задавать в скрипте в какой кодировке их следует отображать, и чтобы они отображались именно в этой кодировке (даже если в операционной системе применяется другая кодировка).</p>]]></content>
			<author>
				<name><![CDATA[Геон]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32851</uri>
			</author>
			<updated>2015-01-30T11:43:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91054#p91054</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91051#p91051" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>размеры всплывающего окошка реализуемого командой WScript.Echo(&#039;Тестовое сообщение&#039;)</p></blockquote></div><p>Никак. Но можно использовать переносы:<br /></p><div class="codebox"><pre><code>WScript.Echo(&#039;Тестовое\nсообщение&#039;);</code></pre></div><div class="quotebox"><blockquote><p>кодировку выводимого сообщения</p></blockquote></div><p>Тоже никак. Но в большинстве случаев можно произвести перекодировку самой строки. Покажите на примере, что Вам нужно.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2015-01-30T09:57:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91051#p91051</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[WScript/JScript: как задать размеры всплывающего окошка WScript.Echo]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=91050#p91050" />
			<content type="html"><![CDATA[<p>Посоветуйте, пожалуйста: как, в JS скрипте (не браузерный вариант), задать размеры всплывающего окошка реализуемого командой WScript.Echo(&#039;Тестовое сообщение&#039;) и кодировку выводимого сообщения; либо альтернативные команды отображения такого всплывающего окошка.</p>]]></content>
			<author>
				<name><![CDATA[Геон]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32851</uri>
			</author>
			<updated>2015-01-30T08:42:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=91050#p91050</id>
		</entry>
</feed>
