<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: возврат значений из процедур через параметры]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7876</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7876&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: возврат значений из процедур через параметры».]]></description>
		<lastBuildDate>Wed, 19 Dec 2012 06:34:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: возврат значений из процедур через параметры]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67142#p67142</link>
			<description><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Что нибудь поправить?</p></blockquote></div><p>По-моему — нормально.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 19 Dec 2012 06:34:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67142#p67142</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: возврат значений из процедур через параметры]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67140#p67140</link>
			<description><![CDATA[<p>Т. к. возражений не было, <a href="http://forum.script-coding.com/viewtopic.php?pid=67139#p67139">добавил</a>.<br />Что нибудь поправить?</p><p>----------------<br /></p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Если выйти за диапозон -4294967295..4294967295, то выводится сообщение об ошибке…</p></blockquote></div><p>Как я понял, ошибка возникает не в EXIT /B — после него можно указать любое целое десятичное число, оно будет лишь преобразованно к указанному диапазону (вероятно, по модулю 0x100000000). По-видимому, ошибка возникала в SET /A (я для простоты душевной использовал шестнадцатеричные значения, а т.к. после EXIT /B можно указать лишь десятичное, преобразовывал их через SET /A.)</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Wed, 19 Dec 2012 05:31:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67140#p67140</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: возврат значений из процедур через параметры]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67014#p67014</link>
			<description><![CDATA[<p>Насколько я могу судить через <em>%errorlevel%</em> можно возвратить 32-битное целое число со знаком, т.е. от -2147483648&nbsp; до 2147483647<br />(если указать значение между 2147483648 и 4294967295 то оно будет преобразованно к отрицательному от -2147483648 до -1,<br />а если между -4294967295 и -2147483649, то к положительному от 1 до 2147483647).<br />Если выйти за диапозон -4294967295..4294967295, то выводится сообщение об ошибке:<br /></p><div class="quotebox"><blockquote><p>Неверное число. Числа ограничены 32 битами точности.</p></blockquote></div><p>значение <em>%errorlevel%</em> не изменяется, но возврат по EXIT /B происходит.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 16 Dec 2012 15:16:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67014#p67014</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: возврат значений из процедур через параметры]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67013#p67013</link>
			<description><![CDATA[<p>Извинятся не за что, всё правильно.<br />Я тоже думаю, что такой подход имеет право на жизнь.<br />Добавлять в ту тему имеют право не только модераторы, но и любые участники со статусом «разработчик».<br />Если не будет возражений или этого не сделает кто-то другой раньше, то через пару дней добавлю.<br /></p><div class="quotebox"><cite>Arigato пишет:</cite><blockquote><p>P.S. У меня есть и много других интересных идей с бат-файлами, если это кому-то нужно, буду ими делиться в этом разделе.</p></blockquote></div><p>Конечно нужно!</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 16 Dec 2012 14:56:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67013#p67013</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: возврат значений из процедур через параметры]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67010#p67010</link>
			<description><![CDATA[<p>Я извиняюсь за создание новой темы, но у меня нет прав писать в форуме forum.script-coding.com/viewtopic.php?pid=20814</p><p>Информация в соответствующей теме мне показалась интересной, особенно полезным был прием с возвратом значений локальных для подпрограммы переменных.</p><p>Сам я раньше использовал несколько иной способ возврата значений из функций, думаю, что он имеет право на жизнь, как третий вариант:</p><div class="codebox"><pre><code>@ echo off
set /p a=Enter a: 
call :sqr %a%
echo %a%^^2 = %errorlevel%
pause
exit /b

:sqr
:: Квадрат числа %1
setlocal
set /a result=%1*%1
endlocal &amp; exit /b %result%</code></pre></div><p>Т.е. возвращаем значение через %errorlevel%. Единственное ограничение такого способа: результат работы функции должен быть целочисленным.</p><p>Если модераторы сочтут нужным, то было бы неплохо добавить в ту тему третий способ.</p><p>P.S. У меня есть и много других интересных идей с бат-файлами, если это кому-то нужно, буду ими делиться в этом разделе.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Sun, 16 Dec 2012 14:00:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67010#p67010</guid>
		</item>
	</channel>
</rss>
