<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391603</guid>
        <pubDate>Tue, 29 Jun 2004 19:58:11 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391603</link>
        <description><![CDATA[*Max*: Всем спасибо за ответы. Уже начал качать Free Pascal.. не нашел его у себя. Попробую там поиграться. <br><br>А тему о размере файлов думаю нужно будет поднять (если ее не подняли до меня конечно :) ).. Все таки это не дело.. Да, я не спорю - бывают ситуации когда можно спокойно писать на Делфи и не парить мозги тем, что у тебя пустая форма компилируется в 400 Бк.. Но иногда это явно не подходит.]]></description>
        <author>*Max*</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391442</guid>
        <pubDate>Tue, 29 Jun 2004 16:12:26 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391442</link>
        <description><![CDATA[Trustmaster: Поделюсь одним секретом по сжатию под Win32:<br>
1) Упаковываешь exe-шник при помощи UPX (<a class='tag-url' href='http://upx.sf.net' target='_blank'>http://upx.sf.net</a>);<br>
2) А потом выполняешь &quot;Rebuild PE&quot; в PE-Tools(<a class='tag-url' href='http://www.uinc.ru' target='_blank'>http://www.uinc.ru</a>).<br>
В результате даже весьма приличные приложения (на Free Pascal, например) сжимаются до малых размеров.]]></description>
        <author>Trustmaster</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391336</guid>
        <pubDate>Tue, 29 Jun 2004 13:35:32 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391336</link>
        <description><![CDATA[Jin X: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><strong class='tag-b'>Vesper</strong>, 29.06.04, 10:04<br>
Trustmaster, crt&#39;шный делэй вообще-то безнадежно устарел  и годен только на генерацию рантайм-ерроров</div></div>Не надо...<br>
<a class='tag-url' href='http://pascal.sources.ru/cgi-bin/show.cgi?cat=incoming&id=newcrt' target='_blank'>http://pascal.sources.ru/cgi-bin/show.cgi?...oming&id=newcrt</a><br>
<br>
По поводу темы...<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">repeat</div><div class="code_line">&nbsp;&nbsp;asm</div><div class="code_line">&nbsp;&nbsp; &nbsp;mov ax,1680h</div><div class="code_line">&nbsp;&nbsp; &nbsp;int 2Fh</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">until УсловиеВыхода</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Jin X</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391317</guid>
        <pubDate>Tue, 29 Jun 2004 13:18:10 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391317</link>
        <description><![CDATA[Romtek: <strong class='tag-b'>*Max*</strong>,<br>
как тебе сказал уже <strong class='tag-b'>Trustmaster</strong>, подключи модуль Windows, и используй Sleep() [Free Pascal / TMT]<br>
<br>
А если хочешь получить маленький размер ЕХЕ файла, пиши на Ассемблере (тогда тебе в другой раздел). Но, по-моему, излишня такая придирчивость к размеру приложения, она не оправдана. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-06-29T13:22:31+00:00">29.06.04, 13:22</time></strong>:</span></span><br>
Также можно упаковать ехешник такими пакерами, как UPX, ASPack, ...<br>
Если это сильно критично. Но тогда это ОТДЕЛЬНАЯ тема для обсуждения&#33;]]></description>
        <author>Romtek</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391312</guid>
        <pubDate>Tue, 29 Jun 2004 13:08:00 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391312</link>
        <description><![CDATA[*Max*: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Что тебе нужно? Консольное приложение? А почему так критичен размер? </div></div><br>
<br>
Хотел разобраться с консольными приложениями в виндоусе. Что оно будет делать - не важно - общий случай. Первая проблема которая возникла была связана с задержкой. Но с этим вроде разобрались. Процедура Yield дает не плохой результат. <br>
<br>
Далее встал вопрос с размере. Все таки разница в размере дос приложения и виндоус в 50 раз - довольно существенно. Вот начал интересоваться.. <br>
Возможно это настройки компилятора, возможно просто старая версия компилятора (хотя я сильно сомневаюсь что в новой размер экзешника будет меньше, скорее наоборот).. может еще что-то.. Вот поэтому и спрашиваю.. :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-06-29T13:10:10+00:00">29.06.04, 13:10</time></strong>:</span></span><br>
Может можно как-то использовать исключительно модули виндоуса, не подключая в экзешник &quot;родные&quot; паскаля&#092;си? Это должно резко сократить код. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-06-29T13:13:32+00:00">29.06.04, 13:13</time></strong>:</span></span><br>
Кстати форум не реагирует на разницу в часовых поясах: <br>
<br>
Сообщ. #9 сегодня, 17:08 - явно &quot;серверное&quot; время<br>
Через 2 минуты я дополняю:<br>
Добавлено в 16:10  - &quot;мое&quot; время<br>
<br>
;)]]></description>
        <author>*Max*</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391224</guid>
        <pubDate>Tue, 29 Jun 2004 12:10:05 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391224</link>
        <description><![CDATA[Eiden: Хм. Раздел не про C, но все же. <br>Если там все правильно сделать, то размеры будут и меньше.<br><br>Что тебе нужно? Консольное приложение? А почему так критичен размер?]]></description>
        <author>Eiden</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391206</guid>
        <pubDate>Tue, 29 Jun 2004 11:46:28 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=391206</link>
        <description><![CDATA[*Max*: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>то есть все равно тормозит? Кхм... Попробуй поставь цикл типа  <br>
repeat Yield; until kakoe_to_message; <br>
</div></div><br>
<br>
Так и делаю.. <br>
<br>
<br>
2 all<br>
<br>
Посоветуйте на чем лучше писать - должно получиться КОМПАКТНОЕ приложение.. Делфи не подходит по определению.. 15 Бк пустого консоль приложение не катит. Пытался вот писать на Паскале под виндоус - меня убило что там нету встроенного отладчика + глюки с подключение модулей - в хелпе толком ничего нету, а угадать самому в какой модуле находится та или другая функция - не реально. <br>
Начал уже читать Си.. все супер - а приложение все равно компилируются очень большими.. 45-50 бк просто вывод текста.. <br>
<br>
ЗЫ На асм перереходить не очень хочется.. геморойно это все-таки.. :/]]></description>
        <author>*Max*</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390959</guid>
        <pubDate>Tue, 29 Jun 2004 05:04:24 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390959</link>
        <description><![CDATA[Vesper: <strong class='tag-b'>Trustmaster</strong>, crt&#39;шный делэй вообще-то безнадежно устарел :) и годен только на генерацию рантайм-ерроров :lol: <br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><strong class='tag-b'>*Max*</strong>, 28.06.04, 13:47<br>
Виндоус почти не тормозит от моей программы в 10 кб..</div></div><br>
то есть все равно тормозит? Кхм... Попробуй поставь цикл типа <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">repeat Yield; until kakoe_to_message;</div></ol></div></div></div></div>]]></description>
        <author>Vesper</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390847</guid>
        <pubDate>Mon, 28 Jun 2004 20:12:06 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390847</link>
        <description><![CDATA[Trustmaster: Не знаю как в BP7, но в Delphi и Free Pascal функция sleep() (как и многие другие функции WinAPI) находятся в модуле winsows:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">uses windows;</div></ol></div></div></div></div><br>
А еще что-то припоминаю про функцию delay() в модуле CRT...]]></description>
        <author>Trustmaster</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390366</guid>
        <pubDate>Mon, 28 Jun 2004 09:47:33 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390366</link>
        <description><![CDATA[*Max*: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Eiden &#064; 28.06.04, 01:39</span><div class='quote '>Хм. Когда ты пишешь программы под Windows, система сама разберется, как и кому передавать управление.</div></div><br>
Система-то разбирается.. но вопрос на сколько каряво? к примеру если в цикле изменить на: <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">repeat writeln until T &#60;= ReadTimer; </div></ol></div></div></div></div>- то уже становится намного лучше.. но это все равно бред какой-то. <br>
<br>
В WinAPI нашел такую процедуру: Sleep(x). Это и есть передача управления виндоусу на Х миллисекунд. В Си она находится с модуле &quot;windows.h&quot; а вот где она в паскале? Как ее вызвать из паскаля? (в хелпе понятно ничего про нее)<br>
<br>
<br>
Еще нашел такую загадочную процедуру как WaitMessage <br>
<em class='tag-i'>WaitMessage (Windows API procedure)<br>
Declaration<br>
procedure WaitMessage;<br>
<br>
Description<br>
Yields control to other applications and does not return until a message becomes available in the application queue.</em><br>
<br>
По-идее это как раз то что нужно.. работает лучше но все равно каряво. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-06-28T09:55:31+00:00">28.06.04, 09:55</time></strong>:</span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Vesper &#064; 28.06.04, 11:25</span><div class='quote '>Вроде бы была такая процедура Yield; без параметров, передающая управление виндам с сохранением состояния задачи. В ВР7.0 она может и быть актуальной.</div></div><br>
Хм.. По сравнению со всем предыдущим - работает супер.. Виндоус почти не тормозит от моей программы в 10 кб..  :)]]></description>
        <author>*Max*</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390266</guid>
        <pubDate>Mon, 28 Jun 2004 08:25:45 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390266</link>
        <description><![CDATA[Vesper: обычно ДОСовые события передаются через глобальные переменные, например так:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var GlobalFlag:boolean;</div><div class="code_line">procedure Int08Handler:interrupt;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;asm pushf; call dword ptr ds:OldInt08 end; {вызываем старый обработчик}</div><div class="code_line">&nbsp;&nbsp;if blablabla then GlobalFlag:=true;</div><div class="code_line">end;</div><div class="code_line">....</div><div class="code_line">while not GlobalFlag do {что-либо, в циклах до события};</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-06-28T08:28:39+00:00">28.06.04, 08:28</time></strong>:</span></span><br>
а виндовые примерно так же, но через хэндлеры. Вроде бы была такая процедура Yield; без параметров, передающая управление виндам с сохранением состояния задачи. В ВР7.0 она может и быть актуальной.]]></description>
        <author>Vesper</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390050</guid>
        <pubDate>Sun, 27 Jun 2004 22:39:05 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390050</link>
        <description><![CDATA[Eiden: Хм. Когда ты пишешь программы под Windows, система сама разберется, как и кому передавать управление. А специального средства передать упреавление Windows используя фактически средства DOS, не существует]]></description>
        <author>Eiden</author>
        <category>Pascal</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390039</guid>
        <pubDate>Sun, 27 Jun 2004 21:57:11 +0000</pubDate>
        <title>Задержка в Pascal</title>
        <link>https://forum.sources.ru/index.php?showtopic=58170&amp;view=findpost&amp;p=390039</link>
        <description><![CDATA[*Max*: Столкнулся с такой проблемой: мне нужно что бы моя программа (паскаль, но под виндоус) ждала какого-то события. Долго искал.. все, что смог найти сводится к:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure Pause( p : longint ); </div><div class="code_line">var T : longint; </div><div class="code_line">begin </div><div class="code_line">T := ReadTimer + p; </div><div class="code_line">repeat until T &#60;= ReadTimer; </div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
ну или через GetTickCount - не важно.. Во всем этом нужно делать бесконечный цикл, а это очень сильно сказывается на процессоре. Т.е. когда это программа под Дос - это не важно, а вот если под виндоус - виндоус начинает жутко тормозить, пока моя программа обрабатывает цикл repeat until [что-то там].. Как с этим можно справиться? <br>
По идее, программа должна передать управление виндоусу на Х миллисекунд.. Но как это сделать?<br>
<br>
З.Ы. Пробовал SetTimer, но не получилось с ним толком разобраться. То что у меня получилось сводилось к тому же - программа должна что-то &quot;делать&quot; пока не запустится процедура из SetTimer&#39;а]]></description>
        <author>*Max*</author>
        <category>Pascal</category>
      </item>
	
      </channel>
      </rss>
	