<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Кузница]]></title>
		<link>http://forum.i-forge.net/index.php</link>
		<description><![CDATA[The most recent topics at Кузница.]]></description>
		<lastBuildDate>Sat, 11 Feb 2012 21:46:53 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Оно в обычной ОС]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=95&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>10 Необязательное поле — nullable, может принимать <strong>null</strong>, то бишь ссылка.</cite></li>

</ol>
</blockquote>

<p class="default">
Схожие названия, но понятно.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>10 <strong>inner</strong> означает применение к вложенным классам, а <strong>with inner</strong> — к самому классу и вложенным в него. В данном случае задаётся упаковка.</cite></li>

</ol>
</blockquote>

<p class="default">
То есть задаётся значение по умолчанию для <strong>packed [by]</strong> для класса и/или его подклассов?<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>10  <strong>var</strong>-свойства — переменные, но одновременно добавленные и в <span class="quotes quotes-0">«таблицу виртуальных методов»</span> с возможностью перекрытия.</cite></li>

</ol>
</blockquote>

<p class="default">
А для <strong>private var</strong>-ов тоже создаётся поле? И они входят в конечную структуру, если её передавать в некую функцию платформы?<a name="3" href="#3" title="#3" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '3';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>10 <strong>packed</strong> заставляет компилятор размещать поля строго в порядке описания с учётом наследования, как это делает Delphi.</cite></li>

</ol>
</blockquote>

<p class="default">
Неплохо, наследование для <strong>record</strong>.<a name="4" href="#4" title="#4" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '4';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>10 Знаешь, что в Delphi можно описать <strong>packed object</strong>?</cite></li>

</ol>
</blockquote>

<p class="default">
А вот этого не знал, я и для структур-то <strong>packed</strong> редко использую (смысла не вижу — если она используется только в самой программе, то компилятор явно разберётся, как лучше её хранить).<a name="5" href="#5" title="#5" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '5';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<p class="default">
А зачем для объектов в <strong>Delphi</strong> этот режим? Всё равно как структуру ты его не передашь.<a name="6" href="#6" title="#6" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '6';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>10  Как строки в Delphi работают? Удивительно, почему они этот механизм не распространили на объекты.</cite></li>

</ol>
</blockquote>

<p class="default">
Мне больше удивительно, почему <strong>WideString</strong> работает не так, как <strong>String</strong>. В <strong>Delphi 7</strong> то есть.<a name="7" href="#7" title="#7" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '7';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Sat, 11 Feb 2012 21:46:53 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=95&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Условная компиляция]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=133&amp;action=new</link>
			<description><![CDATA[<p class="default">
Скажу сразу, что после прошлого ответа в этой теме я взялся за <a href="http://tunilab.org/blog/Ono/KolibriSDK" title="TuniBlog:Ono/KolibriSDK" target="_blank" class="round-brackets interwiki-tuniblog external">SDK <span class="quotes quotes-0">«Колибри»</span></a>, и часть решений сходу поменялась.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-2"><cite>1 <style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<code class="format format-ono"><span class="format-name">ono</span><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">out</span> <span class="keyword">bool</span> Unicode; <span class="comment inline">// берётся из настроек проекта</span></code></cite></li>

<li class="level-1"><cite>2 Берётся потому что нет тела метода?</cite></li>

</ol>
</blockquote>

<p class="default">
Сейчас в <a href="http://websvn.tunilab.org/wsvn/TuniLab.UniEnv/Native/Platform/Windows/Unicode.ono" title="Core:Native/Platform/Windows/Unicode.ono" target="_blank" class="round-brackets interwiki-core external">исходниках</a> сделано уже немного по-другому. Надо будет ещё поэкспериментировать, но картина постепенно складывается.<a name="3" href="#3" title="#3" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '3';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<p class="default">
Проблема, блин: не знаешь, код писать, или в блоге статью. Всё важно, а одного человека уже не хватает. Сегодня полдня потратил на <a href="http://tunilab.org/blog/Ono/KolibriSDK" title="TuniBlog:Ono/KolibriSDK" target="_blank" class="round-brackets interwiki-tuniblog external">статью про SDK</a>, потому что решил отписаться, чтобы хоть самому ещё раз принципы повторить. А остальные полдня искал вдохновение, пытаясь переключиться с написания кода на написание обычного текста. Хреново, непроизводительно.<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-2"><cite>1 <style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<code class="format format-ono"><span class="format-name">ono</span><span class="keyword">public</span> <span class="keyword">out</span> <span class="keyword">int</span>(32) SendMessage(Wnd; <span class="keyword">word</span> Msg, WParam; <span class="keyword">int</span> LParam) stdcall <span class="string block">'SendMessageW'</span>;</code></cite></li>

<li class="level-1"><cite>2 Видимо я подзабыл, но это только говорит о неясности: почему функция <span class="quotes quotes-0">«out»</span>? Это ведь возвращаемое значение, оно другим не может быть.</cite></li>

</ol>
</blockquote>

<p class="default">
Так возвращаемое и должно быть <strong>out</strong>. Не пишется ведь in. Возможно, тут и получится редукция, но пока не до неё.<a name="5" href="#5" title="#5" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '5';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>2 По поводу <style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<code class="format format-ono"><span class="format-name">ono</span><span class="keyword">end</span> <span class="keyword">if</span></code> — <span class="quotes quotes-0">«if»</span> в конце это синтаксический сахар?</cite></li>

</ol>
</blockquote>

<p class="default">
Не, это я на автомате написал, как в PL/SQL. <img src="/img/uwiki-smilies/smile.png" title="☺" alt="☺" /> В Оно <strong>end</strong> всегда <strong>end</strong>, безо всяких. В Аде авторы всё же перемудрили со строгостью синтаксиса.<a name="4" href="#4" title="#4" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '4';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-2"><cite>1 * В обычных классах цикл не скомпилируется, поскольку имена свойств должны быть уникальны. Ни для чего другого на этом уровне цикл непригоден.</cite></li>

<li class="level-1"><cite>2 А серию свойств? Если в этом есть практический смысл, гы. <kbd>eval('public Field' + i)</kbd></cite></li>

</ol>
</blockquote>

<p class="default">
Поскольку у нас статическая типизация, вводить ещё и плавающие имена свойств будет неверно. Какая сигнатура будет у класса с нагенерёнными именами? Не, не пойдёт. <kbd>Prop1, Prop2, Prop3</kbd> — однозначно быдлокод, и обходиться он должен поднятием на уровень выше — функцией высшего порядка, чем и является обобщение.<a name="7" href="#7" title="#7" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '7';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<p class="default">
Зато понял, что подобная <span class="quotes quotes-0">«условная компиляция»</span> уже позволяет описать простые классы в виде обобщений с последующим раскрытием, — тот же самый <strong>int</strong> или перечисления. Как планировал, ура.<a name="6" href="#6" title="#6" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '6';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>2 <strong>enum</strong> разве не <strong>class</strong> теперь?</cite></li>

</ol>
</blockquote>

<p class="default">
Это уже после придумалось. <img src="/img/uwiki-smilies/smile.png" title="☺" alt="☺" /><a name="8" href="#8" title="#8" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '8';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>2 В целом пример интересный, хоть и не до конца понятный.</cite></li>

</ol>
</blockquote>

<p class="default">
Мне тоже. Ещё не все БНФ в голове сформировались.<a name="9" href="#9" title="#9" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '9';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Tue, 07 Feb 2012 22:47:19 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=133&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Деревья и графы]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=118&amp;action=new</link>
			<description><![CDATA[<p class="default">
Без примеров вся эта ветка для меня пока как ребус. Может напишешь парочку, раз уж за SDK взялся?<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Tue, 07 Feb 2012 17:26:28 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=118&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Оператор **with**]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=126&amp;action=new</link>
			<description><![CDATA[<p class="default">
Похоже, вопрос с <strong>with</strong> решён окончательно: обе формы принимаются, и <a href="/profile.php?name=1#4" title="1#4" class="round-brackets internal">блочная</a> тоже.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Sun, 05 Feb 2012 14:13:06 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=126&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Подсветчик синтаксиса Оно]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=88&amp;action=new</link>
			<description><![CDATA[<p class="default">
Добавляем <style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<code class="format format-ono"><span class="format-name">ono</span>packed, handle, raw</code>. Слово <style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<code class="format format-ono"><span class="format-name">ono</span><span class="keyword">siblings</span></code> пока не удаляем, остаётся зарезервированным для сортировки, как в SQL.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Fri, 03 Feb 2012 15:53:27 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=88&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Действие %%{{file}}%%]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=132&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>5 Нда, к этому всему надо качественное описание. Но в этой теме это флуд.</cite></li>

</ol>
</blockquote>

<p class="default">
Угу.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>5 Смысл в том, чтобы сделать что-то вроде яркой кнопки, а не просто ссылки.</cite></li>

</ol>
</blockquote>

<p class="default">
Так, тогда вроде понятно:<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<ul><li class="disc">строчный <kbd>{{download}}</kbd> (мы же так его назовём?) — строчная ссылка на аналогии со <a href="http://uverse.i-forge.net/wiki/demo/Extensions/List/Attach" title="http://uverse.i-forge.net/wiki/demo/Extensions/List/Attach" target="_blank" class="round-brackets external">строчным <kbd>%%attach</kbd></a> — просто выделенная ссылка в тексте; рендерится в <style type="text/css">.format-xml  .doctype { color: #3798BE; }
.format-xml  .xmldecl { font-weight: bold; }
.format-xml  .comment { color: #4D4D4D; font-style: italic; }
.format-xml  .tag { font-weight: bold; color: maroon }
.format-xml  .single { color: red; }
.format-xml  .string { color: blue; }
.format-xml  .attribute { font-weight: bold; }
.format-xml  .entity { color: navy; }</style>

<code class="format format-xml"><span class="format-name">xml</span>&lt;<span class="tag inline">a</span> <span class="attribute inline">class</span>=<span class="string inline">"download"</span>&gt;</code>.</li><li class="disc">блочный <kbd>{{download}}</kbd> — большая яркая кнопка, рендерится в <style type="text/css">.format-xml  .doctype { color: #3798BE; }
.format-xml  .xmldecl { font-weight: bold; }
.format-xml  .comment { color: #4D4D4D; font-style: italic; }
.format-xml  .tag { font-weight: bold; color: maroon }
.format-xml  .single { color: red; }
.format-xml  .string { color: blue; }
.format-xml  .attribute { font-weight: bold; }
.format-xml  .entity { color: navy; }</style>

<code class="format format-xml"><span class="format-name">xml</span>&lt;<span class="tag inline">div</span> <span class="attribute inline">class</span>=<span class="string inline">"download"</span>&gt;</code> и красится стилями.</li><li class="disc">единственные два <span class="quotes quotes-0">«атрибута»</span> — size и date, оба могут быть 0, size по умолчанию <span class="quotes quotes-0">«auto»</span>, date — 0.</li></ul>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>5 А если хостинг не в шаговой доступности, а где модно?</cite></li>

</ol>
</blockquote>

<p class="default">
Какая разница? Тебе важно, что твоя прога будет выглядеть выложенной не в 15:00 MSK, а в 11:00 UTC? Мне казалось, что раз дата как раз не является важным признаком ей можно дать и умолчательную автоподстановку. Нет?<a name="3" href="#3" title="#3" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '3';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>5 Сверим часы</cite></li>

</ol>
</blockquote>

<p class="default">
Ничего не понял в этом абзаце, но раз мы не обсуждаем карточку программы, то проехали.<a name="4" href="#4" title="#4" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '4';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Thu, 26 Jan 2012 07:34:29 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=132&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Оформление]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=7&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>124 Похоже, длинные строки в исходниках надо всё же переносить, иначе <a href="/viewtopic.php?id=132" title="«Действие %%{{file}}%%», ((/132))" class="round-brackets internal">жопа</a>.</cite></li>

</ol>
</blockquote>

<p class="default">
С <style type="text/css">.format-css  .spec { color: maroon; border: 1px dashed; padding: 0 1px; }
.format-css  .prop { color: green; }
.format-css  .url { color: navy; }
.format-css  .string { color: blue; }
.format-css  .comment { color: #4D4D4D; font-style: italic; }
.format-css  .brace { color: purple; }
.format-css  .num { color: navy; }</style>

<code class="format format-css"><span class="format-name">css</span><span class="prop inline">white-space</span>: pre</code> вообще очень знатные косяки — за всё время я обнаружил только один способ заставить <kbd>pre</kbd> не растягивать контейнер (или выпирать из него, что чаще), а добавлять снизу прокрутку — это таблица с <style type="text/css">.format-css  .spec { color: maroon; border: 1px dashed; padding: 0 1px; }
.format-css  .prop { color: green; }
.format-css  .url { color: navy; }
.format-css  .string { color: blue; }
.format-css  .comment { color: #4D4D4D; font-style: italic; }
.format-css  .brace { color: purple; }
.format-css  .num { color: navy; }</style>

<code class="format format-css"><span class="format-name">css</span><span class="prop inline">table-layout</span>: fixed</code>.<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<p class="default">
В общем, похимичу. Переносить строки бы не хотелось, т.к. это уже будет не совсем <kbd>pre</kbd>.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Sat, 21 Jan 2012 06:58:27 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=7&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Новые подсветчики]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=130&amp;action=new</link>
			<description><![CDATA[<p class="default">
Благодаря <a href="http://proger.i-forge.net/%C2%ABStage_Once%C2%BB_%E2%80%93_a_Visual_Novel_hacking_tutorial/IPD/thread?parent=6" title="http://proger.i-forge.net/%C2%ABStage_Once%C2%BB_%E2%80%93_a_Visual_Novel_hacking_tutorial/IPD/thread?parent=6" target="_blank" class="round-brackets external">дискуссии</a> на тему взлома игр в моём блоге появился новый форматтер — <kbd>%%asm</kbd>:<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<style type="text/css">.format-asm  .comment { color: green; }
.format-asm  .string { color: navy; }
.format-asm  .number { color: blue; }
.format-asm  .addr { background: yellow; }
.format-asm  .operation { font-weight: bold; }
.format-asm  .register { color: maroon; }</style>

<pre class="format format-asm">
<span class="format-name">asm</span><span class="operation inline">db</span> <span class="string inline">"String"</span>, <span class="number inline">5</span>

.text:<span class="number inline">004029FB</span> <span class="operation inline">mov</span>     <span class="register inline">al</span>, <span class="register inline">dl</span>                          <span class="comment inline">; DECODING ROUTINE</span>
.text:<span class="number inline">004029FD</span> <span class="operation inline">add</span>     <span class="register inline">al</span>, <span class="register inline">bl</span>
.text:<span class="number inline">004029FF</span> <span class="operation inline">mov</span>     <span class="register inline">bl</span>, <span class="addr inline">[ecx]</span>
.text:<span class="number inline">00402A01</span> <span class="operation inline">sub</span>     <span class="register inline">bl</span>, <span class="register inline">al</span>
.text:<span class="number inline">00402A03</span> <span class="operation inline">mov</span>     <span class="addr inline">[ecx]</span>, <span class="register inline">bl</span>
.text:<span class="number inline">00402A05</span> <span class="operation inline">inc</span>     <span class="register inline">ecx</span>
.text:<span class="number inline">00402A06</span> <span class="operation inline">mov</span>     <span class="register inline">bl</span>, <span class="register inline">dl</span>
.text:<span class="number inline">00402A08</span> <span class="operation inline">dec</span>     <span class="register inline">esi</span>
.text:<span class="number inline">00402A09</span> <span class="operation inline">mov</span>     <span class="register inline">dl</span>, <span class="register inline">al</span>
.text:<span class="number inline">00402A0B</span> <span class="operation inline">jnz</span>     short loc_4029FB                <span class="comment inline">; DECODING ROUTINE</span>
</pre>



<p class="default">
Строчный <style type="text/css">.format-asm  .comment { color: green; }
.format-asm  .string { color: navy; }
.format-asm  .number { color: blue; }
.format-asm  .addr { background: yellow; }
.format-asm  .operation { font-weight: bold; }
.format-asm  .register { color: maroon; }</style>

<code class="format format-asm"><span class="format-name">asm</span><span class="operation inline">MOV</span> <span class="register inline">EAX</span>, <span class="addr inline">[EBX]</span>  <span class="comment inline">; режим</span></code>.<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Tue, 10 Jan 2012 13:48:18 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=130&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Операторы **insert**, **update** и **delete**]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=129&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>1 А insert/update/delete — переход из model в local, например. В обычном программировании зовётся также сериализацией.</cite></li>

</ol>
</blockquote>

<p class="default">
Пока не совсем понятно, так что будем обсуждать, когда развернёшь тему <img src="/img/uwiki-smilies/smile.png" title="☺" alt="☺" /><a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Wed, 21 Dec 2011 07:08:56 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=129&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Значения и ссылки]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=120&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>6 Или только короткие строки передаются через стёк?</cite></li>

</ol>
</blockquote>

<p class="default">
Естественно, речь про <span class="quotes quotes-0">«старые»</span> строки Паскаля, в терминологии Delphi — <kbd>ShortString</kbd>. Длинные строки специально были сделаны со счётчиком ссылок, чтобы передаваться по ссылке и освобождаться при обнулении счётчика. Позже WideString были прикручены немного сбоку, через OLE, но в модных версиях заменены на UnicodeString, которые тоже со счётчиком и даже с кодовой страницей, как в ЕС.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>6 А как быть, если надо/больше два раз передать оную запись? Хотя, согласен, здесь уже нагляднее будет объявить новую переменную и мудрить с ней.</cite></li>

</ol>
</blockquote>

<p class="default">
Функцию, функцию!<a name="2" href="#2" title="#2" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '2';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<blockquote class="inline">
<ol>
<li class="level-1"><cite>6 А объявление <strong>new from</strong> внутри вызова функции мне определённо нравится.</cite></li>

</ol>
</blockquote>

<p class="default">
А мне наоборот. Напрягает, что строчный вызов функции содержит блочный <strong>new from</strong>. Придумывать блочную форму вызова функции? Зашибись, — у каждого оператора блочная и строчная формы — не жирно ли? Требовать функцию? Оставить лишь правилом хорошего тона?<a name="3" href="#3" title="#3" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '3';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>

<style type="text/css">.format-ono  .string { color: navy; }
.format-ono  .comment { color: gray; font-style: italic; }
.format-ono  .keyword { font-weight: bold; }
.format-ono  .wiki { color: green; }</style>

<pre class="format format-ono">
<span class="format-name">ono</span><span class="keyword">public</span> Foo(rec x)
  y = <span class="keyword">new</span> <span class="keyword">from</span> x
    Field = <span class="keyword">true</span>;
  <span class="keyword">end</span>;

  Bar(y);
<span class="keyword">end</span>;
</pre>



<p class="default">
По-любому, права доступа к параметру — часть соглашения по вызовам, отделяющая ФП-код от алгоритмов. В гибридном языке по-другому никак.<a name="4" href="#4" title="#4" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '4';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Tue, 20 Dec 2011 11:44:08 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=120&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Обобщения]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=107&amp;action=new</link>
			<description><![CDATA[<blockquote class="inline">
<ol>
<li class="level-1"><cite>14 ты поэтому и новую конструкцию вводить не хочешь — она может использоваться только в одном месте?</cite></li>

</ol>
</blockquote>

<p class="default">
Угу, поэтому.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Tue, 20 Dec 2011 11:25:14 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=107&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Признаки устойчивой ОС]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=97&amp;action=new</link>
			<description><![CDATA[<p class="default">
<a href="http://users.livejournal.com/__hedin/346014.html" title="http://users.livejournal.com/__hedin/346014.html" target="_blank" class="round-brackets external">Опять</a> в тему культуры. Аж из доки <a href="http://tunilab.org/doc/UniEnv.php#ссылки" title="TuniDoc:UniEnv.php#ссылки" target="_blank" class="round-brackets interwiki-tunidoc external">сослался</a>.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Freeman)]]></author>
			<pubDate>Sun, 11 Dec 2011 10:52:36 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=97&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Экранирование разметки]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=128&amp;action=new</link>
			<description><![CDATA[<p class="default">
Речь о том, как человек может вывести текст, где отформатирована только типографика/смайлики. В качестве примера я привёл вариант, когда нужно вывести какое-то программное сообщение (например ошибку) и только облагородить его преобразованиями тире и <span class="nowrap">т.п.</span><a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Sun, 11 Dec 2011 07:09:23 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=128&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Причины тугой прокрутки в Опере]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=28&amp;action=new</link>
			<description><![CDATA[<p class="default">
Видимо, это достаточно видимый косяк, чтоб разработчики его не замечали.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Fri, 09 Dec 2011 07:23:28 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=28&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Циклы]]></title>
			<link>http://forum.i-forge.net/viewtopic.php?id=122&amp;action=new</link>
			<description><![CDATA[<p class="default">
А, типа finally в try? Да, удобно, не нужно дополнительно писать if перед циклом.<a name="1" href="#1" title="#1" onclick="var p = FindParentOf(this, 'div', 'blockpost');var t = FindChildOf(p, 'table', null);if (t) {var td = FindChildByPath(t, ['tbody', null], ['tr', null], ['td', null]);var i = FindChildByPath(td, 'num', ['input', null]);var c = FindChildByPath(td, 'num', ['input', 'anchor']);if (i &amp;&amp; c) {c.WikiAnchor = '1';c.checked = true;c.onclick();return false;}};" class="anchor"></a>
</p>]]></description>
			<author><![CDATA[dummy@example.com (Proger_XP)]]></author>
			<pubDate>Mon, 05 Dec 2011 06:18:47 +0000</pubDate>
			<guid>http://forum.i-forge.net/viewtopic.php?id=122&amp;action=new</guid>
		</item>
	</channel>
</rss>

