<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3413798139533588553</id><updated>2011-11-28T02:33:14.798+02:00</updated><title type='text'>Склад программиста. C C++ Pascal Java и Assembler Исходники</title><subtitle type='html'>Паскаль исходники. Паскаль программы. Pascal исходники. Pascal программы. С программы исходники. Исходники ассемблер. Ассемблер задачи. Си программы. Исходники Паскаль. Исходники C. Исходники Си. Си программы. Си исходники. Си задачи. Паскаль задачи. Задачи на паскале. Задачи по паскале. Решить задачу по паскалю. Бесплатные исходники. Скачать бесплатно исходники. Бесплатные программы. Исходники C++, исходники СИ++. Скачать бесплатно исходники. Исходники бесплатно. Java исходники. Java классы.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://completepascal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default?start-index=101&amp;max-results=100'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>370</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1192633296716150681</id><published>2011-03-19T23:24:00.000+02:00</published><updated>2011-03-19T23:24:11.649+02:00</updated><title type='text'>Добро пожаловать!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: verdana; font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;Здесь вы можете бесплатно скачать исходники и просто коды многих решенных задач на языках &lt;span style="color: #cc0000;"&gt;Pascal&lt;/span&gt;&lt;span style="color: #cc0000;"&gt;,&lt;/span&gt; &lt;span style="color: #cc0000;"&gt;C, C++, Java,&amp;nbsp;Assembler &lt;/span&gt;а также&lt;span style="color: #cc0000;"&gt; Lisp &lt;/span&gt;и&lt;span style="color: #cc0000;"&gt; Prolog&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;За достаточно долгое время, с уголоков сети здесь был собран некоторый материал, не относящийся к исходникам, так что здесь вы можете найти полезную информацию, такую как обучение веб-дизайну, шаблоны, исходники, книги, статьи по программированию, алгоритмы, коды, скачать бесплатно лабораторные работы а также многое другое.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.11.27 - Добавлены &lt;a href="http://completepascal.blogspot.com/2010/11/c.html"&gt;исходники C++ студентам&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; font-style: normal; font-weight: normal;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.11.26 - Добавлены&amp;nbsp;&lt;a href="http://completepascal.blogspot.com/2010/10/php.html"&gt;Книги по PHP&lt;/a&gt;&amp;nbsp;и &lt;a href="http://completepascal.blogspot.com/2010/11/javascriptajax.html"&gt;JavaScript/Ajax&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.11.03 - Добавлены &lt;a href="http://completepascal.blogspot.com/2010/11/blog-post.html"&gt;исходники трансляторов&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.11.01 - Добавлены &lt;a href="http://completepascal.blogspot.com/2010/09/prolog.html"&gt;исходники на Lisp и Prolog&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.09.29 - Добавлен &lt;a href="http://completepascal.blogspot.com/2010/09/windows-api.html"&gt;справочник по функциям Windows API&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.09.03 - В разное добавлено &lt;a href="http://completepascal.blogspot.com/2010/08/blog-post_04.html"&gt;58 исходников на ПАСКАЛЕ&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #cc0000; font-size: 16px;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;upd:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2010.08.10 - добавлены &lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/08/c_19.html"&gt;лабораторные работы по C++&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="text-decoration: underline;"&gt; &lt;span style="color: #cc0000; font-size: 100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: #cc0000; font-size: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;Куча полезного из программ написанных на  паскале, есть все темы от  массивов до графики.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/pas/RusPascal.rar" style="color: #000099; font-weight: bold;"&gt;Скачать(898кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: black; font-family: verdana; font-size: 130%;"&gt;Многие программы в разделе задач по паскалю проверены на работоспособность бесплатным компилятором для windows &lt;/span&gt;&lt;span style="color: #000099; font-size: 130%;"&gt;&lt;a href="http://ims.mii.lt/fps/download/0.9.6/fps%200.9.6_en.exe" style="font-family: verdana; font-weight: bold;"&gt;FreePascal&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black; font-family: verdana; font-size: 130%;"&gt;&lt;span style="color: #990000;"&gt; &lt;/span&gt;версии 0.9.6, если текст написан на турбо паскале, то скачайте &lt;a href="http://www.brothersoft.com/turbo-pascal-272943.html" style="color: blue;"&gt;Турбо Паскаль 7.0&lt;/a&gt; Для языков Си и C++ для windows очень удобен &lt;a href="http://www.bloodshed.net/dev/devcpp.html" style="color: #000099; font-weight: bold;"&gt;dev-cpp&lt;/a&gt;. Для компиляции ассемблера, всё найдете в разделе &lt;a href="http://completepascal.blogspot.com/2008/10/blog-post_25.html" style="color: #000099;"&gt;инструменты&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: black; font-family: verdana; font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;Несколько причин, почему сегодня актуально учить C/C++ языки программирования.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: verdana;"&gt;После того, как отборочные интервью закончатся, и даже если вам удастся получить хорошую работу в сфере информационных технологий, это еще не конец истории. В области программирования, ваша первая работа всегда заставит вас освежить ваши навыки C-C++ языков программирования, синтаксис и концепции. Основы, с которыми вы сдали экзамены, которые вы осваивали долгие ночи, необходимо повторно читать.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Почему C/C++ программирование важно? Конечно, на самом деле вы можете рассчитывать на него более чем в одну сторону. Почти все компании, предоставляют C/C++ тесты для изучения возможности их кандидатов. Есть несколько причин, по которым знания C/C++ более востребованы.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; Это первый вид программирования, с которым сталкивается студент уже на первых курсах ВУЗа&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Java, который используется в большинстве крупных компаний, является объектно-ориентированным программированием (ООП) и язык C++ является основным источником, который учит студентов концепциям ООП, что является успехом в программировании.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; Почти все книги охватывают основы структур данных (структура данных отвечает за управление и организацию данных, в случае если вы не знакомы с ней), в C/C++. Это объясняется тем, что понятия ясны и просты в этих двух языках и в них есть встроенные функции чтобы проиллюстрировать их развертывание.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; Многие программы и языки ассемблера находят свою связь со стилем программирования на C/C++&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Что ж, значение языков C/C++ настолько высоко, что они могут быть названы "Фондом программирования". Таким образом, каждый, кто желает войти в мир программирования должен использовать C/C++ навыки, как ворота.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Несколько удобных бесплатныx онлайн &lt;a href="http://c-cplusplus.com/"&gt; веб-сайтов&lt;/a&gt; программирования, где вы можете научиться &lt;a href="http://www.freeonlineprogrammingtutorials.com/"&gt;основам программирования&lt;/a&gt;, а также найти решения для любых ваших запросов программы, связанные с C-C++, HTML, Oracle, Java, PHP-MySQL, Oracle Apps и других языков программирования.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1192633296716150681?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1192633296716150681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1192633296716150681'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2009/01/blog-post_27.html' title='Добро пожаловать!'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3225881709048628535</id><published>2011-03-19T13:16:00.004+02:00</published><updated>2011-03-19T13:20:50.252+02:00</updated><title type='text'>Простейшие операции на bash</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&amp;nbsp; &lt;br /&gt;&lt;div id="news-id-332" style="display: inline;"&gt;Для начала я хочу  проверить работу оператора вывода и работу с переменными. Для этого  напишу пару скриптов, демонстрирующих это..&lt;br /&gt;Оператор вывода в bash - это echo, то что выводится, заключается в кавычки:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo "Hello, World!"&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Получим надпись "Hello, World!"&lt;br /&gt;Хорошо,  напишем вот так:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo 'Hello, World!'&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Я заметил двойные кавычки (") на одинарные ('), но ничего не поменялось. Попробуем вовсе убрать кавычки:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo Hello, World!&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;И что удивительно, результат остался тот же!&lt;br /&gt;Попробуем добавить переменные:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a="Hello, World!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo $a&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Насколько  видно из примера, объявляется переменная без знака доллара ($), но  используется уже с ним. Чем-то напоминает php. Игра с двойными и  одинарными кавычками привела к одинаковому результату, а вот отсутствие  кавычек вызвало ошибку. Поэтому для строк используем кавычки всегда. У  оператора вывода в bash есть схожая черта с оператором вывода в php:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a="Hello, World!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo "$a"&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Выведет  Hello, World! Кстати, хочу заметить очень важную особенность. Перед и  после оператора присваивания (=) пробелы недопустимы, выдаст ошибку и Вы  долго будете думать из-за чего она возникла.&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a="Hello, World!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo '$a'&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;выведет $a&lt;br /&gt;Попробуем вот такой вариант:&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a="Hello, World!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;b="Привет, Мир!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo $a $b" А это простой текст"&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;В результате между всеми тремя строками есть пробел, интересно :) В php такого нет.&lt;br /&gt;&lt;div class="scriptcode"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;br /&gt;&lt;b&gt;a="Hello, World!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;b="Привет, Мир!"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;c=$a$b&lt;/b&gt;&lt;br /&gt;&lt;b&gt;echo $c&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Выведет  "Hello, World!Привет, Мир!", т.е. для скрещивания строк, достаточно  поставить их рядом. На ладно, с оператором вывода и строками закончим.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3225881709048628535?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3225881709048628535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3225881709048628535'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2011/03/bash.html' title='Простейшие операции на bash'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6100318802691487371</id><published>2011-03-18T22:11:00.000+02:00</published><updated>2011-03-19T13:17:40.634+02:00</updated><title type='text'>Исходники Delphi Сети/Интернет</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="margin-bottom: 0pt; margin-top: 9px;"&gt;&lt;b&gt;1)&lt;/b&gt; Domain name, IP, Traffic (07.11.2004) - исходник программы, позволяющей получить имя домена по его IP-адресу, узнать IP-адрес домена по его имени, узнать IP-адрес компьютера по его имени, узнать имя компьютера по его IP-адресу, перевести IP-адрес компьютера в числовой формат. Также имеется возможность подсчета входящего и исходящего трафика через интерфейсы (учитывается весь трафик) - Кодинг мой.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/domnameip.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/dom_name_ip_tr.zip"&gt;Скачать&lt;/a&gt; (18 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2)&lt;/b&gt; Tracert (12.10.2005) - исходник программы, который показывает принцип трассировки маршрута к WWW-адресу - Автор Александр "Rouse_" Багель.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/tracert.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/tracert.zip"&gt;Скачать&lt;/a&gt; (14 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; Info from IP (12.10.2005) - исходник программы, который демонстрирует получение информации о компьютере в сети - Автор Александр "Rouse_" Багель.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/info_from_ip.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/info_from_ip.zip"&gt;Скачать&lt;/a&gt; (22 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4)&lt;/b&gt; Download Plus (05.08.2005) - исходник программы, который показывает пример реализации менеджера загрузок на подобии таких программ, как: ReGet, FlashGet, GetRight. Основные функции: докачка файлов, установка приоритетов загрузки, поддержка прокси-серверов и многое другое - Автор Сергей "Ex" Леньков.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/download_plus1.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/download_plus.zip"&gt;Скачать&lt;/a&gt; (192 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5)&lt;/b&gt; Userlist (27.06.2005) - исходник программы, предназначенной для вывода списка компьютеров подключенных к локальной сети - Автор неизвестен.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/userlist.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/userlist.zip"&gt;Скачать&lt;/a&gt; (12 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6)&lt;/b&gt; FTP MiniChat (11.06.2005) - исходник программы, предназначенной для общения в чате через FTP-соединение (FTP-клиент, работа с FTP сервером) - Автор H.K.D..&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/minichat_ftp.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/ftp_minichat.zip"&gt;Скачать&lt;/a&gt; (151 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7)&lt;/b&gt; FTP Client Server (31.01.2005) - исходник программы, который содержит в себе исходный код клиента и сервера, для работы с FTP ресурсами - Автор Team Coherence.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/ftp_cl_serv.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/ftp_client_server.zip"&gt;Скачать&lt;/a&gt; (22 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8)&lt;/b&gt; E-Mail (21.12.2004) - исходник программы, предназначенной для приема и отправки электронной почты. Для приема/отправки электронной почты в программе имеется поддержка протоколов POP3 и IMAP4 - Кодинг мой.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/e-mail.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/e_mail.zip"&gt;Скачать&lt;/a&gt; (27 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9)&lt;/b&gt; Курс валют/погода (23.11.2004) - исходник программы, предназначенной для просмотра текущего курса валюты и погоды на текущий день (при этом Ваш компьютер должен быть подключен к сети Интернет). Принцип работы: программа соединяется по Интернет с сервером "http://www.rbc.ru/" и заносит все нужные данные в свое окно - Кодинг мой.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/kursval_pogoda.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/kurs_valut_pogoda.zip"&gt;Скачать&lt;/a&gt; (14 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;10) &lt;/b&gt;Network Traffic Monitor (03.06.2004) - исходник программы, которая предназначена для анализа и подсчета трафика передающегося по локальной сети (LAN) и при соединении с Интернет (Internet) - Автор Zarko Gajic.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/nettrafmon.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/nettrafmonitor.zip"&gt;Скачать&lt;/a&gt; (51 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;11) &lt;/b&gt;ICQ Client 1.21 (17.03.2006) - исходник программы, предназначенной для обмена мгновенными сообщениями (полный аналог ICQ). Это небольшая компонента, которая позволяет вам общаться с ICQ пользователями прямо из вашей программы. Исходники довольно хорошо описаны (правда на английском), так что можно без проблем расширять возможности компоненты - Автор Демченко Александр.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/icq_client_1.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/icq_client.zip"&gt;Скачать&lt;/a&gt; (941 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;12)&lt;/b&gt; Send UDP (22.02.2006) - исходник достаточно сложного примера передачи файлов большого размера по сети с использованием протокола UDP - Автор DELPHIN.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/send_udp.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/send_udp.zip"&gt;Скачать&lt;/a&gt; (10 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;13)&lt;/b&gt; Enum Net Interfaces (16.02.2006) - исходник программы, предназначенной для получения информации об установленных сетевых интерфейсах - Автор Александр "Rouse_" Багель.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/enum_inet_interf.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/enum_inet_interf.zip"&gt;Скачать&lt;/a&gt; (12 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;14)&lt;/b&gt; Поисковик (10.02.2006) - исходник программы, предназначенной для поиска информации на таких поисковых системах, как: Yandex.ru, Rambler.ru, Aport.ru, Google.ru, Yahoo.com, MSN.com - Автор Delphi.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/searcher.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/searcher.zip"&gt;Скачать&lt;/a&gt; (10 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;15)&lt;/b&gt; SiteReg LJPoster (01.02.2006) - исходник программы, предназначенной для автоматической регистрации страниц сайта в каталогах Яндекс (www.yandex.ru) и Рамблер (www.rambler.ru), а также для добавления комментариев в LiveJournal (Живой Журнал) - Кодинг мой.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/sitereg_ljposter.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/sitereg_ljposter.zip"&gt;Скачать&lt;/a&gt; (19 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;16)&lt;/b&gt; I Net (20.01.2006) - исходник программы, предназначенной для обмена сообщениями по сети (локальный чат). Сам модуль может применяться где угодно, начиная с локальных чатов клиент-клиент чатов и кончая играми где требуется быстрый обмен информацией без лишнего расхода трафика - Автор XProger.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/i_net.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/i_net.zip"&gt;Скачать&lt;/a&gt; (17 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;17)&lt;/b&gt; Traffic Info (28.12.2005) - исходник программы, предназначенной для показа и накопления информации о трафике Интернета и сети - Автор Алексей.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/pr_traffic_info.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/pr_traffic_info.zip"&gt;Скачать&lt;/a&gt; (20 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;18)&lt;/b&gt; Net send (26.12.2005) - исходник программы, предназначенной для отправки сообщений по сети с помощью команды "net send Host/IP сообщение" - Автор Виктор Косоногов.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/net_send_1.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/net_send.zip"&gt;Скачать&lt;/a&gt; (51 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;19)&lt;/b&gt; XScanner (08.12.2005) - исходник достаточно простого для понимания и быстрого сканера портов - Автор XProger.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/x_scanner.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/x_scanner.zip"&gt;Скачать&lt;/a&gt; (9 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;20)&lt;/b&gt; Alternative HTTP-Proxy (17.11.2005) - исходник простого HTTP-Proxy сервера с поддержкой аутентификации - Автор CodeLocker.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/alt_http_proxy.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/alt_http_proxy.zip"&gt;Скачать&lt;/a&gt; (20 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;21)&lt;/b&gt; NoNaMe Post Editor (17.02.2007) - исходник программы, показывающей пример создания WYSIWYG-редактора новостей для сайта NoNaMe - Автор Aktuba.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/noname_pe.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/noname_pe.zip"&gt;Скачать&lt;/a&gt; (142 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;22)&lt;/b&gt; Sniffer (05.10.2006) - исходник программы, показывающей пример создания сниффера (программа для прослушивания сети и всей проходящей по ней информации) - Автор Александр "Rouse_" Багель.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/sniffer.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/sniffer.zip"&gt;Скачать&lt;/a&gt; (17 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;23)&lt;/b&gt; Fast scan (20.09.2006) - исходник программы, показывающей пример быстрого сканирования диапазона адресов на наличие ресурсов общего доступа (с использованием потоков) - Автор Александр "Rouse_" Багель.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/fast_scan.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/fast_scan.zip"&gt;Скачать&lt;/a&gt; (15 Кб)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;24)&lt;/b&gt; Mini WebBrowser (08.08.2006) - исходник программы, показывающей пример создания достаточно продвинутого Веб Браузера, аналогичного таким программным продуктам, как: Internet Explorer, Opera, Mozilla Firefox и т.п. - Автор Thomas Stutz.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/mini_web_brows.jpg"&gt;Скриншот&lt;/a&gt; | &lt;a href="http://www.sugardas.lt/%7Ep2d/delphi/mini_web_brows.zip"&gt;Скачать&lt;/a&gt; (162 Кб)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: #f7f7f7;"&gt;&lt;b&gt;&lt;span lang="en-us"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6100318802691487371?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6100318802691487371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6100318802691487371'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2011/03/delphi.html' title='Исходники Delphi Сети/Интернет'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5179047161548311862</id><published>2011-03-02T16:11:00.000+02:00</published><updated>2011-04-02T16:14:53.586+03:00</updated><title type='text'>Полезные Bash скрипты</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Пример: очень простой скрипт резервного копирования:&lt;/span&gt; &lt;/h2&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;SRCD="/home/"                #SRCD - SouRCe Directory - исходный каталог&lt;br /&gt;TGTD="/var/backups/"         #TGTD - TarGeT Directory - конечный каталог&lt;br /&gt;OF=home-$(date +%Y%m%d).tgz  #OF - Output File - выходной файл&lt;br /&gt;tar -cZf $TGTD$OF $SRCD&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Программа, переименовывающая файлы&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;#!/bin/sh&lt;br /&gt;# renna: переименование нескольких файлов по специальным правилам&lt;br /&gt;# Автор - felix hudson Jan - 2000&lt;br /&gt;&lt;br /&gt;#Прежде всего, посмотрите на различные "режимы", которые есть у этой программы.&lt;br /&gt;#Если первый аргумент ($1) подходит, то мы выполняем эту часть&lt;br /&gt;#программы и затем выходим.&lt;br /&gt;&lt;br /&gt;# Проверка на условие добавления префикса.&lt;br /&gt;if [ $1 = p ]; then&lt;br /&gt;&lt;br /&gt;#Теперь сдвигаемся от переменной режима ($1) и префикса ($2)&lt;br /&gt;prefix=$2 ; shift ; shift&lt;br /&gt;&lt;br /&gt;# Быстренько проверим, задан ли хотя бы один файл.&lt;br /&gt;# Если нет, то лучше ничего не делать, чем переименовывать несуществующие&lt;br /&gt;# файлы!!&lt;br /&gt;&lt;br /&gt;  if [$1 = ]; then&lt;br /&gt;     echo "не задано ни одного файла"&lt;br /&gt;     exit 0&lt;br /&gt;  fi&lt;br /&gt;&lt;br /&gt;# Этот цикл for проделывает итерации над всеми файлами, которые мы задали&lt;br /&gt;# программе.&lt;br /&gt;# Он делает одно переименование на файл.&lt;br /&gt;  for file in $*&lt;br /&gt;    do&lt;br /&gt;    mv ${file} $prefix$file&lt;br /&gt;  done&lt;br /&gt;&lt;br /&gt;#Теперь выходим из программы.&lt;br /&gt;  exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Проверка на условие добавления суффикса.&lt;br /&gt;# В остальном эта часть фактически идентична предыдущему разделу;&lt;br /&gt;# смотрите, пожалуйста, комментарии оттуда.&lt;br /&gt;if [ $1 = s ]; then&lt;br /&gt;  suffix=$2 ; shift ; shift&lt;br /&gt;  if [$1 = ]; then&lt;br /&gt;   echo "не задано ни одного файла"&lt;br /&gt;   exit 0&lt;br /&gt;  fi&lt;br /&gt;&lt;br /&gt; for file in $*&lt;br /&gt;  do&lt;br /&gt;   mv ${file} $file$suffix&lt;br /&gt; done&lt;br /&gt;&lt;br /&gt; exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Проверка на условие переименования с заменой.&lt;br /&gt;if [ $1 = r ]; then&lt;br /&gt;&lt;br /&gt;  shift&lt;br /&gt;&lt;br /&gt;# Я включил этот кусок, чтобы не повредить ни один файл, если пользователь&lt;br /&gt;# не определил, что сделать -&lt;br /&gt;# простая мера безопасности:&lt;br /&gt;&lt;br /&gt;  if [ $# -lt 3 ] ; then&lt;br /&gt;    echo "Ошибка; правильный ввод: renna r [выражение] [замена] файлы... "&lt;br /&gt;    exit 0&lt;br /&gt;  fi&lt;br /&gt;&lt;br /&gt;# Сдвигаемся к другой информации&lt;br /&gt;  OLD=$1 ; NEW=$2 ; shift ; shift&lt;br /&gt;&lt;br /&gt;# Данный цикл for последовательно проходит через все файлы, которые мы &lt;br /&gt;# задали программе.&lt;br /&gt;# Он совершает одно переименование на файл, используя программу 'sed'.&lt;br /&gt;# Это простая программа с командной строки, которая анализирует стандартный &lt;br /&gt;# ввод и заменяет регулярное выражение на заданную строку.&lt;br /&gt;# Здесь мы задаём для sed имя файла (как стандартный ввод) и заменяем&lt;br /&gt;# нужный текст.&lt;br /&gt;&lt;br /&gt;  for file in $*&lt;br /&gt;  do&lt;br /&gt;    new=`echo ${file} | sed s/${OLD}/${NEW}/g`&lt;br /&gt;    mv ${file} $new&lt;br /&gt;  done&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Если мы дошли до этой строки, это значит, что программе были заданы&lt;br /&gt;# неправильные параметры. Поэтому мы расскажем пользователю, как её&lt;br /&gt;# использовать&lt;br /&gt;echo "используйте:"&lt;br /&gt;echo " renna p [префикс] файлы.."&lt;br /&gt;echo " renna s [суффикс] файлы.."&lt;br /&gt;echo " renna r [выражение] [замена] файлы.."&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;# done!&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Программа, переименовывающая файлы (простая)&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;code&gt;&lt;/code&gt;&lt;/h2&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;     # renames.sh&lt;br /&gt;     # простая переименовывающая программа&lt;br /&gt;&lt;br /&gt;     criteria=$1&lt;br /&gt;     re_match=$2&lt;br /&gt;     replace=$3&lt;br /&gt;     &lt;br /&gt;     for i in $( ls *$criteria* ); &lt;br /&gt;     do&lt;br /&gt;         src=$i&lt;br /&gt;         tgt=$(echo $i | sed -e "s/$re_match/$replace/")&lt;br /&gt;         mv $src $tgt&lt;br /&gt;     done&lt;/pre&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5179047161548311862?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5179047161548311862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5179047161548311862'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2011/03/bash_02.html' title='Полезные Bash скрипты'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1365747991117913701</id><published>2010-11-26T15:01:00.001+02:00</published><updated>2010-11-27T15:06:06.483+02:00</updated><title type='text'>C++ студентам</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;1) Простейшая реализация двунаправленной ассоциативной памяти (ДАП). CBuilder 6.0.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/bam.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;2)&amp;nbsp;Исходные тексты блочного симметричного шифроалгоритма Cartman-fixed (512 битный ключ, 128 битный блок)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/cartman-fixed_v2.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;3)&amp;nbsp;Исходные тексты реализации симметричного блочного криптоалгоритма Cartman-2DDP3 на языке C.&lt;br /&gt;&lt;br /&gt;4)&amp;nbsp;Алгоритм обрабатывает блоки размером 128-бит. По-умолчанию размер ключа равен 512 бит, допустимы 256 и 384 битные ключи. Для 512 битного ключа выполниется 64 раунда. В основе лежит модификация сети Фейстеля, 64 таблицы перестановки размером 256 байт, пермутации, зависимые от данных и зависимые от ключа индексы и расписания выборки.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/cartman2ddp3.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;5)&amp;nbsp;Програмка, демонстрирующая поиск кратчайшего пути в лабиринте с помошью волнового алгоритма. Подробно прокоментирована. Написана в общем то с целью обьяснения самого волнового алгоритма, а не того как его реализовать. Т.е. при её работе не просто находится кратчайший путь, а показывается, как именно он находится.&lt;br /&gt;&lt;br /&gt;6)&amp;nbsp;Тестировано на Turbo C++ 3.0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/demowave.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;7)&amp;nbsp;Метод градиентного спуска с постояным шагом&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/gradientnui_spusk_s_postoainum_shagom.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;8)&amp;nbsp;Реализация сети Фейштеля (шифрование данных, ключ 32 бита, попытка максимально-скоростной реализации в рамках внутригруппового соревнования).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/jetcrypt.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;9)&amp;nbsp;Распечатка двумерного квадратного массива по спирали, начиная с угла.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/mas.rar.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;10)&amp;nbsp;Метод Конфигураций на С++&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/metod_konfiguracui.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;11) Метод розенброка&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/metod_rezenbroka.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;12)Метод сопряженных направлений&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/metod_soprazonuh_napravlenui.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;13)Лабораторная работа (4 in 1) по дисциплине "Конструкторско-техническое обеспечение", реализующая следущие операции:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;- компоновка элеметов на схеме по связности&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;- начальное размещение элементов на печатной плате с минимизацией длины соединений&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;- разводка печатной платы с помощью волнового алгорима&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;Используемые библиотеки: MFC, MS Flex Grid (msflxgrd.ocx)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/plab.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;14)Курсовая работа по дисциплине "Компьютерная графика". Тема: "Построение диметрической проекции произвольного изображения" (произвольное изображение - параллелепипед).&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/proekcija.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;15)&amp;nbsp;Реализация шахматной задачи о 8ми ферзях&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/queen_src.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: 'Times New Roman'; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;16)&amp;nbsp;Несколько примеров калькуляторов на С++ Builder&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;a href="http://www.sugardas.lt/~p2d/cpp/stud/6.zip"&gt;Скачать&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="fileinfotext" style="font-family: verdana, helvetica, sans-serif; margin-bottom: 2px; margin-left: 0px; margin-right: 0px; margin-top: 2px; padding-left: 10px; padding-right: 10px; padding-top: 5px; text-align: justify; text-indent: 1em;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: verdana, helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1365747991117913701?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1365747991117913701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1365747991117913701'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/c.html' title='C++ студентам'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3259234721930267544</id><published>2010-11-26T14:08:00.000+02:00</published><updated>2010-11-27T14:34:00.680+02:00</updated><title type='text'>JavaScript/AJAX</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Книги по JavaScript и книги по AJAX&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Ajax в действии&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="body" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;img alt="скачать книгу Ajax в действии | Дейв Крейн, Эрик Паскарелло, Даррен Джеймс" src="http://www.internet-technologies.ru/images/books/194_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;#&amp;nbsp;&lt;a href="http://http:%2F%2Fwww.dialektika.com/" style="color: #1f78d3; font-weight: bold; text-decoration: none;" target="_blank"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Издательство: Диалектика&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&amp;nbsp;, 2006 г.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;# Твердый переплет, 640 стр.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;# ISBN 5-8459-1034-X, 1-9323-9461-3&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;# Тираж: 2000 экз.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;#Формат: 70x100/16&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;В этой книге описан новый подход к созданию Web-приложений, известный как Ajax. Авторы рассматривают составные части Ajax: JavaScript, CSS, DOM и объект XMLHttpRequest. Кроме того, в книге нашли отражение вопросы управления кодом, взаимодействия клиента и сервера и применения архитектуры "модель-представление-контроллер" на разных уровнях приложения. Читатель также найдет сведения о защите и производительности - важных характеристиках, существенно влияющих на популярность любого продукта. Рассматриваемые вопросы иллюстрируются примерами практического использования Ajax. В приложениях содержится дополнительная информация об инструментальных средствах, о языке JavaScript и библиотеках. Материал книги изложен на высоком уровне и будет полезен специалистам высокой и средней квалификации.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Официальная страница книги&amp;nbsp;&lt;/b&gt;&lt;a href="http://http:%2F%2Fwww.williamspublishing.com%2Fbooks%2F5-8459-1034-x.html/" style="color: #1f78d3; font-weight: bold; text-decoration: none;" target="_blank"&gt;Ajax в действии&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/ajax_in_action.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;a href="http://depositfiles.com/ru/files/a4htc6e0m" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; text-align: center;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;AJAX and PHP: Building Responsive Web Applications&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу AJAX and PHP: Building Responsive Web Applications | Cristian Darie, Bogdan Brinzarea" src="http://www.internet-technologies.ru/images/books/193_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# Paperback: 284 pages&lt;br /&gt;# Publisher: Packt Publishing (March 3, 2006)&lt;br /&gt;# Language: English&lt;br /&gt;# ISBN-10: 1904811825&lt;br /&gt;# ISBN-13: 978-1904811824&lt;br /&gt;&lt;br /&gt;Building Responsive Web Applications with AJAX and PHP is the most practical and efficient resource a reader can get to enter the exciting world of AJAX. This book will teach you how to create faster, lighter, better web applications by using the AJAX ingredients technologies to their full potential. Assuming a basic knowledge of PHP, XML, JavaScript and MySQL, this book will help you understand how the heart of AJAX beats and how the constituent technologies work together. After teaching the foundations, the book will walk you through eight real-world case studies covering tasks you’ll be likely to need for your own applications: - AJAX enabled form-validation page - Online chat room - Customized type-ahead text entry solution, that helps users find the help page for the PHP functions - A simple cards game that supports multiple simultaneous sessions - Whiteboard where online users can draw online - Database-enabled, editable and customizable data grid - RSS aggregator application - Use the script.aculo.us JavaScript toolkit to build a drag&amp;amp;drop enabled sortable list The appendixes guide you through installing your working environment, using powerful tools that enable debugging, improving, and profiling your code, working with XSLT and XPath, and working with existing AJAX frameworks.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/ajax_php.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/3ogfy4vt7" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;strong style="font-weight: 700;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif; font-weight: normal; white-space: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;JavaScript. Энциклопедия пользователя&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу JavaScript. Энциклопедия пользователя | Ричард Вагнер, Аллен Вайк" src="http://www.internet-technologies.ru/images/books/129_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# Издательство: ДиаСофт, 2001 г.&lt;br /&gt;# Мягкая обложка, 464 стр.&lt;br /&gt;# ISBN: 966-7393-62-3, 0-672-31763-X&lt;br /&gt;# Тираж: 2000 экз.&lt;br /&gt;# Формат: 84x108/16&lt;br /&gt;# Серия: Энциклопедия пользователя&lt;br /&gt;&lt;br /&gt;Книга "JavaScript. Энциклопедия пользователя" является наиболее полным учебными справочным руководством по всем версиям языка JavaScript, включая JavaScript 1.5 и JScript 5.0.Ha сегодняшний день JavaScript представляет собой самый распространенный язык для написания сценариев, обеспечивающих поддержку интерактивного содержимого Web-страниц. Книга охватывает широкий спектр вопросов, начиная с основ языка и заканчивая сложными вопросами практического применения технологий Web-дизайна. Подробно рассматриваются: взаимодействие JavaScript и HTML; типы данных, операции, выражения и операторы; основы объектно-ориентированной методологии и ее реализация в JavaScript; объекты со стороны клиента и сервера; DHTML; технологии написания устойчивого и надежного кода; методика отладки кода. Особое внимание в книге уделяется вопросам достижения безопасности Web-приложений. Книга изобилует множеством практических примеров, которые покрывают всю специфику разработки Web-сайтов с использованием JavaScript. Справочник по базовым языковым объектам превращает книгу в истинное настольное руководство. Сопровождающий CD-ROM содержит исходные коды всех примеров, рассмотренных в книге, а также множество другой полезной информации. "JavaScript. Энциклопедия пользователя" рассчитанана широкий круг разработчиков Web-приложений.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;strong style="font-weight: 700;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-family: verdana, sans-serif; font-size: 12px; line-height: normal; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/Java_Script.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/utq4aw0ac" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; text-align: center; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Самоучитель JavaScript. 2-е издание&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="body" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: black; font-family: verdana, sans-serif; font-size: 12px; font-weight: 400; line-height: 18px; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу Самоучитель JavaScript. 2-е издание | Дунаев В." src="http://www.internet-technologies.ru/images/books/128_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# ISBN: 5-469-00804-5;&lt;br /&gt;&lt;br /&gt;Эта книга предназначена для самостоятельного освоения программирования на языке JavaScript. Кроме общего руководства, она содержит множество примеров и текстов готовых к использованию программ. Рассматриваются вопросы создания сценариев для веб-сайтов, атакже сценариев, выполняемых Windows Scripting Host. В приложениях приводится справочная информация по JavaScript и HTML. Книга адресована как новичкам, так и тем, кто уже имеет некоторый опыт в веб-дизайне и программировании. Во втором издании книги исправлены замеченные опечатки и неточности.&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; white-space: normal;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-size: 12px; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/Vadim_Dunaev_Samouchitel_JavaScript.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #d36211; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/o4fgsiurh" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: #d36211;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #d36211;"&gt;&lt;span class="Apple-style-span" style="color: black; font-weight: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Ядро JavaScript 1.5. Справочник.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #d36211;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;JavaScript это разработанный Netscape межплатформенный объектно-ориентированный язык скриптов (сценариев). Эта книга является справочником по ядру языка JavaScript.&lt;br /&gt;&lt;br /&gt;Оглавление:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Индекс&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 1. Объекты, Методы и Свойства&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 2. Свойства и Функции Верхнего Уровня&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 3. Операторы&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 4. Комментарии&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 5. Операции&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Ключевые Слова&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Не Рекомендуется Использовать&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Глава 6. Java-Классы, Конструкторы и Методы&lt;/div&gt;&lt;div style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Классы LiveConn&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-family: verdana, sans-serif; font-size: 12px; line-height: normal; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/jscoreref15.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/hyn4mi2xn" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; text-align: center; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Практические занятия по JavaScript&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу Практические занятия по JavaScript | Д. В. Николенко" src="http://www.internet-technologies.ru/images/books/126_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# ISBN: 5-7931-0126-8&lt;br /&gt;# Серия: Конспект программиста&lt;br /&gt;# Издательство: Наука и Техника, 2000 г.&lt;br /&gt;# Мягкая обложка, 128 стр.&lt;br /&gt;# Тираж: 5000 экз.&lt;br /&gt;# Формат: 70x100/16&lt;br /&gt;&lt;br /&gt;Эта книга уникальна. Она написана специально для Вас, если Вы чувствуете необходимость реализовать на создаваемых Вами Web-страницах собственные сценарии. Пусть у Вас мало свободного времени, а детальное изучение используемых для этого языков не представляется Вам лучшим способом включиться в работу. Хорошо, если Вы уже имеете некоторый опыт создания Web-страниц, знакомы с HTML и можете разобраться в HTML-кодах. В этом случае книга, которую Вы держите в руках - это именно то, что Вам необходимо. Издание состоит из 12 глав. В каждой главе раскрываются наиболее важные особенности написания кодов и возможности обогащения HTML с использованием JavaScript. В тексте приводятся листинги программ. В целях приобретения опыта написания программ мы рекомендуем вводить примеры с клавиатуры, запоминать их в отдельном файле, который затем может быть загружен в броузер и проверен на работоспособность. Книга является практическим руководством, рассчитанным на начинающих пользоваться возможностями JavaScript для обогащения своих страниц. Прочитав и изучив пособие, Вы будете иметь достаточное представление о том, как создаются скрипты на JavaScript. Для дальнейшей работы Вам будет необходимо использовать лишь справочные материалы по JavaScript. Приложение этой книги представляет собой небольшой лаконичный справочник по объектам, свойствам и методам JavaScript. Он ни в коей степени не создавался полным или исчерпывающим, давая право на существование объемным томам по этому языку для опытных пользователей. В справочном приложении приведены сведения о наиболее важных объектах JavaScript с указанием их основных свойств и методов. К книге прилагается дискета, содержащая файлы со скриптами примеров, благодаря которым Вам будет гораздо легче изучить язык JavaScript и работать.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-family: verdana, sans-serif; font-size: 12px; line-height: normal; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/javascript_praktika.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/6u38tzcct" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; text-align: center; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;JavaScript. Наглядный курс создания динамических Web-страниц&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу JavaScript. Наглядный курс создания динамических Web-страниц | Келли Мэрдок" src="http://www.internet-technologies.ru/images/books/125_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# ISBN: 5-8459-0156-1, 0-7645-4730-5;&lt;br /&gt;# Серия: Читая меньше, узнавай больше!;&lt;br /&gt;# Твердый переплет, 288 стр.;&lt;br /&gt;# Тираж: 4000 экз.;&lt;br /&gt;# Формат: 60x88/8;&lt;br /&gt;&lt;br /&gt;Книга представляет собой уникальное наглядное пособие по основам программирования на языке сценариев JavaScript. В ней рассмотрены базовые средства JavaScript и методы их использования для решения конкретных задач, возникающих при разработке Web-страниц.Читатель узнает, как сделать Web-страницы динамическими, из более чем двухсот коротких уроков, каждый из которых основан на одном-двух примерах, наглядно демонстрирующих результаты работы операторов JavaScript. В книге содержится около 500 копий экранов с текстами сценариев и Web-страниц.Простота, ясность и наглядность изложения делают эту книгу незаменимой для тех, кто приступает к изучению JavaScript; она будет также полезной для более искушенных пользователей HTML.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-size: 12px; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/Murdock_JavaScript.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/6yp57yzwu" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;JavaScript Bible, Gold Edition&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу JavaScript Bible, Gold Edition | Danny Goodman" src="http://www.internet-technologies.ru/images/books/124_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# ISBN: 0764547186;&lt;br /&gt;# Hardcover: 1600 pages;&lt;br /&gt;# Publisher: Wiley; Bk&amp;amp;CD-Rom edition (July, 2001);&lt;br /&gt;# Language: English;&lt;br /&gt;# Product Dimensions: 9.6 x 7.6 x 2.6 inches;&lt;br /&gt;&lt;br /&gt;The JavaScript Bible, Gold Edition covers the new powerful functionality JavaScript gains with the release of the new fifth generation revisions of Internet Explorer and Netscape Communicator. The book includes all the great content included in the JavaScript Bible, 4th Edition, an international bestseller, plus over 400 pages of new material. The Gold Bible features essential new JavaScript information, additional ready -to-use JavaScript applications and scores of additional JavaScripts and Web page routines. This book will bring programmers and non-technical professionals, including casual programmers and scripters, painlessly up to speed on all aspects of mastering JavaScript. Key topics include programming fundamentals, JavaScript language elements and how to use them effectively, and how to easily and efficiently add powerful new functionality to HTML documents and Java applets. The JavaScript Bible, Gold Edition also comes with a Windows/Mac CD-ROM which includes over 100 sample scripts, on -screen quick-reference, and hundreds of megabytes of usable Web design elements and software.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; white-space: normal;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-size: 12px; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/JavascriptBibleGoldEdition.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://depositfiles.com/ru/files/06n7o8cvq" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало №2 на depositfiles.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Professional JavaScript for Web Developers&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;div class="rtl5px backgroundBlue" style="background-color: #e9eef4; background-image: url(http://www.internet-technologies.ru/images/rtl5px.png); background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; float: left; font-weight: 400; margin-bottom: 10px; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rtr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rtr5px.png); background-origin: initial; background-position: 100% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbr5px" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbr5px.png); background-origin: initial; background-position: 100% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="rbl5px image" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/rbl5px.png); background-origin: initial; background-position: 0% 100%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 12px; padding-left: 12px; padding-right: 12px; padding-top: 12px;"&gt;&lt;img alt="скачать книгу Professional JavaScript for Web Developers | Nicholas C. Zakas" src="http://www.internet-technologies.ru/images/books/36_big.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;# 672 pages;&lt;br /&gt;# Publisher: Wrox (April 11, 2005);&lt;br /&gt;# ISBN: 0764579088;&lt;br /&gt;&lt;br /&gt;JavaScript is an important feature of every major browser because it enables enhanced user interaction on both Web sites and Web applications. While exploring everything from its history to today's advanced features, this book shows you how to use this powerful language to its full potential in order to develop your own applications that solve the business problems facing Web developers today.&lt;br /&gt;&lt;br /&gt;You'll gain a clear understanding of the components that make up a JavaScript implementation, plus you'll examine critical areas including events, regular expressions, and browser detection techniques so that you can build dynamic user interfaces. You'll also learn how to extend the language to meet your specific requirements as well as create seamless client-server communication without intermediaries such as Java or hidden frames.&lt;br /&gt;&lt;br /&gt;What you will learn from this book&lt;br /&gt;&lt;br /&gt;&lt;ul style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 25px; padding-right: 15px; padding-top: 0px;"&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;ECMAScript basics, object-oriented programming techniques, and important Document Object Model (DOM) concepts&lt;/li&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;How to implement regular expressions for data validation and string manipulation&lt;/li&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;Methods for handling events to tie JavaScript to a Web user interface&lt;/li&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;Techniques for validating data, sorting tables, and dealing with errors&lt;/li&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;How to communicate between JavaScript and browser plugins&lt;/li&gt;&lt;li style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; padding-top: 2px;"&gt;All about security issues, optimization, and intellectual property protections&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Who this book is for&lt;br /&gt;&lt;br /&gt;This book is for Web developers who want to use JavaScript to dramatically improve the usability of their Web sites and Web applications.&lt;br /&gt;&lt;br /&gt;Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul class="linksList" style="color: #555555; display: block; font-family: verdana, sans-serif; font-size: 12px; line-height: normal; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://infanata.ifolder.ru/8213055" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;зеркало на infanata.ifolder.ru&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; line-height: normal; text-align: center; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Введение в JavaScript&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;Отличное введение в курс программирования на JavaScript. Я начинал с этого пособия, мне оно очень понравилось. Расписано просто и понятно. Очень советую.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="color: #008800; font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: verdana, sans-serif; font-size: 12px; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;span class="Apple-style-span" style="color: black; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #008800; font-family: Arial; font-size: 13px; line-height: normal; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3; font-family: verdana, sans-serif; font-size: 12px; white-space: normal;"&gt;&lt;a href="http://itech.ffsite.ru/books/javascript/introduction_js.rar" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="color: #008800; font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: normal; text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #008800; font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: verdana, sans-serif; white-space: normal;"&gt;&lt;strong&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Введение в JavaScript для мага&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="color: #008800; font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;Данное руководство представляет собой введение в JavaScript. Состоит она из 12 глав. От себя могу добавить, что книга эта достаточно неплохая, хотя и охватываются только основы основ... но для новичка очень неплохо. Советую.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif; font-size: 12px; line-height: 18px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;div id="downloadUnit" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://www.internet-technologies.ru/images/download.png); background-origin: initial; background-position: 0% 0%; background-repeat: no-repeat no-repeat; border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 30px; padding-right: 0px; padding-top: 5px;"&gt;&lt;ul class="linksList" style="color: #555555; display: block; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 5px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="color: #1f78d3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px;"&gt;&lt;a href="http://www.javaportal.ru/downloads/JavaScriptSK.zip" style="color: #1f78d3; text-decoration: none;" target="_blank"&gt;основное зеркало&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #1f78d3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clear" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; clear: both; color: black; font-family: verdana, sans-serif; font-size: 12px; font-weight: 400; line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: black; font-family: verdana, sans-serif; font-size: 12px; font-weight: 400; line-height: normal; margin-bottom: 0px; margin-left: -5px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;div class="y5 y5_nf y5_flat snap_noshots" id="y5_direct1" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-size: 1em !important; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="y5_bb y5_ads2 y5_no_warnings" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-style: none !important; border-color: initial !important; border-color: initial; border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; border-width: initial !important; border-width: initial; clear: none !important; clip: auto !important; cursor: auto !important; display: block !important; float: none !important; font-size: 12px; font-style: normal !important; font-variant: normal !important; font-weight: normal !important; height: auto !important; letter-spacing: normal !important; line-height: normal !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; text-align: left !important; text-decoration: none !important; text-indent: 0px !important; text-transform: none !important; vertical-align: baseline !important; visibility: visible !important; white-space: normal !important; width: auto !important; word-spacing: normal !important; z-index: auto !important;"&gt;&lt;div class="y5_h" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-style: none !important; border-color: initial !important; border-color: initial; border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; border-width: initial !important; border-width: initial; clear: none !important; clip: auto !important; cursor: auto !important; display: block !important; float: none !important; font-size: 12px; font-style: normal !important; font-variant: normal !important; font-weight: normal !important; height: auto !important; letter-spacing: normal !important; line-height: normal !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: hidden !important; overflow-y: hidden !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; text-align: left !important; text-decoration: none !important; text-indent: 0px !important; text-transform: none !important; vertical-align: baseline !important; visibility: visible !important; white-space: normal !important; width: 770px; word-spacing: normal !important; z-index: auto !important;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="clear" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; clear: both; color: black; font-family: verdana, sans-serif; font-size: 12px; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: black; font-family: verdana, sans-serif; font-size: 12px; font-weight: 400; margin-bottom: 0px; margin-left: -5px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="y5 y5_nf y5_flat snap_noshots" id="y5_direct1" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; font-size: 1em !important; font-weight: 400; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="y5_bb y5_ads2 y5_no_warnings" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-style: none !important; border-color: initial !important; border-color: initial; border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; border-width: initial !important; border-width: initial; clear: none !important; clip: auto !important; cursor: auto !important; display: block !important; float: none !important; font-size: 12px; font-style: normal !important; font-variant: normal !important; font-weight: normal !important; height: auto !important; letter-spacing: normal !important; line-height: normal !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: visible !important; overflow-y: visible !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; text-align: left !important; text-decoration: none !important; text-indent: 0px !important; text-transform: none !important; vertical-align: baseline !important; visibility: visible !important; white-space: normal !important; width: auto !important; word-spacing: normal !important; z-index: auto !important;"&gt;&lt;div class="y5_h" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-style: none !important; border-color: initial !important; border-color: initial; border-left-style: none !important; border-right-style: none !important; border-top-style: none !important; border-width: initial !important; border-width: initial; clear: none !important; clip: auto !important; cursor: auto !important; display: block !important; float: none !important; font-size: 12px; font-style: normal !important; font-variant: normal !important; font-weight: normal !important; height: auto !important; letter-spacing: normal !important; line-height: normal !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: hidden !important; overflow-y: hidden !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; text-align: left !important; text-decoration: none !important; text-indent: 0px !important; text-transform: none !important; vertical-align: baseline !important; visibility: visible !important; white-space: normal !important; width: 770px; word-spacing: normal !important; z-index: auto !important;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3259234721930267544?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3259234721930267544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3259234721930267544'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/javascriptajax.html' title='JavaScript/AJAX'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-626365999195261849</id><published>2010-11-02T18:36:00.001+02:00</published><updated>2010-11-03T18:44:48.454+02:00</updated><title type='text'>Трансляторы</title><content type='html'>Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.&lt;br /&gt;&lt;br /&gt;Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком или объектным кодом.&lt;br /&gt;&lt;br /&gt;Здесь можете бесплатно скачать трансляторы.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;b&gt;Исходники трансляторов&lt;/b&gt; &lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Здесь размещены исходники программ, переводящих текст с одного языка на другой (Например, из Бэйсика в Паскаль). Так как такие программы не являются компиляторами в полном смысле, они были вынесены в особый раздел.   &lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/bas_pas.zip"&gt;bas_pas.zip&lt;/a&gt; (~20kb) Cross system Basic-Pascal (c) 1997 by Unknown Russian Programmer&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Транслирует GW-Basic-образный текст (то есть с номерами строк) в Паскаль. Без документации, но с небольшими комментариями в исходнике.  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: не установлен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/baspas.zip"&gt;baspas.zip&lt;/a&gt; (~320kb) Basic to Free Pascal Translator v0.602 (c) 2003 by Andrea Tobian-Mezger&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Переводит один из диалектов Бэйсика в Паскаль. Полученный текст, по идее, можно компилировать любым Борланд-совместимым Паскалём. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Андреа Тобиан-Мецгер&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Free Pascal, Dev-Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .pas (Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/bascy10d.zip"&gt;bascy10d.zip&lt;/a&gt; (~163kb) Basic to C Translator (c) 2001 by S. Narasimhan&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это транслятор из QuickBasic’а в Си, сделанный неким индийским программистом из ностальгических чувств. В комплекте документация и штук тридцать тестовых Бэйсиковских текстов.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/nega.zip"&gt;nega.zip&lt;/a&gt; (~81kb) The NEGA Programming Language (c) 1997 Tylisha C. Andersen&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Символьный высокоуровневый ассемблер с очень необычным синтаксисом. Тем не менее, все управляющие структуры поддерживаются. Nega очень похож на &lt;a href="http://banki1.banki.hu/%7Earpi/"&gt;BAssPasC&lt;/a&gt; и стоит ближе именно к ассемблеру, в отличие от Sphinx C--. Выходным форматом является листинг для Tasm, поэтому возможности языка ограничены именно им. Также поддерживаются операции с плавающей точкой. В качестве примера – игрушка Tetris для текстового режима.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C, Watcom C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (Tasm, Masm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/qb2c.zip"&gt;qb2c.zip&lt;/a&gt; (~193kb) QuickBASIC to ANSI C translator (c) 1998 by Mario Stipcević&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Транслирует исходники Бэйсика в Си; полученный файл можно опять компилить и запускать в Unix’е; для вывода графики используется библиотека X11. Как насчёт других ОС – не знаю.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Марио Стипцевич (Стипчевич? или ещё как-нибудь? пардон, если переврал фамилию, но диакритические значки над буквами не были проставлены)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/qbcc01.zip"&gt;qbcc01.zip&lt;/a&gt; (~2.6Mb) Quick Basic Compatible Compiler v0.01a (c) 2000 by Jason Boettcher and Martyn McDonnell&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Переводит QuickBasic в C. Полученный исходник можно скомпилировать даже для Win32,  для графического вывода используется Allegro. Количество поддерживаемых функций не слишком велико, так как это всего лишь альфа. Транслятор  написан с использованием Flex’а, исходники библиотек также прилагаются.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Джэйсон Бёттхер и Мартин МакДоннелл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C, MS Visual C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c (GNU C, MS Visual C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт: &lt;a href="http://qbcc.sourceforge.net/"&gt;http://qbcc.sourceforge.net/&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/ptoc355.zip"&gt;ptoc355.zip&lt;/a&gt; (~644kb) Ansi/Turbo Pascal to C/C++ Converter v3.55 (c) 1998-2004 by Konstantin Knizhnik&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Понимает несколько диалектов Паскаля, в том числе и Turbo Pascal 4.0/5.0. Может выдавать текст как на Си, так и на C++ (в этом случае строки и типизированные файлы реализуются через объекты). При разработке были использованы Flex и Bison. Для вывода BGI графики для Win32 используется специальная эмулирующая библиотека (исходники прилагаются). Имеются примеры.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Константин Книжник&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (MS VC++ 4.0, Borland C++ 5.5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c, cpp (MS VC++, BC++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт: &lt;a href="http://www.garret.ru/%7Eknizhnik/"&gt;http://www.garret.ru/~knizhnik/&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/pxsc350s.zip"&gt;pxsc350s.zip&lt;/a&gt; (~1.9Mb) Pascal-XSC to C Compiler v3.50 (c) 1994 by Numerik Software GmbH&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Переводит разновидность Паскаля в Си. Должен быть довольно качественным, так как разрабатывался в каком-то немецком университете. Кажется, этот компайлер заточен для эффективной компиляции математических выражений. В архиве также исходники некоторых утилит и всех нужных библиотек. Внимание! Скомпилированные бинарники не включены, чтобы не утяжелять и без того порядочный архив, но мною точно проверено, что всё отсюда компилится без проблем в GNU C и его портах. Иначе: смотри сайт производителя.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на немецком&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт: &lt;a href="http://www.uni-karlsruhe.de/%7Eiam/html/pascal/pascal-xsc/download.html"&gt;http://www.uni-karlsruhe.de/~iam/html/pascal/pascal-xsc/download.html&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/ta2asv08.zip"&gt;ta2asv08.zip&lt;/a&gt; (~27kb) TASM to AT&amp;amp;T v0.8 (c) 1994 by Frank van Dijk&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Эта утилита переводит асмовый листинг с синтаксисом TASM в соответствующий текст с синтаксисом AT&amp;amp;T.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Фрэнк ван Дайк&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (AT&amp;amp;T syntax)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/tptoc.zip"&gt;tptoc.zip&lt;/a&gt; (~131kb) Turbo Pascal to C Translator v1.7 (c) 1986-1988 by Samuel H. Smith&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Довольно старый транслятор из Турбо Паскаля 4.0 в Си. Прилагается куча тестов и примеров.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сэмюэл Смит&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal 4.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .c (Turbo C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;a href="http://www.sugardas.lt/%7Ep2d/trans/xlt86.zip"&gt;xlt86.zip&lt;/a&gt; (~18.5kb) i8080 to i8086 (c) 1984 by Frank J. Zerilli, ms-dos port by Craig Derouen&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Переводит ассемблерный текст процессора Intel 8080 в ассемблерный текст Intel 8086.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Фрэнк Церилли; ms-dos адаптация: Крэйг Дёруан&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (i8086)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-626365999195261849?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/626365999195261849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/626365999195261849'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post.html' title='Трансляторы'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7753120518087522125</id><published>2010-11-02T11:15:00.001+02:00</published><updated>2010-11-06T12:47:05.120+02:00</updated><title type='text'>Исходники байткод-компиляторов</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Исходники байткод-компиляторов&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходным форматом здешних программ является некий байткод, "ассемблер для абстрактного процессора".&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/bpc.zip"&gt;bpc.zip&lt;/a&gt;&amp;nbsp;(~180kb) Blaster Master Pascal (c) 2000 by MetalMassacre&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/copascal.zip"&gt;copascal.zip&lt;/a&gt;&amp;nbsp;(~60kb) Co-Pascal v2.0 (c) 1985 by Charles Schoening&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дальнейшее развитие Pascal-S Никлауса Вирта. Полученный байткод может быть интерпретирован.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Чарльз Шёнинг&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/facilis.zip"&gt;facilis.zip&lt;/a&gt;&amp;nbsp;(~92kb) Facilis Pascal v0.20 (c) 1980-1994 by bunch of guys&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один потомок Pascal-S. Над ним поработала куча народу, примерно в таком порядке: Pascal-S of Niklaus Wirth modified by R.E. Berry, adapted for the IBMPC by John R. Naleszkiewicz, extensions by Anthony M. Marcy, updated by Oleg Stepanyuk. Без наших не обошлось. Самый старый файл в архиве датирован восьмидесятым годом, самый новый – девяносто четвёртым. Интерпретатор байткода прилагается.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Соавторы: Р. Бэрри, Джон Налешкевич, Энтони Марси, Олег Степанюк&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/oc.zip"&gt;oc.zip&lt;/a&gt;&amp;nbsp;(~15kb) Minimal C-subset (c) by Lennart Augustsson&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Небольшой компилятор/интерпретатор языка Си. Интересен тем, что может компилировать/интерпретировать собственный исходник.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Леннарт Аугустссон&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C, GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/pascals.zip"&gt;pascals.zip&lt;/a&gt;&amp;nbsp;(~39kb) Pascal-S (c) by Nicklaus Wirth&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это модифицированная Андреем Хохловым версия. Добавлена возможность саморекомпиляции. Интерпретатор виртуальной машины прилагается.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal, Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/pl0pas.zip"&gt;pl0pas.zip&lt;/a&gt;&amp;nbsp;(~104kb) PL/0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;В архиве собраны различные версии PL/0, в том числе на Паскале и Си.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal, Free Pascal), .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/sc.zip"&gt;sc.zip&lt;/a&gt;&amp;nbsp;(~26kb) The simplest compiler by Stas Sidorenko&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Станислав Сидоренко&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal, Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/smallkit.zip"&gt;smallkit.zip&lt;/a&gt;&amp;nbsp;(~424kb) Small compiler v2.1.0 (c) 1997-2002, ITB CompuPhase&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Бестиповый язык с синтаксисом Си.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/bytecode/upc_pas.zip"&gt;upc_pas.zip&lt;/a&gt;&amp;nbsp;(~58kb) Pascal-like compiler (c) by Guangming Xing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Гуаньминь Синь&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (GNU C++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7753120518087522125?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7753120518087522125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7753120518087522125'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_1864.html' title='Исходники байткод-компиляторов'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4431256797353853113</id><published>2010-11-02T11:15:00.000+02:00</published><updated>2010-11-06T12:45:44.227+02:00</updated><title type='text'>Исходники интерпретаторов</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Исходники интерпретаторов&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/44basic.zip"&gt;44basic.zip&lt;/a&gt;&amp;nbsp;(~46kb) Basic Interpreter (c) 1998 by Ladislav Šobr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Ладислав Шобр&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на чешском языке (Чтобы увидеть текст с чешскими буквами, следует смотреть файл basic2.txt через Internet Explorer с видом кодировки "центральноевропейский (Windows)"&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/basicasm.zip"&gt;basicasm.zip&lt;/a&gt;&amp;nbsp;(~30kb) Minimal Basic Interpreter (c) 2001 by Andrey Tamelo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Андрей Тамело&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm =&amp;gt; .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарий на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/basics.zip"&gt;basics.zip&lt;/a&gt;&amp;nbsp;(~20kb) Tiny Basic Interpreter (c) 1994 by S. A. Moore&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: С. Мур&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарий на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/basint.zip"&gt;basint.zip&lt;/a&gt;&amp;nbsp;(~16kb) или&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/smallbas.zip"&gt;smallbas.zip&lt;/a&gt;&amp;nbsp;(~37kb) Tiny Basic (c) by Herbert Shildt&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это адаптированная версия интерпретатора из книги "C: Power User's Guide".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Херберт Шилдт&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/bbasic.zip"&gt;bbasic.zip&lt;/a&gt;&amp;nbsp;(~153kb) BatchBASIC PL+ Interpreter 1.5 (c) 2000 by Jan-Max Meyer Krapohl&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Ян-Макс Майер Краполь&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (Quick Basic)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском и немецком&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/bec020.zip"&gt;bec020.zip&lt;/a&gt;&amp;nbsp;(~238kb) BASIC Emulation Compiler 0.20 (c) 1998-99 by William Yu&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Уильям Ю&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.basicguru.com/abc/basec.html"&gt;http://www.basicguru.com/abc/basec.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/bwb220.zip"&gt;bwb220.zip&lt;/a&gt;&amp;nbsp;(~275kb) Bywater BASIC Interpreter v2.20 (c) 1993 by Ted A. Campbell, 1995 modifications by Jon B. Volkoff&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Тэд Кэмпбелл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Модификация: Джон Волкофф&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/ccbasic.zip"&gt;ccbasic.zip&lt;/a&gt;&amp;nbsp;(~120kb) или&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/ccpbbasi.zip"&gt;ccpbbasi.zip&lt;/a&gt;&amp;nbsp;(~84kb) Cheesecake BASIC Interpreter (C) 1999 Ramon J. San Andres&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Рамон Сан Андрес&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (ccbasic.zip – QuickBasic, ccpbbasi.zip – PowerBasic)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/lisp.zip"&gt;lisp.zip&lt;/a&gt;&amp;nbsp;(~26kb) Lisp Interpreter by Marc Adler&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Марк Адлер&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Lattice C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/mbasic.zip"&gt;mbasic.zip&lt;/a&gt;&amp;nbsp;(~86kb) Mini Basic v1.0 (c) 2001 by Sylvain Bizoirre, modified in 2002 by Franck Charlet&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сильвен Бизуарр&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Модификация: Франк Шарле&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm =&amp;gt; pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/mbasic0.zip"&gt;mbasic0.zip&lt;/a&gt;&amp;nbsp;(~30kb) Micro Basic (c) 1994 by Dave Dunfield&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Дэйв Данфилд&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Micro C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/pbasic.zip"&gt;pbasic.zip&lt;/a&gt;&amp;nbsp;(~55kb) Petit Basic (c) by Lin Ke-Fong&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Лин Ке-Фонь&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal, Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на французском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/qnc.zip"&gt;qnc.zip&lt;/a&gt;&amp;nbsp;(~268kb) Quincy C Interpreter v4.0 (c) 1994 by Al Stevens&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Эл Стивенс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/rpilot11.zip"&gt;rpilot11.zip&lt;/a&gt;&amp;nbsp;(~146kb) Rob’s Pilot v1.01 (c) 1998 by Rob Linwood&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Императивный диалоговый язык, выглядит проще Бэйсика.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Роб Линвуд&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C, GNU C)&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/stv3dos.zip"&gt;stv3dos.zip&lt;/a&gt;&amp;nbsp;(~214kb) Little Smalltalk 3 (c) by Tim Budd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Тим Бадд&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/interpret/tbas.zip"&gt;tbas.zip&lt;/a&gt;&amp;nbsp;(~26kb) Tiny Basic for 8086 v1.1 (c) 1982 by Michael Sullivan, based on Li-Cheng Wang’s 8080 Tiny Basic&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Жутко напоминает GW-Basic. Внимание! Исходный текст не совместим с современными ассемблерами! К счастью один из зарубежных посетителей умудрился скомпилить .com и прислать его мне, так что можно опробовать сей продукт в действии. И не забывать одно: все команды в верхнем регистре!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Майкл Салливан&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (????, может, a86 ???)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4431256797353853113?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4431256797353853113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4431256797353853113'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_8648.html' title='Исходники интерпретаторов'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1420497692272854721</id><published>2010-11-02T11:14:00.003+02:00</published><updated>2010-11-06T12:49:01.751+02:00</updated><title type='text'>Исходники дизассемблеров</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Исходники дизассемблеров&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/486da022.zip"&gt;486da022.zip&lt;/a&gt;&amp;nbsp;(~25kb) 486 DisAssembler v0.22 (c) 1995 by Sami Kantoluoto&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сами Кантолуото&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/borgpack.zip"&gt;borgpack.zip&lt;/a&gt;&amp;nbsp;(~1Mb) Borg Disassembler v1.13, v2.27 (c) 1998-2001 by Cronos&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Интерактивный дизассемблер для .bin, .com, mz .exe, pe .exe и pe .dll, по виду и принципу работы похожий на известный IDA Pro, но с GUI интерфейсом. В архиве ещё старая версия (1.13), также с исходниками.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (Borland C++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://homepage.ntlworld.com/cronos/"&gt;http://homepage.ntlworld.com/cronos/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/dazmi116.zip"&gt;dazmi116.zip&lt;/a&gt;&amp;nbsp;(~79kb) [D]AzmIt v1.16 (C) 1997-1999 by Mikael Klasson&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очень оригинально спроектированная вещь. В зависимости от того, как используется основные функции библиотеки, эта программа может работать как ассемблер, так и как дизассемблер. Соответственно, два по-разному скомпилированных варианта прилагаются. Понимает опкоды FPU, MMX и 3DNow!, может работать с Pmode.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Микаэл Классон&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://mklasson.cjb.net/"&gt;http://mklasson.cjb.net/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/dccpack.zip"&gt;dccpack.zip&lt;/a&gt;&amp;nbsp;(~2.6Mb) (c) 1991-1995 by Cristina Cifuentes, Mike van Emmerik, Jeff Ledermann&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Консольный дизассемблер, который пытается сделать из экзешника текст на Си, то есть это декомпилятор в язык высокого уровня. Распознает файлы, скомпилированные на Turbo Pascal’е, Turbo C и Microsoft C, и восстанавливает имена стандартных функций. В архиве также утилиты для работы с файлами сигнатур и .ps книга "Reverse Compilation Techniques" ("Техники обратной компиляции").&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Кристина Сифуэнтес, Майк ван Эммерик, Джэфф Ледерманн&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/dewin19.zip"&gt;dewin19.zip&lt;/a&gt;&amp;nbsp;(~171kb) DeWin v3.07 (c) 1995-1998 by Alexander Milukov&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дизассемблер для NE, PE и COFF .obj файлов. В архиве скомпилированный .exe и документация на русском и английском языках.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Александр Милюков&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском и английском.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/diass86.zip"&gt;diass86.zip&lt;/a&gt;&amp;nbsp;(~68kb) (c) 1997 by Michael Neumann&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дизассемблер .com файлов, понимает только i8086. Внимание! В сорсах не хватает одного файла с реализацией класса строк! Стандартный string.hpp не подходит!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Михаэль Нойманн&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (Watcom C++ 11.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/dis_asm.zip"&gt;dis_asm.zip&lt;/a&gt;&amp;nbsp;(~16kb) (c) by Yuri Ghinev&lt;br /&gt;Недоделанный (без команд защищенного режима и команд сопроцессора) табличный дизассемблер для 386 процессора. Скомпилированного примера нет, да и сам сорс, похоже, недоделанный.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Юрий Гинев&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm compatible)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: отсутствует, комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/disasm2.zip"&gt;disasm2.zip&lt;/a&gt;&amp;nbsp;(~12.3kb) (с) 1992 by Robin Hilliard, Lough Guitane&lt;br /&gt;Простенький дизассемблер двоичных файлов для 16 и 32 bit кода. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Робин Хиллиард, Лоу Гитэйн&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: отсутствует&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/disasmb.zip"&gt;disasmb.zip&lt;/a&gt;&amp;nbsp;(~4kb) MZ Disassembler by Robert Claypool&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Игрушечный дизассемблер. Возможности очень ограничены.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Роберт Клэйпул&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (Qbasic 4.5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/disc_dos.zip"&gt;disc_dos.zip&lt;/a&gt;&amp;nbsp;(~51.5kb)&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/disc_win.zip"&gt;disc_win.zip&lt;/a&gt;&amp;nbsp;(~57kb) DisC Decompilation Wizard (с) 1999-2001 Satish Kumar S&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Не скомпилировано, поэтому ничего сказать не могу.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сатиш Кумар&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: отсутствует&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/disl_107.zip"&gt;disl_107.zip&lt;/a&gt;&amp;nbsp;(~122kb) (c) 1998 Henrik Nebrin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дизассемблер для 16 и 32 bit кода (инструкции до Пентиума). Фактически здесь две версии – для Dos и Win32(то есть совсем разные исходники), но скомпилировано только для Dos.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Хенрик Нэбрин&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/dsassm02.zip"&gt;dsassm02.zip&lt;/a&gt;&amp;nbsp;(~262kb) Win32 program disassembler v0.2 (c) 1997, 1998 by Sang Cho&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дизассемблер для PE файлов. В архиве скомпилированный экзешник плюс документация по инструкциям Пентиума.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сань Чо&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/SiliconValley/Foothills/4078/"&gt;http://www.geocities.com/SiliconValley/Foothills/4078/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/intrfc63.zip"&gt;intrfc63.zip&lt;/a&gt;&amp;nbsp;(~51kb) TPU and TPW dumper (c) 1991 by D. J. Murdoch&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/intrfc70.zip"&gt;intrfc70.zip&lt;/a&gt;&amp;nbsp;(~65kb) TPU, TPP and TPW dumper (c) 1991 by D. J. Murdoch, (c) 1994-1995 Milan Dadok&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Эта утилита делает дамп библиотечных файлов Турбо Паскаля и выдаёт их ассемблерный листинг. Здесь две версии: одна для библиотек Turbo Pascal 6.0, другая для библиотек Borland Pascal 7.0 Описание внутреннего формата .tpu файлов прилагается.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal 7.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/obj2asm.zip"&gt;obj2asm.zip&lt;/a&gt;&amp;nbsp;(~96kb) OBJ disassembler v2.0 (c) 1988-1993 by Robert F. Day&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Как видно из названия, дизассемблирует .obj файлы. Понимает все инструкции i80486.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Microsoft C 4.0, Turbo C 3.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/dizasm/twu1.zip"&gt;twu1.zip&lt;/a&gt;&amp;nbsp;(~138kb) TPU and TPW dumper (c) 1991 by William L. Peavy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один дизассемблер .tpu библиотек шестой версии.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal 6.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1420497692272854721?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1420497692272854721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1420497692272854721'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_4414.html' title='Исходники дизассемблеров'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3284658139188133269</id><published>2010-11-02T11:14:00.002+02:00</published><updated>2010-11-06T12:43:22.233+02:00</updated><title type='text'>Исходники дебаггеров, линкеров, препроцессоров</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Исходники дебаггеров, линкеров, препроцессоров&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Debuggers&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/debug.zip"&gt;debug.zip&lt;/a&gt;&amp;nbsp;(~130kb) DOS32 Protected Mode Debugger v1.20 (c) 1995-1996 by Adam Seychell &amp;amp; James Bundiono&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дебаггер для .exe файлов экстендера DOS32.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Эдам Сэйшелл и Джэймс Бандионо&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Masm v6.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/fbug010.zip"&gt;fbug010.zip&lt;/a&gt;&amp;nbsp;(~57kb) FlatBug (Debugger for flat-realmode programs) (c) by Ken Martwick&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Дебаггер для програм, написанных на компиляторе B-flat “C” compiler.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кен Мартуик&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .b (B-flat “C” compiler)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/grdbdl17.zip"&gt;grdbdl17.zip&lt;/a&gt;&amp;nbsp;(~157kb) GRDB real-mode debugger (c) by David Lindauer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Простой дебаггер для реального режима адресов, но поддерживает также Real Flat Mode. Написан на чистом асме и распознаёт инструкции вплоть до Пентиума. В архиве скомпилированный .exe и краткая документация.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Дэвид Линдауэр&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/nwdebg03.zip"&gt;nwdbg03.zip&lt;/a&gt;&amp;nbsp;(~137kb) Net Walker Simple Debug v0.3a (c) 1998 by Net Walker&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Вообще-то это не дебаггер, а трэйсер и динамический пэтчер для pe .exe, демонстрирующий возможности Win32 Debug API.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (32-bit Tasm v5.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Linkers&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/d096b050.zip"&gt;d096b050.zip&lt;/a&gt;&amp;nbsp;(~980kb) DiceRTE Protected Mode Entwicklungssystem (c) 1996-2001 Christian Diefer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это пакет разработки программ для 32 битного дос-расширителя, запускающего .pe экзешники (!!! в Win32 работает), на основе C-компилятора. Но также внутри есть исходники Dlink32, линкера виндовских .pe и .dll.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кристиан Дифер&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (??? Dcc32 ???)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на немецком&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.diefer.de/dicerte/"&gt;http://www.diefer.de/dicerte/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/dallink.zip"&gt;dallink.zip&lt;/a&gt;&amp;nbsp;(~62kb) (c) by David Lindauer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это исходники линкера (линковщика, редактора связей), что встречается ещё реже исходных текстов компиляторов. В архиве только исходники, без скомпилированного .exe, поэтому подробностей сообщить не могу.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Дэвид Линдауэр&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/ld.zip"&gt;ld.zip&lt;/a&gt;&amp;nbsp;(~26kb) Linker (C) by Bruce Evans&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Линкер, прилагающийся к Си-компилятору&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/bcc.zip"&gt;bcc.zip&lt;/a&gt;&amp;nbsp;(~206kb) и ассемблеру&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/as.zip"&gt;as.zip&lt;/a&gt;&amp;nbsp;(~90kb). Не скомпилировано. Последнюю версию исходников и бинарники для MS-DOS можно взять с домашнего сайта.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Брюс Ивэнс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.cix.co.uk/~mayday/dev86/"&gt;http://www.cix.co.uk/~mayday/dev86/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/vallink.zip"&gt;vallink.zip&lt;/a&gt;&amp;nbsp;(~145kb) Val Experimental Linker (c) 1989 by David Troendle, updated in 1995 by Dave Dunfield&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Линкер написан на “C”, очень странно выглядящим из-за огромного количества паскалевидных макросов. Затрудняюсь даже сказать, какой компилятор сможет это прожевать. Впрочем, скомпилированный пример в архиве имеется. Производит mz .exe, .com и .sys файлы из .obj и .lib&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Дэвид Трёндл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Исправления: Дэйв Данфилд&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Turbo C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Preprocessors&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/cpp_lcc.zip"&gt;cpp_lcc.zip&lt;/a&gt;&amp;nbsp;(~57kb) C preprocessor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Стандартный препроцессор от Си-компилятора&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/lcc35.zip"&gt;lcc35.zip&lt;/a&gt;&amp;nbsp;(~1.3Mb)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/mprep.zip"&gt;mprep.zip&lt;/a&gt;&amp;nbsp;(~29kb) Препроцессор (типа сишного) для паскаля.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кен ван Камп (Ken van Camp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal, Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/debug/mycpp10.zip"&gt;mycpp10.zip&lt;/a&gt;&amp;nbsp;(~13kb) C preprocessor (C) 2003 by Robert Maul&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Стандартный препроцессор Си, переписанный заново. Успешно протестирован на собственном исходнике.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Роберт Мол&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3284658139188133269?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3284658139188133269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3284658139188133269'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_3572.html' title='Исходники дебаггеров, линкеров, препроцессоров'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5510661823049643536</id><published>2010-11-02T11:14:00.000+02:00</published><updated>2010-11-06T12:37:26.238+02:00</updated><title type='text'>Исходники компиляторов</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Исходники компиляторов&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Многие нижеприведённые компиляторы написаны энтузиастами для учебных целей или ради развлечения. Вследствие различных причин (главным образом из-за лени и нехватки времени), подавляющее большинство этих проектов было брошено на полпути, а некоторые даже в нескольких метрах от старта. Из-за этого, многим компайлерам не хватает функциональности и способностей... Но для учебных целей, думаю, сгодятся.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;О тонкостях. Так как многие разработчики решили проблему выходного формата довольно просто - не разбираясь с форматом объектных и исполняемых файлов, заменили его на простой ассемблерный текстовый листинг, - то для дальнейшего удобоварения потребуется ещё и ассемблер и, возможно, линкер. Но на мой взгляд, это более рациональный подход.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Почти во всех данных архивах имеются уже скомпилированные версии программ, если не оговорено обратное.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;Basic&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/bas2nasm.zip"&gt;bas2nasm.zip&lt;/a&gt;&amp;nbsp;(~17kb) QuickBasic to Nasm compatible compiler v1.13 (c) 2003 by Nicholas Dark&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Небольшой игрушечный компилятор из QuickBasic'а в Nasm. Возможности программы пока не велики. Пример прилагается. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Николас Дарк&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QuickBasic PDS v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Nasm =&amp;gt; .com, mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://b2nasm.sourceforge.net/"&gt;http://b2nasm.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/basic.zip"&gt;basic.zip&lt;/a&gt;&amp;nbsp;(~81kb) Basic compiler for MenuetOS (c) by Jarek Pelczar&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Как видно из названия, это небольшой компайлер Бэйсика. Вообще-то он включён в дистрибутив альтернативной ОС&amp;nbsp;&lt;a href="http://www.menuetos.org/"&gt;Menuet&lt;/a&gt;, но пусть лежит и здесь для надёжности. Генерит 32 битный код для защищённого режима (только не DOS, а MenuetOS), хотя можно состряпать и .com файл. И ещё замечание: при вычислении математического выражения выдаётся очень неоптимизированный ассемблерный код, совсем как в "студенческих" компиляторах (см. ниже).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Ярек Пельчар&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32 bit =&amp;gt; Nasm, Fasm =&amp;gt; .bin, .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/basmv650.zip"&gt;basmv650.zip&lt;/a&gt;&amp;nbsp;(~797kb) The BASIC to 286 Assembly Language Translator v6.50 (c) 1998 by Kevin Diggins.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Последняя (кажется) версия весьма популярного транслятора с бэйсикоподобного языка в ассемблер. В комплекте IDE с хелпами от стороннего разработчика, ассемблер (Arrowsoft), линкер и множество примеров. Как и Sphinx C--, Basm286 вычисляет выражения слева направо, без приоритетов.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кевин Диггинс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (Power Basic 3.2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Arrosoft asm =&amp;gt; mz .exe, .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/bxbsrc.zip"&gt;bxbsrc.zip&lt;/a&gt;&amp;nbsp;(~120kb) Blunt Axe Basic v1.052a (c) 2001-2004 by Sarbayo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Этот компайлер реализует подмножество QuickBasic/RapidQ. Пока что Bxbasm умеет компилировать только консольные Win32 приложения. Особенность: Bxbasm в выходном ассемблерном листинге использует многие внутренние макросы Masm32 (такие как invoke, .if-.else-.endif и др.) Более полную версию (вместе с пакетом Masm32 - около 2.5Мб) можно скачать с домашнего сайта.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Lcc-Win32)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32-bit =&amp;gt; Masm32 =&amp;gt; pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/blunt_axe_basic/"&gt;http://www.geocities.com/blunt_axe_basic/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/gabasic.zip"&gt;gabasic.zip&lt;/a&gt;&amp;nbsp;(~410kb) GABasic v0.30 Beta 2(Public) (c) 2000 by Gabriel Fernandez&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один компилятор Бэйсика, синтаксически совместимый с QuickBasic'ом, но выражения вычисляются без учёта приоритетов операций. Генерит асмовый листинг для защищённого режима под WDosX экстендер. К сожалению автор прекратил развивать проект, в связи с чем и опубликовал исходные тексты. А ещё бы немного - и GABasic мог бы скомпилировать сам себя!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Габриэль Фернандес&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QuickBasic v4.5 v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32 bit =&amp;gt; Nasm =&amp;gt; WDosX .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://gab_soft.tripod.com/"&gt;http://gab_soft.tripod.com/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/mrock50.zip"&gt;mrock50.zip&lt;/a&gt;&amp;nbsp;(~551kb) MoonRock Basic Compiler v0.50 (c) 1994-1998 by Rowan Crowe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Создавался как альтернатива QuickBasic'у. Генерирует очень компактный асмовый листинг и, соответственно, исполняемый файл получается небольшим. В отличие от многих других диалектов языка, вычисляет выражение слева направо, не обращая внимания на приоритеты (совсем как Sphinx C--).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Роуан Кроу&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QuickBasic v4.5 v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Tasm, Masm =&amp;gt; mz .exe, .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашняя страница:&amp;nbsp;&lt;a href="http://www.rowan.sensation.net.au/moonrock.html"&gt;http://www.rowan.sensation.net.au/moonrock.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/newbasic.zip"&gt;newbasic.zip&lt;/a&gt;&amp;nbsp;(~138kb) Free QuickBasic compatible compiler (c) 1998 by Marcel Smolenaars&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очень интересная реализация бэйсик-компилятора. Синтаксис языка очень близок к QuickBasic'овскому. Поддерживается: процедуры/функции (соответственно глобальные/локальные переменные), целые типы данных (массивы лишь частично), почти все условные и циклические конструкции. Из минусов: отсутствуют какие-либо внешние библиотеки, то есть нельзя пользоваться ключевыми словами PRINT, DRAW и т. д. Зато этот компилятор соблюдает приоритеты при вычислении выражений типа "n=(x*(20-b/a)-function1(a*b,x*(z-y),b))" и генерирует при этом вполне оптимизированный код (без этих идиотских push'ов и pop'ов!) Выходным форматом является простой асмовый листинг.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Марсель Смоленарс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (MS QuickBasic PDS v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Tasm, Masm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашняя страница:&amp;nbsp;&lt;a href="http://www.geocities.com/SiliconValley/Park/9751/"&gt;http://www.geocities.com/SiliconValley/Park/9751/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/sbasic20.zip"&gt;sbasic20.zip&lt;/a&gt;&amp;nbsp;(~60kb) SBasic 2.0 (C) 1989-91 DMV Widuch GmbH &amp;amp; Co.KG; Autor: Wolfgang Lorenz (ASCII-/LABEL-BASIC-Preprocessor: Peter Knappe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Вы когда-нибудь видели компилятор, написанный на GW-Basic'е? Нет? Воображение не включается? Ну так посмотрите - это же ночной кошмар сишного программера!.. Входной язык компилятора почти полностью совместим с GW-Basic'ом. Что интересно, компилятор компилирует сам себя. В архиве также исходники небольшой IDE (тоже на Бэйсике).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Вольфганг Лоренц и Петер Кнаппе&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (à la GW-Basic)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/smc.zip"&gt;smc.zip&lt;/a&gt;&amp;nbsp;(~167kb) Steini's Mini Compiler (c) 2002 by Sebastian Steinhauer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один игрушечный компилятор для языка, напоминающего Бэйсик и Паскаль.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Себастьян Штайнхауэр&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (PowerBasic)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Nasm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском и немецком&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/ubasic031.zip"&gt;ubasic031.zip&lt;/a&gt;&amp;nbsp;(~440kb) UltraBasic v 0.31a (c) 2000 by Gabriel Fernandez, 2004 by Angelo Rosina&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Наследник GaBasic'а. Достигнута большая совместимость с QuickBasic'ом, а именно: выражения вычисляются с соблюдением приоритета операций. Также добавлена поддержка консольных Win32 приложений! (Судя по всему, возможно создание и оконных программ). Библиотеки дописаны соответствующим образом, их исходники на ассемблере прилагаются. Похоже, новый автор активно работает над компилятором, за последней версией можно обратиться на его домашний сайт.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Габриэль Фернандес, Анджело Росина&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QuickBasic v4.5 v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32 bit =&amp;gt; Nasm =&amp;gt; WDosX .exe, pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/angros47/"&gt;http://www.geocities.com/angros47/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;C&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/bcc.zip"&gt;bcc.zip&lt;/a&gt;&amp;nbsp;(~196kb) BCC (c) 1992 by Bruce Evans&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Какой-либо вразумительной документации к этой программе нет, поэтому разобраться особо не удалось. Ясно только, что это Си-подобный компилятор, и, что он может выдавать ассемблерный листинг для Motorola 6809 и Intel 8086/386 (16 и 32 битный код). В архиве есть несколько примеров. К данному компилятору прилагаются ещё ассемблер&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/as.zip"&gt;as.zip&lt;/a&gt;&amp;nbsp;(~125kb) и линкер&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/ld.zip"&gt;ld.zip&lt;/a&gt;&amp;nbsp;(~26kb). Полные исходники с компилированными бинарниками для MS-DOS можно скачать с домашнего сайта.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Брюс Ивэнс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16, 32-bit =&amp;gt; AS =&amp;gt; mz, pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.cix.co.uk/~mayday/dev86/"&gt;http://www.cix.co.uk/~mayday/dev86/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/bflat050.zip"&gt;bflat050.zip&lt;/a&gt;&amp;nbsp;(~310kb) B-flat "C" Compiler v0.50 (c) 1998, 2000 by Ken Martwick&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это разновидность языка Си, названа не менее кратко - Би. Наверное из-за того, что до нормального Си немного не дотягивает. Тем не менее, производит 32-битный код для экстендера WDosX.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кен Мартуик&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32-bit =&amp;gt; Nasm, Fasm =&amp;gt; WDosX .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/c2asm.zip"&gt;c2asm.zip&lt;/a&gt;&amp;nbsp;(~249kb) C to ASM Compiler (c) 2003 by Muhammad Owais Khan Afridi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Очень минимальный Си-подобный компилятор, созданный неким пакистанским программистом в качестве университетской работы. Выдаваемый код очень неоптимизирован (помнится, наши "студенческие" компайлеры имеют этот же недостаток). Несколько примеров и подробное описание внутренних алгоритмов прилагаются. Небольшое замечание: для рекомпиляции подойдёт только MSVC++ 6.0 (во всяком случае, под Watcom и Mingw компилиться напрочь отказывалось).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Мухаммад Оваис Хан Африди&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (только MS Visual C++ 6.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Tasm, Masm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/cc68iii3.zip"&gt;cc68iii3.zip&lt;/a&gt;&amp;nbsp;(~149kb) 68000 and i386 C Compiler v3.1 (c) by Christoph van Wuellen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Судя по названию, может выдавать ассемблерный листинг для процессоров 68000 (Motorola, кажется) и i386 (32-битный код). В архиве только исходники, без бинарников. Кажется, это всё должно ехать под SunOS. Короче, я не разбирался. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кристоф ван Вюллен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (ANSI C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (GNU GAS assembler) ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/draak5.zip"&gt;draak5.zip&lt;/a&gt;&amp;nbsp;(~71kb) Draak the 16-bit multi-language compiler (c) 2000 by Jon Gentle&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это многоязыковой настраиваемый компилятор, входной язык и генерацию кода для которого нужно определять с помощью внешних .def файлов. Возможности, тем не менее, крайне ограничены. Данная версия настроена на Си-подобный язык. Недавно проект был возрождён на базе Sourceforge.net, последняя версия под номером 0.82 гораздо более функциональна. Документации, тем не менее, крайне мало.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Джон Джентл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Nasm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://draak.sourceforge.net/"&gt;http://draak.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/lcc35.zip"&gt;lcc35.zip&lt;/a&gt;&amp;nbsp;(~1.35Mb) LCC Compiler v3.5 (c) 1991-1995 by AT&amp;amp;T, Christopher W. Fraser and David R. Hanson&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это компилятор ANSI C, описанный в книге&amp;nbsp;&lt;cite&gt;"A Retargetable C Compiler: Design and Implementation"&amp;nbsp;&lt;/cite&gt;(Benjamin/Cummings, 1995, ISBN 0-8053-1670-1). Предназначен для работы в Unix и Win32, может генерировать ассемблерный листинг для MIPS, SPARC и Intel 386 (синтаксис AT&amp;amp;T и Intel). C документацией.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Кристофер Фрэйзер и Дэвид Хэнсон&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C, Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32-bit =&amp;gt; Masm =&amp;gt; ??? .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/sc88.zip"&gt;sc88.zip&lt;/a&gt;&amp;nbsp;(~74kb) Byte Small C V1.0 (c) 1986 by Rick Grehan&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Целочисленное подмножество Си.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Рик Грэхан&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (ANSI C) кажется, сам себя компилирует...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm =&amp;gt; .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/scc.zip"&gt;scc.zip&lt;/a&gt;&amp;nbsp;(~86kb) Scc C Compiler v1.0 beta (c) 2001 Rodney McConnell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Небольшой экспериментальный компилятор, правда немного не доделанный. Генерирует асмовый текст для Sasm'a, который можно взять на сайте автора.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Родни МакКоннелл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .asm (32-bit =&amp;gt; Sasm =&amp;gt; DJGPP .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/snakessoft/"&gt;http://www.geocities.com/snakessoft/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/sdl31.zip"&gt;sdl31.zip&lt;/a&gt;&amp;nbsp;(~345kb) SDL Compiler v3.1 (c) 2000 by Artyom Samoylenko&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Клон Си. Использует часть библиотеки Borland C.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Артём Самойленко&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (Borland C++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Tasm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/slc004.zip"&gt;slc004.zip&lt;/a&gt;&amp;nbsp;(~51kb) Simple Little Compiler v0.04 (c) 1999-2000 by Rowan Crowe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Скрещённый Си и Бэйсик. В отличие от прошлого создания данного автора, этот компилятор пытается нормально (математически) вычислять выражения. Получается не очень хорошо.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Роуан Кроу&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .moo (MoonRock Basic Compiler, короче, смотри выше.)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm, Masm =&amp;gt; .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.rowan.sensation.net.au/slc.html"&gt;http://www.rowan.sensation.net.au/slc.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/smallc22.zip"&gt;smallc22.zip&lt;/a&gt;&amp;nbsp;(~133kb) Small C Compiler v2.2 (c) 1989 by James Hendrix&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один небольшой Си-компилятор.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Джеймс Хендрикс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (компилирует сам себя)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm, Masm =&amp;gt; .com, mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;C--&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/32cmm.zip"&gt;32cmm.zip&lt;/a&gt;&amp;nbsp;(~82kb) Sphinx C-- Clone for Win32 (c) 2000 by A. Halimovsky&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Клон Sphinx C--, написанный на самом C--. Производит сразу pe .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: А. Халимовский&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c-- (Sphinx C-v0.238)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .pe exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/cmmfinal.zip"&gt;cmmfinal.zip&lt;/a&gt;&amp;nbsp;(~655kb) Sphinx C-- v2.0 (c) 1994, 1995 by Peter Cellik&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Когда Питер Селлик ушёл на пенсию, он отдал народу исходники своего незабвенного Sphinx C--. Здесь версия 2.0, и, как думал Селлик, - последняя. Ага. Фигушки. Такое добро мёртвым грузом долго не лежит. Как известно, проект возродил Михаил Шекер. Хотите ощутить разницу? Качайте файл, а потом быстро&amp;nbsp;&lt;a href="http://c--sphinx.narod.ru/"&gt;сюда&lt;/a&gt;. О чём это я? Ах да... Короче, компилятор написан на Си, для нормальной рекомпиляции потребуется Си мелкософтовский. Версия эдак шестая. Не меньше. Исходники Workbench'a также включены в архив. Он на паскале, кстати. Для тех, кто не в курсе, сообщаю особенность: Sphinx вычисляет выражения слева направо, невзирая на приоритеты.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Питер Селлик&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Microsoft C 6.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com, .obj&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;Context&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/context.zip"&gt;context.zip&lt;/a&gt;&amp;nbsp;(~82kb) Context v1.0 (c) 1995-2002 by Andrey Khokhlov&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Компилятор языка программирования, каким понимали его во времена Вирта, - небольшой, ясный и способный скомпилировать себя. Жаль, что приверженцев старых идей осталось мало. Язык Context немного похож на Модулу с некоторыми элементами Си. В комплекте небольшой ассемблер, написанный, естественно, на Context'е, и документация на русском языке о построении компиляторов. Оптимизатор в Context'е отсутствует, но качество кода сопоставимо с ранними версиями Turbo Pascal. Более новая версия 1.2 с несколькими примерами:&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/samples.zip"&gt;samples.zip&lt;/a&gt;&amp;nbsp;(~57kb).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Андрей Хохлов&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .ctx (Компилирует сам себя)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; asm8086 =&amp;gt; .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.avhohlov.narod.ru/"&gt;http://www.avhohlov.narod.ru/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/ctx386w.zip"&gt;ctx386w.zip&lt;/a&gt;&amp;nbsp;(~54.7kb) Context for Windows v2.0 (c) 1995-2003 by Andrey Khokhlov&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это версия Context'а, переписанная заново для Win32. Внутренний алгоритм компиляции несколько отличается от соответствующего в досовской версии (было предусмотрено место для оптимизатора, который, тем не менее, так и не был написан).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Андрей Хохлов&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .ctx (Компилирует сам себя)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32 bit =&amp;gt; Tasm =&amp;gt; pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.avhohlov.narod.ru/"&gt;http://www.avhohlov.narod.ru/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;Pascal&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/cabezon.zip"&gt;cabezon.zip&lt;/a&gt;&amp;nbsp;(~184kb) Cabezon Pascal Compiler v0.08 (C) 1990, 1993 Hiroshi Tokumaru / Ockeghem&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Этот архив я выудил с какого-то японского сайта, причём через ссылку с французского. Насколько сильно Cabezon совместим с Паскалём, я не проверял, но, судя по примерам, довольно неплохо. Вся документация на японском, причём даже иероглифы увидеть не удастся - вместо них будет какая-то двухсимвольная фигня типа Unicode :-) В архив включены также исходники библиотек.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Хироши Токумару&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal, наверное...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm, Masm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.tokumaru.org/plang/cabezon/cabezon.htm"&gt;http://www.tokumaru.org/plang/cabezon/cabezon.htm&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на японском 8-/&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/comp.zip"&gt;comp.zip&lt;/a&gt;&amp;nbsp;(~27kb) Mini-Pascal 8086 primitive compiler (c) 1997 by Rolland Roessler&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Небольшой компилятор подвида паскаля. В отличие от многих подобных, ещё и пытается оптимизировать код (не очень, правда, успешно). Подправлен лично мною, дабы компилиться без проблем в Free Pascal'e. Для написания более-менее толковых программ непригоден.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Ролланд Рёсслер&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal, Free Pascal).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm, Masm =&amp;gt; mz .exe, .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на немецком&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/ip015.zip"&gt;ip015.zip&lt;/a&gt;&amp;nbsp;(~400kb) Inno Pascal v0.1.5 (c) 2000 by Jordan Russell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Паскаль-компилятор, интегрированный с IDE и дебаггером. Генерируемые Win32 pe .exe требуют файл ipsupport.dll (~27kb), который, естественно, в комплекте. Экзешник получается очень маленьким, но код не оптимизирован.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Джордан Рассел&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Delphi)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: pe .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://other.jrsoftware.org/ip/"&gt;http://other.jrsoftware.org/ip/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/ml307.zip"&gt;ml307.zip&lt;/a&gt;&amp;nbsp;(~108kb) Milan Compiler (c) 2002 by Serghey Gotsulyak&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Небольшой компилятор паскалевидного языка. Создан в качестве курсовой работы по дисциплине "Основы трансляции". Внутри также исходники небольшого IDE и документация (касаемо построения компиляторов) на русском языке.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сергей Гоцуляк&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.sergo.pisem.net/"&gt;http://www.sergo.pisem.net&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/p32_04d.zip"&gt;p32_04d.zip&lt;/a&gt;&amp;nbsp;(~830kb) P32, 32bit Pascal Compiler v0.4d (c) 1996-1998 Johan Prins&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/p32_05b2.zip"&gt;p32_05b2.zip&lt;/a&gt;&amp;nbsp;(~572kb) P32, 32bit Pascal Compiler v0.5beta2 (c) 1996-1999 Johan Prins&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё одна заслуживающая внимания попытка реализации 32-битного паскаля. Из плюсов можно отметить поддержку чисел с плавающей точкой, совместимость с Borland Pascal'ём как по синтаксису, так и по библиотекам, оптимизацию кода под Пентиум, и возможность создавать исполняемые файлы для Dos32, Wdosx и Win32. Из минусов: судя по всему, проект по неизвестным причинам потерялся в сети несколько лет назад. В комлекте IDE, краткая документация и примеры.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Иохан Принс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32-bit =&amp;gt; Nasm, Tasm, Pass32 =&amp;gt; Dos32 .exe, Wdosx .exe, pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/pl0c.zip"&gt;pl0c.zip&lt;/a&gt;&amp;nbsp;(~359kb) PL/0 Compiler (c) 1998 by H. Weber&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Никакого отношения к PL/1 не имеет, скорей, этот язык похож на Паскаль. Странным и старым (на мой взгляд) решением является то, что сам компилятор разделён на несколько частей (экзешников): сканер -&amp;gt; парсер -&amp;gt; псевдокод -&amp;gt; кодер в ассемблер.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Х. Вебер (H. Weber)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C 3.1 - 4.5, GNU C 2.7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/pp002.zip"&gt;pp002.zip&lt;/a&gt;&amp;nbsp;(~44kb) Power Pascal v0.002 (c) 1993 by Mike Warot&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Этот Паскаль-компилятор производит исполняемые файлы для OS2.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .asm (32-bit =&amp;gt; Masm 6.0 + Link386 = &amp;gt; lx .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/s100.zip"&gt;s100.zip&lt;/a&gt;&amp;nbsp;(~303kb) S Compiler (c) by Henry Lesourd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Компилятор реализует гибридный паскально-бэйсиковый язык и производит собственный формат исполняемых файлов, смесь байткода и ассемблера. Одной из возможностей является компиляция в .com файл.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Анри Лёсур&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .pak, .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/sospasc.zip"&gt;sospasc.zip&lt;/a&gt;&amp;nbsp;(~16kb) Pascal-clone based on PascalPro and P4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (Nasm???)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/tp3.zip"&gt;tp3.zip&lt;/a&gt;&amp;nbsp;(~193kb) Turbo Pascal v3.01A IDE + built-in compiler (c) 1983-1985 by Borland International&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;На самом деле это дизассемблированный текст, но сохранённый в несколько необычном виде. Чтобы получить его читабельный вариант, требуется лишь следовать инструкциям в файле readme. Полученный в результате ассемблерный листинг будет не совместим с современными ассемблерами, для успешного реассемблирования необходимо использовать старый as.com, включённый в данный архив. Детальное описание внутренних алгоритмов компилятора прилагается (на английском).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (AS)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/tpascal.zip"&gt;tpascal.zip&lt;/a&gt;&amp;nbsp;(~290kb) Turbo Pascal v6.0 IDE + built-in compiler (c) 1993-1994 by Borland International&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Не помню, где я выкопал эту штуку, но это исходники Борландовкого паскаля! Не всего, правда, а только IDE и встроенного компилятора. Для рекомпиляции требуется tpc.exe шестой версии, все .tpu модули, tasm.exe желательно не v4.1 (глючный!) и make.exe из тасмовского комплекта.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: guess who?..&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas, .asm&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/wpas.zip"&gt;wpas.zip&lt;/a&gt;&amp;nbsp;(~97kb) WinPascal 0.001b (c) 1999 by Colin Laplace&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очень минимальный компайлер для Win32.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Исходник: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (32-bit =&amp;gt; Pass32 =&amp;gt; pe .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;"Студенческие" компиляторы&lt;/b&gt;&amp;nbsp;- выделены в особую категорию, так как создавались они как часть учебного процесса (в качестве курсовых работ), и цель при их написании была несколько иная - этот самый курсовик поскорее сдать и больше не мучаться, а вовсе не создавать эффективно работающий компилятор. Как следствие - о даже самой элементарной оптимизации забыто напрочь. Впрочем, здесь могут быть и исключения. Почти все нижеприведённые файлы взяты с сайта&amp;nbsp;&lt;a href="http://yallie.narod.ru/"&gt;http://yallie.narod.ru&lt;/a&gt;&amp;nbsp;Кстати, почти все эти компиляторы реализуют разновидность Паскаля.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/compi.zip"&gt;compi.zip&lt;/a&gt;&amp;nbsp;(~22kb) Язык: клон языка Pascal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: неизвестен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/compiler.zip"&gt;compiler.zip&lt;/a&gt;&amp;nbsp;(~103kb) Язык: подмножество Pascal'я. Так как делалось по лекциям профессора, а не так, как удобнее, то результаты - сами понимаете... Оптимизация в минус третьей степени. В архиве также выдержки из лекций о построении компиляторов.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Авторы: Попов Алексей, Лобенко Максим, Седых Инна&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com + подробный листинг процесса&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/compplus.zip"&gt;compplus.zip&lt;/a&gt;&amp;nbsp;(54kb) Язык: странный клон языка Pascal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: неизвестен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/gray.zip"&gt;gray.zip&lt;/a&gt;&amp;nbsp;(~86kb) Язык: подмножество Pascal'я&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сергей Рахно&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal, Free Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16 bit =&amp;gt; Tasm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/idcomp.zip"&gt;idcomp.zip&lt;/a&gt;&amp;nbsp;(~56kb) Язык: клон языка Pascal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Игорь Дуюнов&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/igr.zip"&gt;igr.zip&lt;/a&gt;&amp;nbsp;(~62kb) Язык: клон языка Pascal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Игорь Семеренко&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/lena.zip"&gt;lena.zip&lt;/a&gt;&amp;nbsp;(~22kb) Язык: клон языка Pascal (слегка доработанная версия компилятора Игоря Дуюнова)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: неизвестен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/liz1998.zip"&gt;liz1998.zip&lt;/a&gt;&amp;nbsp;(~56kb) Язык: русскоязычный клон языка Pascal&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: неизвестен&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/mypas.zip"&gt;mypas.zip&lt;/a&gt;&amp;nbsp;(~90kb) Язык: клон Pascal'я&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Алексей Дрибноход или Евгений Агеев&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/oleg67.zip"&gt;oleg67.zip&lt;/a&gt;&amp;nbsp;(280kb) Язык: подмножество Pascal'я&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Олег Мельников&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Masm =&amp;gt; mz .exe, .com)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/pll10.zip"&gt;pll10.zip&lt;/a&gt;&amp;nbsp;(31kb) Язык: ProLogic Local (немного напоминает Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: В. Ю. Панировский&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/slang07.zip"&gt;slang07.zip&lt;/a&gt;&amp;nbsp;(~82kb) Язык: похож на Pascal и Eiffel&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Матвей Ральчик&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной язык: .asm (16-bit =&amp;gt; Masm =&amp;gt; mz .exe)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=5510661823049643536" style="font-size: 16pt;"&gt;Other&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/d2x86.zip"&gt;d2x86.zip&lt;/a&gt;&amp;nbsp;(~96kb) D2 Compiler (c) 2002 by Yevgheny Sazonov&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Немного странный по синтаксису язык. Слегка похож на Паскаль, но в нём полностью отсутствуют типы данных. С документацией на русском языке.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Евгений Сазонов&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://d2lang.by.ru/"&gt;http://d2lang.by.ru/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/comp/t3x5c.zip"&gt;t3x5c.zip&lt;/a&gt;&amp;nbsp;(~560kb) T3X Procedural language (c) 1996-2000 by Nils M. Holm&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Этот язык похож одновременно на Паскаль и BCPL, но в нём отсутствует явная типизация данных. Также в архив включён ассемблер, написанный на T3X.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Нильс М. Хольм&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C, .t - на самом себе)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.t3x.org/"&gt;http://www.t3x.org/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5510661823049643536?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5510661823049643536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5510661823049643536'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_3129.html' title='Исходники компиляторов'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5473302228849320563</id><published>2010-11-02T11:13:00.000+02:00</published><updated>2010-11-06T12:31:14.566+02:00</updated><title type='text'>Исходники ассемблеров</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Исходники ассемблеров&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/a2.zip"&gt;a2.zip&lt;/a&gt;&amp;nbsp;(~48kb) "A" Assembler v1.0 (c) 1993 by Serghey Kostygov&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Простой двухпроходной ассемблер для 8086, генерирующий .com файлы или inline-листинги для старых версий Турбо Паскаля. Небольшая демо-программка прилагается.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Сергей Костыгов&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Turbo Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://myprojects.kostigoff.net/"&gt;http://myprojects.kostigoff.net/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/anasm095.zip"&gt;anasm095.zip&lt;/a&gt;&amp;nbsp;(~25kb) i386 Assembler v0.95f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Скромненький ассемблер для Intel386, написанный на ассемблере же.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (16-bit Nasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/as.zip"&gt;as.zip&lt;/a&gt;&amp;nbsp;(~125kb) Assembler (c) by Bruce Evans&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ассемблер, прилагающийся к компилятору&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/bcc.zip"&gt;bcc.zip&lt;/a&gt;&amp;nbsp;(~196kb) и линкеру&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/ld.zip"&gt;ld.zip&lt;/a&gt;&amp;nbsp;(~26kb). Последнюю версию исходников и бинарники для MS-DOS можно взять с домашнего сайта.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Брюс Ивэнс&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.cix.co.uk/~mayday/dev86/"&gt;http://www.cix.co.uk/~mayday/dev86/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/asm.zip"&gt;asm.zip&lt;/a&gt;&amp;nbsp;(~52kb) Simple 8086 Asm (c) 1997 by Yevgheny Mikhalchik&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Простой асм с немного странным синтаксисом.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Евгений Михальчик&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: на самом себе&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.evm.narod.ru/asm.html"&gt;http://www.evm.narod.ru/asm.html&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/assemble.zip"&gt;assemble.zip&lt;/a&gt;&amp;nbsp;(~22kb) Assembler v1.48 (c) 2000 by Era Scarecrow / Ryan Cecil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очень простой ассемблер для процессора i8086, написанный на QBasic'e и производящий простой .com файл. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QBasic 4.5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/rtcvb32/"&gt;http://www.geocities.com/rtcvb32/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/assem120.zip"&gt;assem120.zip&lt;/a&gt;&amp;nbsp;(~40kb) 8088/86 Assembler v1.20 (c) 1991 by Joseph Tamburino&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;На самом деле это не полноценный ассемблер, а только юнит с демонстрационной диалоговой программой. Смысл сводится к следующему: вводишь инструкцию асма - тут же получаешь эквивалентный объектный код. Что интересно, набор инструкций можно изменять - имеется файл mnemonic.lst, где в текстовом виде записаны все кодировки мнемоник.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Джозеф Тамбурино&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/d096b050.zip"&gt;d096b050.zip&lt;/a&gt;&amp;nbsp;(~980kb) DiceRTE Protected Mode Entwicklungssystem (c) 1996-2001 Christian Diefer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это пакет разработки программ для 32 битного дос-расширителя, запускающего .pe экзешники в DOS’е (в Win32 тоже работает), на основе C-компилятора. Но также внутри есть исходники Dasm32, 32 битного макроассемблера для инструкций вплоть до Pentium III и K6-2. Синтаксис похож на Masm.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Кристиан Дифер&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (??? Dcc32 ???)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на немецком&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.diefer.de/dicerte/"&gt;http://www.diefer.de/dicerte/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/dazmi116.zip"&gt;dazmi116.zip&lt;/a&gt;&amp;nbsp;(~79kb) [D]AzmIt v1.16 (C) 1997-1999 by Mikael Klasson&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очень оригинально спроектированная вещь. В зависимости от того, как используется основные функции, это программа может работать как ассемблер, так и как дизассемблер. Соответственно, два по-разному скомпилированных варианта прилагаются. Понимает опкоды FPU, MMX и 3DNow!, может работать с Pmode.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Микаэл Классон&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Tasm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .bin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://mklasson.cjb.net/"&gt;http://mklasson.cjb.net/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/gasm01g.zip"&gt;gasm01g.zip&lt;/a&gt;&amp;nbsp;(~43kb) General 8086 assembler v0.11g (c) 1996 by Jim Gage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Простенький минимальный ассемблер для опкодов 8086.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Джим Гэйдж&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (Borland C, Watcom C, GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/gasm055.zip"&gt;gasm055.zip&lt;/a&gt;&amp;nbsp;(~45kb) Gaz’s Assembler v0.55 (c) 1999 by Gareth Owen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ассемблер, по уверению автора совместимый с NASM’ом. Понимает инструкции PII.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Гарет Оуэн&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .bin (.com ???)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://gaztek.sourceforge.net/"&gt;http://gaztek.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/gema26a.zip"&gt;gema26a.zip&lt;/a&gt;&amp;nbsp;(~254kb) [G]enPC [E]lite [M]acro [A]ssembler v2.6a (c) 1994-1995 Frank Denis&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Этот довольно интересный ассемблер построен по типу ассемблера GenST платформы Atari ST. Синтаксис приближён к "моторольному". Поддерживает инструкции от 8086 до PII.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Фрэнк Дэнис&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C, Borland C, Watcom C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .obj, .com , .exe (16/32 bit)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/hasm.zip"&gt;hasm.zip&lt;/a&gt;&amp;nbsp;(~78kb) "Home" 8086 assembler (c) 1996 by Boris Fayfel&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Самодельный "домашний" ассемблер (Tasm-совместимый синтаксис), написанный на Турбо Бэйсике с небольшими асмовыми вкраплениями. Под QuickBasic компилиться не будет.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Борис Файфель&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (Turbo Basic)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: комментарии на русском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/inlin220.zip"&gt;inlin220.zip&lt;/a&gt;&amp;nbsp;(~36kb) Inline Assembler v2.20 (c) 1987-1988 by Daniel Baldwin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Объясняю фишку: Turbo Pascal до версии 5.5 (или даже 6.0) не имел встроенного ассемблера (конструкций типа asm ... end), машинный код можно было вставлять лишь с помощью заявлений inline($90,$90, ...); Так вот эта программа делает следующее: переводит ассемблерные вставки паскалевского исходника в строчки inline.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Дэниэл Болдуин&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .pas (Borland Pascal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/intel27.zip"&gt;intel27.zip&lt;/a&gt;&amp;nbsp;(~34kb) Intel Assembler v0.27 (c) 2000-2001 by Era Scarecrow / Ryan Cecil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Попытка написать полноценный ассемблер для инструкций от 8086 до Pentium. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Райан Сэсил&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QuickBasic v4.5 v7.1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/rtcvb32/"&gt;http://www.geocities.com/rtcvb32/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/intasm52.zip"&gt;intasm52.zip&lt;/a&gt;&amp;nbsp;(~97kb) Intel Assembler v0.52 (c) 1998-2002 by Era Scarecrow / Ryan Cecil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Первые версии этого ассемблера, в частности 0.21, были написаны на QBasic'е, но позже автор переписал текст заново, и отныне ассемблер компилирует сам себя (!!). Поддерживаются инструкции Пентиума, в том числе FPU и MMX.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Райан Сэсил&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Intel Assembler)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/rtcvb32/"&gt;http://www.geocities.com/rtcvb32/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/mach10a5.zip"&gt;mach10a5.zip&lt;/a&gt;&amp;nbsp;(~29kb) One Line Assembler (c) 1997 by ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Нечто интерактивное. После запуска появляется экранчик с надписями, а-ля Turbo Pascal IDE образца 1983 года. Вводишь инструкцию, и тут же получаешь его hex-эквивалент. Понимает инструкции i80386 и сопроцессора. Документация отсутствует начисто. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .bas (QBasic 4.5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет, комментарии на английском и голландском :)&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/popasm04.zip"&gt;popasm04.zip&lt;/a&gt;&amp;nbsp;(~132kb) PopAsm, the Popular Assembler Project (c) 2003 by Helcio Mello&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Попытка сконструировать "консенсусный" ассемблер, одновременно понимающий синтаксис Masm, Tasm, Fasm и Nasm. Не скомпилировано.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Эльсио Мейо&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .cpp (MS Visual C++) ???&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://popasm.sf.net/"&gt;http://popasm.sf.net/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: нет&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/sasm30b.zip"&gt;sasm30b.zip&lt;/a&gt;&amp;nbsp;(~231kb) Sasm, Snakessoft Assembler v3.0beta (c) 2001 by Rodney McConnell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Поддерживает инструкции 486 и FPU, а также макросы и кое-какие управляющие директивы. Выходным форматом является специальный .sob-файл, который можно слинковать в .exe или .com специальным линкером slink (включён в архив вместе со своими исходниками). Также поддерживается 32-битный код для использования с DOS-экстендерами.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Родни МакКоннелл&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .c (GNU C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .sob =&amp;gt; Slink =&amp;gt; .com, mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.geocities.com/snakessoft/"&gt;http://www.geocities.com/snakessoft/&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/ta980705.zip"&gt;ta980705.zip&lt;/a&gt;&amp;nbsp;(~582kb) или&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/asm/ta980717.zip"&gt;ta980717.zip&lt;/a&gt;&amp;nbsp;(~414kb) TMA macro assembler (c) 1997-1998 by Sven Michael Klose&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Довольно неплохой ассемблер, внешне напоминающий a86 и Tasm. В архиве присутствует IDE (тоже с исходниками), и досовские библиотеки для ввода/вывода, графики, sound blaster’а (wav, mod и s3m player). Для демомейкинга, надо полагать. В архиве есть старая версия ассемблера (со странным именем tmabckup.com), для компиляции более новой нужно лишь запустить install.bat&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Автор: Свен Михаэль Клозе&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Язык исходника: .asm (Компилирует сам себя)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Выходной формат: .com, mz .exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Документация: на английском и немецком&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5473302228849320563?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5473302228849320563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5473302228849320563'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_02.html' title='Исходники ассемблеров'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4326650274299094599</id><published>2010-11-01T11:15:00.000+02:00</published><updated>2010-11-06T12:28:22.722+02:00</updated><title type='text'>Старые и редкие компиляторы:</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black; font-family: verdana; font-size: 10pt; margin-bottom: 0.1cm; margin-left: 0.1cm; margin-right: 0.1cm; margin-top: 0.1cm; text-align: justify;"&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Старые и редкие компиляторы:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Представленные здесь компайлеры – те, к которым не удалось найти исходные тексты, или те, у которых они отсутствовали по определению (в смысле, в свободном распространении). Советую заглянуть на страницу&amp;nbsp;&lt;a href="http://oldpc.narod.ru/language.htm"&gt;http://oldpc.narod.ru/language.htm&lt;/a&gt;, где также размещены старые компиляторы и системы программирования, такие как Turbo Pascal 1.0 и 3.2, QuickBasic 4.0, Turbo Basic 1.0 и довольно редкие Microsoft Pascal 3.2 и Turbo Prolog 2.0&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=4326650274299094599" style="font-size: 16pt;"&gt;Basic&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/asic50.zip"&gt;asic50.zip&lt;/a&gt;&amp;nbsp;(~335kb) Asic v5.0 (c) 1994 by 80/20 Software&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очередная альтернатива QuickBasic'у. Поддерживает 90 команд GW-Basic'а и может производить маленькие .com, mz .exe и .obj файлы. В архиве имеется IDE, примеры, конвертор GW-Basic-&amp;gt;ASIC и документация на английском языке. Небольшая особенность: Asic не понимает сложных математических выражений, можно вводить лишь нечто вроде "x=x*2" или "y=w/q".&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/mbc320.zip"&gt;mbc320.zip&lt;/a&gt;&amp;nbsp;(~237kb) BlackLight MicroBASIC Compiler v3.20 (c) 1995-2001 by BlackLight&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Похоже, этот васик настолько микро, что в нём даже нет переменных 8-/ Генерит .com файлы.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/pb350.zip"&gt;pb350.zip&lt;/a&gt;&amp;nbsp;(~593kb) Power Basic v3.50 (c) 1989-1997 by Robert Zale&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Тот самый Роберт Зэйл, который ваял Турбо Бэйсик для Борланда, не захотел мириться с победой настырного конкурента-QuickBasic’а и основал свой проект, который (как я понял) вполне успешно конкурирует в сети с микрософтовским чудом. Это полностью работоспособная (в отличие от v3.2) демонстрационная версия для Dos (грузит/сохраняет файлы и компилит в .exe), но без каких-либо навесных библиотек – только стандартные бэйсиковские ключевые слова.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Домашний сайт:&amp;nbsp;&lt;a href="http://www.powerbasic.com/"&gt;http://www.powerbasic.com/&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/tbc555f.zip"&gt;tbc555f.zip&lt;/a&gt;&amp;nbsp;(~180kb) Tokiwa 8086 Basic v5.55f (c) 1995-2000 by Genji Okada&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Поддерживает целые числа, строки и числа с плавающей точкой. По-человечески вычисляет выражения, то есть с приоритетами. Имеет все стандартные управляющие конструкции. Генерит не очень большие .com файлы. С документацией на английском и русском языках и несколькими примерами.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=4326650274299094599" style="font-size: 16pt;"&gt;C&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/lsic330c.zip"&gt;lsic330c.zip&lt;/a&gt;&amp;nbsp;(~400kb) LSI C-86 v3.30c (C) 1988-1993 LSI Japan Co., Ltd.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это компилятор Си для MS-DOS. По идее, выдаёт ассемблерный листинг. Так как вся документация к данному продукту на японском языке, то никаких подробностей узнать не удалось.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/pcc12c.zip"&gt;pcc12c.zip&lt;/a&gt;&amp;nbsp;(~175kb) Personal C Compiler v1.2c (c) 1989 by Mark DeSmet&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ещё один старый компайлер Си для Дос.&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=4326650274299094599" style="font-size: 16pt;"&gt;Pascal&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/bluecomp.zip"&gt;bluecomp.zip&lt;/a&gt;&amp;nbsp;(~56kb) Bluestone 32-bit compiler version 1.0 (c) by Matt Pritchard&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Очередной брошенный проект Паскаль компилятора, во всяком случае более поздней версии найти не удалось. Генерит код для Dos-экстендера Pmode. В комплекте небольшая ModeX Vga библиотека и демонстрационная игра (недоделанная).&lt;br /&gt;&lt;hr /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/pxsc100.zip"&gt;pxsc100.zip&lt;/a&gt;&amp;nbsp;(~700kb) Pascal-XSC to C Compiler v1.0 (c) 1991 by Numerik Software GmbH&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Это транслятор из Паскаля в Си, поэтому для комплекта требуется Microsoft C v6.0 (согласно документации). Насчёт совместимости с другими Си ничего не известно. Это старая версия компилятора, более новую (v3.50) можно скачать с сайта&amp;nbsp;&lt;a href="http://www.uni-karlsruhe.de/~iam/html/pascal/pascal-xsc/download.html"&gt;http://www.uni-karlsruhe.de/~iam/html/pascal/pascal-xsc/download.html&lt;/a&gt;, где также можно взять прилагаемый компилятор EMX GNU-C v0.9c. Для новой версии требуется особый Дос-расширитель, которого почему-то в дистрибутиве нет. Зато есть здесь:&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/rsx.exe"&gt;rsx.exe&lt;/a&gt;&amp;nbsp;(~112kb). Этот файл требуется скопировать в рабочий каталог (/bin). Исходники версии 3.50 (GNU C) можно скачать прямо отсюда:&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/trans/old/pxsc350s.zip"&gt;pxsc350s.zip&lt;/a&gt;&amp;nbsp;(~1.9Mb).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4326650274299094599?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4326650274299094599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4326650274299094599'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/11/blog-post_01.html' title='Старые и редкие компиляторы:'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-812591649416463932</id><published>2010-10-25T23:13:00.002+03:00</published><updated>2010-11-27T13:46:59.915+02:00</updated><title type='text'>Книги по PHP</title><content type='html'>&lt;b&gt;Название:&lt;/b&gt; PHP 5 для начинающих&lt;br /&gt;&lt;b&gt;Автор:&lt;/b&gt; Мерсер, Кент, Новицки&lt;br /&gt;&lt;b&gt;Год издания:&lt;/b&gt; 2006&lt;br /&gt;&lt;b&gt;Формат:&lt;/b&gt; pdf&lt;br /&gt;&lt;b&gt;Язык:&lt;/b&gt; русский&lt;br /&gt;&lt;b&gt;Страниц:&lt;/b&gt; 848&lt;br /&gt;&lt;b&gt;Качество:&lt;/b&gt; отличное&lt;br /&gt;&lt;b&gt;Размер:&lt;/b&gt; 17.1 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="PHP 5 для начинающих" src="http://progbook.net/uploads/posts/2010-07/1278069953_11e219e5d5fe.jpg" title="PHP 5 для начинающих" /&gt;&lt;/div&gt;&lt;br /&gt;Эта  книга представляет собой подробное учебное пособие для желающих освоить  современную версию РНР. В книге описывается установка и  конфигурирование РНР, основные понятия программирования, такие как  переменные, циклы, условные операторы и массивы, а также основы  объектно-ориентированного программирования и возможности его применения в  РНР 5. &lt;br /&gt;&lt;br /&gt;Здесь также рассматриваются такие темы, как работа из  РНР с HTTP-данными, использование XML, СУРБД (MySQL и SQLite), работа с  изображениями и создание PHP-сценариев командной строки. Кроме того, в  книге описано проектирование приложений с помощью UML, PEAR-пакеты и  методика повторного использования РНР-кода, а также обработка ошибок,  тестирование и отладка приложений.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://depositfiles.com/files/xdkpwhqat" target="_blank"&gt;Скачать с Depositfiles.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://turbobit.net/fm2zj5gcwxzo.html" target="_blank"&gt;Скачать с Turbobit.net&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div id="news-id-4370"&gt;&lt;b&gt;Название:&lt;/b&gt; Изучаем PHP и MySQL&lt;br /&gt;&lt;b&gt;Автор:&lt;/b&gt; Мишель Е. Дэвис и Джон А. Филлипс&lt;br /&gt;&lt;b&gt;Год издания:&lt;/b&gt; 2008&lt;br /&gt;&lt;b&gt;Формат:&lt;/b&gt; pdf&lt;br /&gt;&lt;b&gt;Язык:&lt;/b&gt; русский&lt;br /&gt;&lt;b&gt;Страниц:&lt;/b&gt; 448&lt;br /&gt;&lt;b&gt;Качество:&lt;/b&gt; хорошее&lt;br /&gt;&lt;b&gt;Размер:&lt;/b&gt; 10.8 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Изучаем PHP и MySQL" src="http://progbook.net/uploads/posts/2010-07/1278061291_9c18fc596cf3.jpg" title="Изучаем PHP и MySQL" /&gt;&lt;/div&gt;&lt;br /&gt;Если  вы хотите научиться созданию динамических веб-сайтов, знакомы с  основами программирования на HTML, но не представляете себе, как  использовать для этих целей язык программирования РНР и СУБД MySQL, то  данная книга станет вам незаменимым помощником. Ее авторы с успехом  демонстрируют, что такая комбинация - это мощный инструмент, позволяющий  существенно упростить разработку веб-приложений. &lt;br /&gt;&lt;br /&gt;В книге  рассматривается установка программных пакетов РНР и MySQL для PC,  Macintosh и LINUX, даются основы работы с языком программирования РНР,  раскрываются понятия типов данных, переменных, функций, массивов и форм.  Также приводится подробное введение в MySQL, разъясняется концепция  проектирования реляционных баз данных и демонстрируются конкретные  примеры использования MySQL для работы с ними. Книга снабжена большим  количеством справочной информации по соответствующим сетевым ресурсам и  стандартам. &lt;br /&gt;&lt;br /&gt;Авторы иллюстрируют на примерах способы внедрения  данных в динамическое содержимое страниц с помощью РНР, кратко, но  содержательно рассматривают вопросы безопасности и управления доступом к  веб-страницам, описывают ошибки, возникающие при вводе данных, методы  их обработки и исправления, а в заключение приводят подробный пример  приложения (блога), показывая совместную работу описанных в книге  технологий.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://depositfiles.com/files/tigbl43hw" target="_blank"&gt;Скачать с Depositfiles.com&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://turbobit.net/9qlej6y93fk8.html" target="_blank"&gt;Скачать с Turbobit.net&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Технологии PHP и MySQL для создания сайтов&lt;/span&gt;&lt;/h2&gt;&lt;b&gt;Год:&lt;/b&gt; 2009&lt;br /&gt;&lt;b&gt;Формат:&lt;/b&gt; exe&lt;br /&gt;&lt;b&gt;Язык:&lt;/b&gt; русский&lt;br /&gt;&lt;b&gt;Размер:&lt;/b&gt; 55.73 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Технологии PHP и MySQL для создания сайтов" src="http://progbook.net/uploads/posts/2010-02/thumbs/1266353255_coverphp.jpg" title="Технологии PHP и MySQL для создания сайтов" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Автор  предлагает вашему вниманию обучающий курс, который предназначен для тех  людей, которые только начинают знакомиться с технологиями PHP и MySQL,  но встречаются со многими трудностями и непонятными моментами, которых  на первом этапе очень и очень много. В программировании очень важно  понять основы и принципы, как все работает и тогда дело пойдет, как по  маслу и вы сможете без проблем изучать те книги, которые лежат на  книжных полках магазинов и совершенствовать свои знания.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://depositfiles.com/files/jqzp42qff" target="_blank"&gt;Скачать книгу с DepositFiles.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://letitbit.net/download/7941.7b5f18cd92691c4f771244cc51ac4760/Chengaev_D._Tehnologii_PHP_i_MySQL_2009.rar.html" target="_blank"&gt;Скачать книгу с letitbit.net&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div id="news-id-3742"&gt;&lt;b&gt;Автор:&lt;/b&gt; Д. Колисниченко&lt;br /&gt;&lt;b&gt;Год:&lt;/b&gt; 2007&lt;br /&gt;&lt;b&gt;Формат:&lt;/b&gt; Djvu&lt;br /&gt;&lt;b&gt;Страниц:&lt;/b&gt; 416&lt;br /&gt;&lt;b&gt;Размер:&lt;/b&gt; 14.5 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Профессиональное программирование на PHP" src="http://progbook.net/uploads/posts/2010-02/thumbs/1267205967_8f39ee58d4e7.jpg" title="Профессиональное программирование на PHP" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Книга  рассчитана на программистов, уже освоивших азы программирования на РНР.  Приводятся сведения об отладке, анализе и оптимизации кода. Большая  часть книги посвящена практическим моментам PHP-разработки: модификации  популярных систем управления контентом и форумов, написанию  сценариев-кирпичиков, из которых можно "выстроить" собственный сайт или  портал. &lt;br /&gt;&lt;br /&gt;Для удобства читателей исходные коды примеров помещены  на прилагаемом диске. Рассматриваются возможности  объектно-ориентированного программирования на РНР. Отдельное внимание  уделено продуктам компании Zend: Zend Studio, Zend Optimizer, Zend  Guard. &lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://depositfiles.com/files/38hr72oyx" target="_blank"&gt;Скачать с DepositFiles.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://letitbit.net/download/5117.55679120556eccb3ecc9cf543/Prof_programirovanie_na_PHP.zip.html" target="_blank"&gt;Скачать с LetitBit.net&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div id="news-id-3375"&gt;Название: Самоучитель PHP 5&lt;br /&gt;Автор: Колисниченко Д.Н.&lt;br /&gt;Серия: Просто о сложном&lt;br /&gt;Год: 2004&lt;br /&gt;Страниц: 576&lt;br /&gt;Формат: djvu&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Самоучитель PHP 5" src="http://progbook.net/uploads/posts/2010-01/1264095558_samouchitel-php-5.-kolisnichenko-d.n..jpg" title="Самоучитель PHP 5" /&gt;&lt;/div&gt;&lt;br /&gt;Данная  книга является превосходным учебным пособием, позволяющим быстро  освоить и эффективно использовать РНР. Здесь вы найдете все, что для  этого необходимо: от описания настройки РНР, основ CGI и базовых  конструкций языка, до работы с сессиями, каналами, сокетами и другими  специальными технологиями РНР, Особое место занимает рассмотрение  взаимодействия РНР с базами данных. В книге рассмотрены, как MySQL, так и  SQLite, поддерживаемая РНР 5.&lt;br /&gt;&lt;br /&gt;При всем при этом, книга  максимально ориентирована на достижение реальных практических  результатов. В деталях описано, как создать на РНР свою гостевую книгу,  чат, форум, почтовую рассылку на сайте, новостную ленту и даже  Интернет-магазин. Приведены готовые скрипты. Отдельно рассмотрена  методика создания системы автоматического управления содержимым сайта  ("движка"). Такая система позволит вам максимально упростить поддержку и  обновление своего сайта. Кроме создания своих скриптов, приведено  описание профессиональных продуктов (бесплатных и открытых): форума  РНРВВ и системы PHP-Nuke. Эти продукты применяются на огромном  количестве сайтов и позволяют "дважды не изобретать велосипед", а  использовать уже готовые решения.&lt;br /&gt;&lt;br /&gt;Книга отличается простотой и  ясностью изложения материала. Написана опытным и известным автором.  Лучший выбор для начинающих изучать РНР.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://depositfiles.com/files/kv0bk0x07" target="_blank"&gt;скачать с depositfiles&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/340733782/Samouchitel_PHP_5.rar" target="_blank"&gt;&lt;b&gt;Скачать с RapidShare.com&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://letitbit.net/download/2734.214fcff206a1bbb6dd00ee2d1b/Samouchitel_PHP_5.rar.html" target="_blank"&gt;&lt;b&gt;Скачать с LetItBit.ru&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Название:&lt;/b&gt; PHP. Практика создания Web-сайтов. 2-е издание + CD-ROM&lt;br /&gt;&lt;b&gt;Автор:&lt;/b&gt; Кузнецов М.В., Симдянов И.В.&lt;br /&gt;&lt;b&gt;Год:&lt;/b&gt; 2009&lt;br /&gt;&lt;b&gt;Страниц:&lt;/b&gt; 1264&lt;br /&gt;&lt;b&gt;Формат:&lt;/b&gt; DjVu&lt;br /&gt;&lt;b&gt;Размер:&lt;/b&gt; 22,8 Mб&lt;br /&gt;&lt;b&gt;Язык:&lt;/b&gt; Русский&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="PHP. Практика создания Web-сайтов. 2-е издание + CD-ROM" src="http://progbook.net/uploads/posts/2010-01/1263509068_1000774411.jpg" title="PHP. Практика создания Web-сайтов. 2-е издание + CD-ROM" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Рассматривается  создание большого количества Web-приложений, входящих в состав  полнофункционального Web-сайта. Попутно подробно обсуждаются все  вопросы, с которыми может столкнуться Web-разработчик, начиная с  создания инструментария для быстрой разработки Web-приложений и  последних нововведений языка программирования РНР и заканчивая вопросами  безопасности и особенностями программирования клиент-серверных  приложений. &lt;br /&gt;Книга ориентирована на читателей, знакомых с языком  разметки HTML и базовыми возможностями языка программирования РНР.  Второе издание полностью переработано, учтены нововведения версий РНР  5.1 и 6.0. &lt;br /&gt;Прилагаемый компакт-диск содержит исходные коды всех Web-приложений, разрабатываемых в книге.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://depositfiles.com/files/gntx7krey" target="_blank"&gt;Скачать книгу с depositfiles.com&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;b&gt;&lt;a href="http://rapidshare.com/files/335581848/PHP_praktika_sozdaniya_web_saitov-2nd.zip" target="_blank"&gt;Скачать книгу с RapidShare.com&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;a href="http://letitbit.net/download/1465.11b1a3b3c7f4a5cceffa6d3f48/PHP_praktika_sozdaniya_web_saitov_2nd.zip.html" target="_blank"&gt;Скачать книгу с LetItBit.net&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;b&gt;Год&lt;/b&gt;: 2001&lt;br /&gt;&lt;b&gt;Формат&lt;/b&gt;: pdf&lt;br /&gt;&lt;b&gt;Размер&lt;/b&gt;: 5,2 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Основы программирования на PHP" src="http://progbook.net/uploads/posts/2009-12/1260522164_9e1f72496653.jpg" title="Основы программирования на PHP" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Представленная &lt;b&gt;книга посвящена РНР&lt;/b&gt;  - серверному межплатформенному встроенному в HTML языку написания  сценариев. Рассматриваются следующие вопросы: синтаксис языка, строки и  управляющие структуры, массивы и регулярные выражения, функции;  описываются приемы отладки ваших сценариев. Особое внимание уделяется  получению введенной в форму информации, работе с файловой системой,  базами данных, cookie и др. Включенные в состав книги приложения  содержат информацию об установке и настройке Web-сервера, инсталляции языка РНР. &lt;br /&gt;&lt;br /&gt;Здесь же обсуж-даются вопросы безопасности скриптов, даются ссылки на Web-ресурсы, посвященные &lt;b&gt;РНР&lt;/b&gt;.  Книга будет полезна как начинающим Web-мастерам, которые только  собираются создавать динамические сайты, так и профессиональным  дизайнерам, желающим внести элементы динамики в проектируемые ими  ресурсы.&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/q908y4t4q" target="_blank"&gt;скачать с Depositfiles.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://uploading.com/files/864ccbc9/osn_pr_php.rar/" target="_blank"&gt;скачать с Uploading.com&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div id="news-id-3018"&gt;&lt;b&gt;Название&lt;/b&gt;: Разработка WEB-приложений на PHP 5 Профессиональная работа&lt;br /&gt;&lt;b&gt;Автор&lt;/b&gt;: А. В. Олищук, А. Н. Чаплыгин&lt;br /&gt;&lt;b&gt;Год издания&lt;/b&gt;: 2006&lt;br /&gt;&lt;b&gt;Страниц&lt;/b&gt;: 352&lt;br /&gt;&lt;b&gt;Язык&lt;/b&gt;: Русский&lt;br /&gt;&lt;b&gt;Формат&lt;/b&gt;: DjVu&lt;br /&gt;&lt;b&gt;Размер&lt;/b&gt;: 9 Мб&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Разработка WEB-приложений на PHP 5 Профессиональная работа" src="http://progbook.net/uploads/posts/2009-12/1259959278_0283ecd680f2.jpg" title="Разработка WEB-приложений на PHP 5 Профессиональная работа" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Книга посвящена профессиональному использованию &lt;b&gt;языка РНР 5&lt;/b&gt;  - самого популярного, весьма мощного, эффективного и относительно  простого в изучении языка Web-программирования. В ней затрагивается  широкий круг тем, связанных с разработкой Web-приложений любого  назначения и уровня сложности. Здесь читатель найдет все, что необходимо  как для начала работы с &lt;b&gt;РНР&lt;/b&gt;, так и для дальнейшего его  использования - начиная с азов языка и установки его программного  окружения и заканчивая средствами работы с XML, Web-сервисами и  системами управления базами данных. Авторами использован сугубо  практический подход: все темы рассматриваются на многочисленных  лаконичных примерах и снабжены ссылками на дополнительные материалы,  которые могут быть полезны читателю.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/mczsqe1al" target="_blank"&gt;скачать с Depositfiles.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://uploading.com/files/6266ebcm/Razrabotka_WEB-prilojenii_na_PHP_5.rar/" target="_blank"&gt;скачать с Uploading.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hotfile.com/dl/19542773/acee767/Razrabotka_WEB-prilojenii_na_PHP_5.rar.html" target="_blank"&gt;скачать с Hotfile.com&lt;/a&gt;&lt;/div&gt;&lt;div id="news-id-3018"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div id="news-id-3018"&gt;&lt;div align="center"&gt;&lt;img alt="Скачать книгу PHP 5 для" height="295" src="http://progbook.net/uploads/posts/2009-09/1254219728_1234130167_1179613615_php5.jpg" style="border-bottom-style: none; border-bottom-width: medium; border-color: initial; border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium;" title="Скачать книгу PHP 5 для" width="200" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Данная  электронная книга является введением в область Web-программирования на  языке PHP 5. С ее помощью можно быстро написать сценарий для Web,  обеспечить взаимодействие с файлами и базами данных, а также решить  другие задачи. Материал электронной книги также позволит избежать многих  распространенных ошибок. Описание основных возможностей языка  сопровождается примерами. В электронной книге можно также найти  рекомендации по установке модуля PHP 5 для Web и для работы в командной  строке, а также установке и настройке популярных Web-серверов Apache и  IIS.&lt;br /&gt;Год выхода: 2005&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://depositfiles.com/files/ngtuijkfh" target="_blank"&gt;Скачать с DepositFile.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/294131914/php_dlya_chaynikov.rar" target="_blank"&gt;&lt;b&gt;Скачать с RapidShare.com&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;img alt="Скачать книгу PHP 5 в подлиннике (2-е издание)" src="http://progbook.net/uploads/posts/2009-09/1254223003_1248862235_php5_2ed.jpg" title="Скачать книгу PHP 5 в подлиннике (2-е издание)" /&gt;&lt;/div&gt;&lt;br /&gt;Новое  издание замечательной книги «PHP 5 в подлиннике». Вы можете скачать  книгу и она существенно поможет вам в работе с Веб-серверами, сборке  РНР-модулей и особенностях их работы в среде UNIX. Существенное внимание  в ней уделено описанию особенностью работы РНР с файлами массивами и  элементами СУБД MySQL. Добавлено описание новых возможностей по  объектно-ориентированному программированию, отделению PHP-кода от  HTML-шаблонов и технологиям AJAX и DbSimple. Все это и еще массу  полезных вещей Вы найдете в этой книге.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://depositfiles.com/files/tfynffi6f" target="_blank"&gt;&lt;b&gt;Скачать с DepositFile.com&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div align="center"&gt;&lt;img alt="Скачать книгу Ваш первый сайт с использованием PHP-скриптов" src="http://progbook.net/uploads/posts/2009-09/1254223022_1246692640_stroganov-php.jpg" style="border-bottom-style: none; border-bottom-width: medium; border-color: initial; border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium;" title="Скачать книгу Ваш первый сайт с использованием PHP-скриптов" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Хотите  научится делать сайты, скачайте книгу, написанную именно для Вас. Она  познакомит с PHP-программированием легко и быстро, на понятном языке.  Даже если Вы новичок, с этой книгой у Вас получится создать и наполнить  сайт с тысячами страниц, создав при этом вручную всего одну. Вы запросто  станете писать любые PHP-скрипты для любых целей, ограничиваясь лишь  вашей фантазией.&lt;br /&gt;&lt;br /&gt;Год издания: 2008&lt;br /&gt;Формат: djvu&lt;br /&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/ar6jww61t" target="_blank"&gt;&lt;b&gt;Скачать с DepositFile.com&lt;/b&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div align="center"&gt;&lt;img alt="PHP в примерах. Включая версию 6" src="http://progbook.net/uploads/posts/2009-03/1238172596_1675c400535.jpg" style="border-bottom-style: none; border-bottom-width: medium; border-color: initial; border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium;" title="PHP в примерах. Включая версию 6" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вашему  вниманию предлагается один из мировых бестселлеров, посвященных  программированию на РНР. В рамках одной книги автору удалось, начав с  основ языка РНР, охватить весьма широкий круг вопросов - от  объектно-ориентированного программирования до сложной обработки  web-форм, от сохранения данных сеанса работы до формирования e-mail.  Теоретический материал излагается в компактной и сжатой форме, и  основное место отдано практическим примерам использования богатых  возможностей РНР. Книга предназначена в основном для начинающих  разработчиков на РНР, но и профессионал может найти в ней немало  интересных моментов.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Оглавление:&lt;/b&gt;&lt;br /&gt;Глава 1. Введение в РНР &lt;br /&gt;Глава 2. Операторы &lt;br /&gt;Глава 3. Строки и массивы &lt;br /&gt;Глава 4. Функции &lt;br /&gt;Глава 5. Элементы управления HTML &lt;br /&gt;Глава 6. Web-приложения. &lt;br /&gt;Глава 7. ООП и файлы &lt;br /&gt;Глава 8. Базы данных &lt;br /&gt;Глава 9. Cookie, сеансы, FTP, e-mail &lt;br /&gt;Приложение А. Справочник по языку. &lt;br /&gt;Приложение Б. Справочник функций. &lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://depositfiles.com/files/6242267" target="_blank"&gt;&lt;b&gt;Скачать DepositFile.com&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://rapidshare.com/files/90420129/PHP_v_primerah.rar" target="_blank"&gt;Скачать RapidShare.com&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;hr /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-812591649416463932?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/812591649416463932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/812591649416463932'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/10/php.html' title='Книги по PHP'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5236549602604669478</id><published>2010-09-29T20:16:00.000+03:00</published><updated>2010-09-29T20:16:06.711+03:00</updated><title type='text'>GetWindowsDirectory</title><content type='html'>Функция GetWindowsDirectory получает путь к директории  Windows. Директория Windows содержит такие файлы, как приложения, файлы  инициализации и файлы помощи.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;UINT GetWindowsDirectory(&lt;br /&gt;    LPTSTR lpBuffer, // адрес буфера&lt;br /&gt;    UINT uSize   // размер буфера&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpBuffer&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера для получения  нульзаканчивающейся строки, содержащей путь. Этот путь не заканчивается  слешем, кроме случая, если директория Windows – это корневая папка  (например C:\).&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;uSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Задает максимальный размер, в символах, буфера lpBuffer. Это значение не должно быть меньше MAX_PATH.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, возвращается количество записанных в буфер символов, без учета завершающего нулевого символа.&lt;br /&gt;Если буфер мал для получения строки, возвращается нужный размер буфера.&lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Директория Windows – это директория, где приложение может хранить  инициализационные файлы и файлы помощи. Если пользователь работает на  разделяемой версии Windows, то директрория Windows гарантированно  является частной для каждого пользователя.&lt;br /&gt;Если приложение создает  файлы, базирующиеся на конкретном пользователе, оно может разместить их в  директорию, заданную переменной окружения HOMEPATH. Эта директория  отличается для каждого пользователя, если они созданы администратором, с  использованием инструментов администратирования. HOMEPATH всегда  указывает на домашнюю директорию пользователя или на директорию по  умолчанию (например, C:\USERS\DEFAUL), куда пользователь имеет полный  доступ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5236549602604669478?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5236549602604669478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5236549602604669478'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getwindowsdirectory.html' title='GetWindowsDirectory'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6666592927912540149</id><published>2010-09-29T20:12:00.000+03:00</published><updated>2010-09-29T20:12:46.197+03:00</updated><title type='text'>GetSysColor</title><content type='html'>Функция GetSysColor получает текущий цвет указанного  элемента отображения. Элементы отображения – это части окна и дисплея  Windows, которые появляются на системном экране дисплея.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;DWORD GetSysColor(&lt;br /&gt;    int nIndex  // элемент отображения&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nIndex&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Определяет элемент отображения, чей цвет должен быть возвращен. Принимает одно из следующих значений: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;          &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;          &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_3DDKSHADOW&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Темная тень для трехмерных элементов отображения.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_3DFACE, COLOR_3DHILIGHT, COLOR_3DHIGHLIGHT, COLOR_BTNHILIGHT, COLOR_BTNHIGHLIGHT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет подсветки трехмерных элементов отображения (для граней, стоящих перед источником освещения).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_3DLIGHT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Светлый цвет для трехмерных элементов отображения (для граней, стоящих перед источником освещения).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_3DSHADOW, COLOR_BTNSHADOW&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Темный цвет для для трехмерных элементов отображения (для граней, стоящих далеко от источника освещения).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_ACTIVEBORDER&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет границы активного окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_ACTIVECAPTION&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет заголовка активного окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_APPWORKSPACE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет фона в многодокументной среде приложения.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_BACKGROUND, COLOR_DESKTOP&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет десктопа.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_BTNTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текста на командных кнопках.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_CAPTIONTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текста в заголовке, окне размера и блоке стрелки слайдера.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_GRAYTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет недоступного текста; установлен в 0, если текущий драйвер дисплея не поддерживает сплошной серый цвет.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_HIGHLIGHT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет выбранных элементов управления.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_HIGHLIGHTTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текста в выбранных элементах управления.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_INACTIVEBORDER&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет неактивной границы окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_INACTIVECAPTION&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет неактивного заголовка окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_INACTIVECAPTIONTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текста в заголовке неактивного окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_INFOBK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет фона средства управления tooltip.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_INFOTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текса в элементах управления tooltip.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_MENU&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет фона меню.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_MENUTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текса в меню.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_SCROLLBAR&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет серой области полосы прокрутки.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_WINDOW&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет фона окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_WINDOWFRAME&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет рамки окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;COLOR_WINDOWTEXT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Цвет текста в окнах.&lt;/td&gt;        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращаемое значение – это красное,  зеленое, синее значение цвета (RGB), определяющее цвет данного  элемента.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Системные цвета для монохромных дисплеев обычно трактуются как оттенки серого.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6666592927912540149?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6666592927912540149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6666592927912540149'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getsyscolor.html' title='GetSysColor'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-8893656145568482179</id><published>2010-09-28T11:20:00.002+03:00</published><updated>2010-11-05T10:38:48.796+02:00</updated><title type='text'>Prolog &amp; Lisp исходники</title><content type='html'>&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Задачи на Lisp и Prolog с решениями&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Для начала - огромное количество задач в необработанном виде - &lt;a href="http://www.sugardas.lt/~p2d/prolog.html"&gt;ЗДЕСЬ&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Это типичные задачи из университетского курса на языках Лисп и Пролог.&lt;br /&gt;&lt;a href="http://www.gprolog.org/"&gt;GNU Prolog&lt;/a&gt; - интерпретатор, на котором выполняются примеры на прологе.&lt;br /&gt;&lt;a href="http://www.sugardas.lt/~p2d/ProLisp/mulisp.rar"&gt;mLisp&lt;/a&gt;&amp;nbsp;- интерпретатор Лиспа. Загрузка исходного файла производится следующей командой: (LOAD ‘filename)&lt;br /&gt;Например: (LOAD ‘test.lsp)&lt;br /&gt;Либо производится из коммандной строки (cmd.exe): mulisp file.txt, в  таком случае текст программы должен заканчиваться командой (system).&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача (PRLG01)&lt;/strong&gt;:&amp;nbsp;На доске 4х4 расставить 4 слона так, чтобы они все находились не под ударом друг друга.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg01.txt" title="prlg01.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG02)&lt;/strong&gt;:Написать программу решения головоломки про Волка, Козу и Капусту.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg02.txt" title="prlg02.txt"&gt;Лисп (поиск в ширину)&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG03):&lt;/strong&gt;Операции со  списками. Создать функцию на языке Лисп, которая выполняет следующие  действия: перегруппирует элементы заданного списка так, чтобы одинаковые  элементы, если они есть в списке, стояли все подряд.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg03.txt" title="prlg03.txt"&gt;Лисп&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;Запуск&lt;/strong&gt;: (l8 ‘(1 2 1 3 2 5 7 1)) &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG04):&lt;/strong&gt;&amp;nbsp;Написать  функцию,&amp;nbsp;упорядочивающую список, заданный в качестве ее первого  аргумента, переставляя его элементы в той последовательности, в какой  они встречаются в списке, являющемся значением второго аргумента.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg04.txt" title="prlg04.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG05):&lt;/strong&gt;&amp;nbsp;Написать программу, которая печатает все перестановки чисел от 1 до&amp;nbsp;n.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg05.txt" title="prlg05.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG06):&lt;/strong&gt;&amp;nbsp;Написать&amp;nbsp;программу&amp;nbsp;вычисления  значения многочлена в точке по схеме Горнера:&amp;nbsp;&amp;nbsp;Рn = (…( ( a0x + a1)x +  а2)x + … + аn-1)x + аn.Схема Горнера: Р0 = a0; p1 = Р0 • x + a1 = a0x +  a1; p2 = Р1 • x + a2 = a0×2 + a1x + a2;&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg06.txt" title="prlg06.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG07):&lt;/strong&gt;&amp;nbsp;Написать программу обращения списка с подсписками.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg07.txt" title="prlg07.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG08):&lt;/strong&gt;&amp;nbsp;Написать программу сортировки списка чисел методом Quick Sort (Быстрой сортировки).&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg08.txt" title="prlg08.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG09):&lt;/strong&gt;&amp;nbsp;Написать программу, которая преобразует представление числа из десятичной в двоичную систему.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg09.txt" title="prlg09.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG10):&lt;/strong&gt;&amp;nbsp;Написать  программу, которая объединяет два отсортированных списка в один, тоже  отсортированный.Например: (2, 3, 6, 8)&amp;nbsp;и (1, 4, 5, 7, 10) -&amp;gt; (1, 2,  3, 4, 5 ,6 ,7, 8, 10).&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg10.txt" title="prlg10.txt"&gt;Пролог&lt;/a&gt;, &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg10_lisp.txt" title="prlg10_lisp.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG11):&lt;/strong&gt;&amp;nbsp;Написати на  Пролозi програму, яка друкує всi пiдмножини заданої множини.Ідея  розв’язку грунтується на спiввiдношеннi:Boolean(X) = Boolean(X\{y}) U  {y} U { (S U {y}) | S множина з Boolean(X\{y})}.Побудову множини { (S U  {y}) | S множина з Boolean(X\{y})} здiйснює функцiя comb. Функцiя обчислює вищенаведене рекурентне спiввiдношення.&lt;br /&gt;&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg11.txt" title="prlg11.txt"&gt;Пролог&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG12):&lt;/strong&gt;&amp;nbsp;Напишите функцию, которая сортирует список чисел, используя алгоритм простого выбора.&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg12.txt" title="prlg12.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG13):&lt;/strong&gt;&amp;nbsp;Определите  функцию f(s), результатом которой является список, получающийся из  списка списков s после удаления всех подсписков, содержащих числа  (Lisp).&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg13.txt" title="prlg13.txt"&gt;Лисп&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG14):&lt;/strong&gt;&amp;nbsp;Напишите функцию на Lisp, осуществляющую циклическую перестановку элементов в списке,т.е. (f g h j) -&amp;gt; (g h j f). &lt;strong&gt;Вариант 1 решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg14.txt" title="prlg14.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Вариант&amp;nbsp;2 решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/cyclic.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;Напишите функцию, осуществляющую циклическую перестановку N следующих  подряд элементов в списке. Например, при N=3 и исходном списке (a b c d  e f g h) должно получиться (f g h a b c d e).&lt;br /&gt;&lt;strong&gt;Вариант&amp;nbsp;обратной перестановки&amp;nbsp;решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/reverse_cyclic.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG15):&lt;/strong&gt;&amp;nbsp;Напишите функцию  (Lisp), которая из данного одноуровнего списка строит список списков его  элементов, например, (a b) -&amp;gt; ((a) (b)).&lt;strong&gt;Решения&lt;/strong&gt;: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg15.txt" title="prlg15.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG16):&lt;/strong&gt;&amp;nbsp;Определите  функцию (Lisp), зависящую от двух аргументов u и v, являющихся списками,  которая вычисляет список всех элементов u, не содержащихся в v.&lt;strong&gt;Решения&lt;/strong&gt;:&amp;nbsp; &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg16.txt" title="prlg16.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача&lt;/strong&gt; (&lt;strong&gt;PRLG17):&lt;/strong&gt;&amp;nbsp;Написать программу реализующую игру в “Шашки”&lt;strong&gt;Решения&lt;/strong&gt;:&amp;nbsp; &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg17.txt" title="prlg17.txt"&gt;Пролог&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача (PRLG18)&lt;/strong&gt;: Определить функцию, которая любой  исходный список преобразует в список с одним уровнем скобок,  например:&amp;nbsp;(a (b c) a b (c (c)))) -&amp;gt; (a b c a b c c).&amp;nbsp;&lt;strong&gt;Решения&lt;/strong&gt;:&amp;nbsp;&lt;a href="http://www.sugardas.lt/~p2d/ProLisp/prlg18.txt" title="prlg18.txt"&gt;Лисп&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задачи, предоставленные посетителями сайта. &lt;/strong&gt;В этом разделе представлены задачи, решения которых были любезно предоставлены посетителями сайта.&lt;br /&gt;&lt;hr /&gt;&lt;strong&gt;Задача 1.&lt;/strong&gt;&amp;nbsp;Разработать класс для создания  объектов-словарей на языке Лисп.. Ключи элементов уникальны и  представлены атомами-символами. Класс должен включать методы для  включения элементов в словарь, вычеркивания их из словаря, поиска по  ключу или отображения списка всех ключей, которым соответствуют  одинаковые значения. Учесть, что значения, соответствующие ключам, могут  быть как атомами так и списками. Должны быть определены тестовые  последовательности для отладки программы, проверки ее работоспособности и  тестирования при граничных значениях исходных данных.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Решение: &lt;a href="http://www.sugardas.lt/~p2d/ProLisp/XLISP.rar"&gt;Лисп&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://protsyk.com/Arh/XLISP.rar"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt; &lt;strong&gt;&lt;img height="306" src="http://protsyk.com/Arh/Example.jpg" width="482" /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-8893656145568482179?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8893656145568482179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8893656145568482179'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/prolog.html' title='Prolog &amp; Lisp исходники'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5815072825579601329</id><published>2010-09-26T23:59:00.007+03:00</published><updated>2010-09-29T20:45:45.160+03:00</updated><title type='text'>SetSystemFileCacheSize</title><content type='html'>&lt;h5&gt;&lt;br /&gt;&lt;div align="right"&gt;Поддерживается на Windows Vista / XP64&lt;/div&gt;&lt;/h5&gt;Функция SetSystemFileCacheSize ограничивает размер файла системного кэша.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL SetSystemFileCacheSize(&lt;br /&gt;  SIZE_T MinimumFileCacheSize, // минимальный размер кэша&lt;br /&gt;  SIZE_T MaximumFileCacheSize, // максимальный размер кэша&lt;br /&gt;  DWORD Flags  // флаги&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;MinimumFileCacheSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Минимальный размер файла кэша, в байтах.  Менеджер виртуальной памяти пытается сохрнить столько памяти  резидентной в системном файле кэша.&lt;br /&gt;Для сброса кэша, задайте (SIZE_T) -1.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;MaximumFileCacheSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Максимальный размер файла кэша, в  байтах. Менеджер виртуальной памяти превышает это ограничение только,  если этот вызов или предыдущий вызов функции SetSystemFileCacheSize  определяет MM_WORKING_SET_MAX_HARD_ENABLE.&lt;br /&gt;Для сброса кэша, задайте (SIZE_T) -1.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;Flags&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Включает или отключает ограничения файла кэша. Если этот параметр 0 (ноль), ограничения размера принимают текущие значения.&lt;br /&gt;Этот флаг принимает комбинацию из следующих значений:&lt;br /&gt;MM_WORKING_SET_MAX_HARD_DISABLE&lt;br /&gt;- отключение ограничения по максимальному размеру. Флаги  MM_WORKING_SET_MAX_HARD_DISABLE и MM_WORKING_SET_MAX_HARD_ENABLE взаимно  недопустимы.  MM_WORKING_SET_MAX_HARD_ENABLE&lt;br /&gt;- включает ограничения по максимальному размеру. Флаги  MM_WORKING_SET_MAX_HARD_DISABLE и MM_WORKING_SET_MAX_HARD_ENABLE взаимно  недопустимы.  MM_WORKING_SET_MIN_HARD_DISABLE&lt;br /&gt;- отключение ограничения по минимальному размеру. Флаги  MM_WORKING_SET_MIN_HARD_DISABLE и MM_WORKING_SET_MIN_HARD_ENABLE взаимно  недопустимы.  MM_WORKING_SET_MIN_HARD_ENABLE&lt;br /&gt;- включение ограничения по минимальному размеру. Флаги  MM_WORKING_SET_MIN_HARD_DISABLE и MM_WORKING_SET_MIN_HARD_ENABLE взаимно  недопустимы.    &lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращается ненулевое значение.&lt;br /&gt;При ошибке, возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Вызывающий процесс должен иметь привилегию SE_INCREASE_QUOTA_NAME.&lt;br /&gt;Установка параметра MaximumFileCacheSizeв очень маленькое значение, может плохо сказаться на производительности системы.&lt;br /&gt;Для компиляции приложения, которое содержит эту функцию, объявите WIN32_WINNT со значением 0x0502 или больше.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5815072825579601329?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5815072825579601329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5815072825579601329'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/setsystemfilecachesize.html' title='SetSystemFileCacheSize'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1276592354667259544</id><published>2010-09-26T23:59:00.006+03:00</published><updated>2010-09-29T20:13:08.379+03:00</updated><title type='text'>SetSysColors</title><content type='html'>Функция SetSysColors устанавливает цвета одного или  нескольких элементов отображения. Элементы отображения – это различные  части окна и экрана, которые будут выведены соответствующим цветом на  экране монитора.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL WINAPI SetSysColors(&lt;br /&gt;    int cElements, // количество изменяемых элементов&lt;br /&gt;    CONST INT *lpaElements, // адрес массива элементов&lt;br /&gt;    CONST COLORREF *lpaRgbValues  // адрес массива RGB-значений&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;cElements&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Определяет количество элементов отображения в массиве, на который ссылается параметр  lpaElements.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpaElements&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес массива из целочеслительных  значений, который указывает изменяемые элементы отображения. Для  просмотра списка элементов отображения, смотрите функцию GetSysColor.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpaRgbValues&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес массива, который содержит новые  значения красного, зеленого, синего (RGB) цветов для каждого элемента  отображения, содержащегося в массиве lpaElements.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, функция возвращает ненулевое значение.&lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Функция SetSysColors посылает сообщение WM_SYSCOLORCHANGE всем окнам  для уведомления их об изменении цвета. Также, Windows отправляет на  перерисовку измененные части всех видимых окон.&lt;br /&gt;Функция SetSysColors изменяет только текущую сессию Windows. Новые цвета не сохраняются при завершении работы системы.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1276592354667259544?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1276592354667259544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1276592354667259544'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/setsyscolors.html' title='SetSysColors'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7514771317861429607</id><published>2010-09-26T23:59:00.005+03:00</published><updated>2010-09-27T00:00:27.514+03:00</updated><title type='text'>TranslateName</title><content type='html'>&lt;h5&gt;&lt;div align="right"&gt;Поддерживается на Windows Vista / XP / 2000Pro&lt;/div&gt;&lt;/h5&gt;Функция TranslateName преобразует имя объекта сервиса директории из одного формата в другой.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOLEAN TranslateName(&lt;br /&gt;  LPCTSTR lpAccountName,&lt;br /&gt;  EXTENDED_NAME_FORMAT AccountNameFormat,&lt;br /&gt;  EXTENDED_NAME_FORMAT DesiredNameFormat,&lt;br /&gt;  LPTSTR lpTranslatedName,&lt;br /&gt;  PULONG nSize&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpAccountName&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес нульзаканчивающейся строки, содержащей преобразуемое имя.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;AccountNameFormat&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Формат преобразуемого имени. Этот параметр является значением из перечисления EXTENDED_NAME_FORMAT.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;DesiredNameFormat&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Формат преобразованного имени. Этот  параметр является значением из перечисления EXTENDED_NAME_FORMAT. Он не  может быть NameUnknown.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpTranslatedName&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера, который получает преобразованное имя.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес переменной. На входе, переменная  указывает размер буфера lpTranslatedName, в символах типа TCHAR. На  выходе, эта переменная возвращает размер возвращенной строки, в символах  типа TCHAR, учитывая нулевой завершающий символ.&lt;br /&gt;Если буфер  lpTranslatedName слишком мал для сохранения преобразованного имени,  функция завершается с ошибкой и nSize содержит требуемый размер буфера.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращается ненулевое значение.&lt;br /&gt;При ошибке, возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;TranslateName завершается с ошибкой, если не может связаться с активной директорией на контролере домена. &lt;br /&gt;В программу нужно включить заголовочный файл "security.h".&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DsCrackNames, EXTENDED_NAME_FORMAT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7514771317861429607?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7514771317861429607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7514771317861429607'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/translatename.html' title='TranslateName'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7936839326130869219</id><published>2010-09-26T23:58:00.009+03:00</published><updated>2010-09-29T20:51:20.125+03:00</updated><title type='text'>SetComputerName</title><content type='html'>Функция SetComputerName устанавливает имя компьютера, которое будет использоватся при следующей загрузке системы.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL SetComputerName(&lt;br /&gt;    LPCTSTR lpComputerName  // адрес нового имени компьютера&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpComputerName&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес нульзаканчивающейся строки,  содержащей имя, которое будет именем компьютера при следующей загрузке  компьютера. Имя не должно быть больше, чем MAX_COMPUTERNAME_LENGTH.&lt;br /&gt;Windows  NT/2000/XP: Если строка содержит один или более символов, которые  находятся за стандартным количеством символов, SetComputerName  возвращает ERROR_INVALID_PARAMETER.&lt;br /&gt;Стандартные символы содежат буквы, цифры, и следующие символы: ! @ # $ % ^ &amp;amp; ' ) ( . - _ { } ~ .&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, функция возвращает ненулевое значение.&lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение, использующее эту функцию, должно иметь права администратора.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7936839326130869219?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7936839326130869219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7936839326130869219'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/setcomputername.html' title='SetComputerName'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7924771063265038754</id><published>2010-09-26T23:58:00.008+03:00</published><updated>2010-09-29T20:15:46.505+03:00</updated><title type='text'>GetVersionEx</title><content type='html'>Функция GetVersionEx получает информации о версии операционной системы, которая запущена на текущий момент.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL GetVersionEx(&lt;br /&gt;    LPOSVERSIONINFO lpVersionInformation // адрес структуры&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpVersionInformation&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес структуры OSVERSIONINFO, которую функция заполняет информацией о версии операционной системы.&lt;br /&gt;Перед  вызовом функции GetVersionEx, установите член dwOSVersionInfoSize  структуры OSVERSIONINFO в значение sizeof(OSVERSIONINFO).&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, функция возвращает ненулевое значение. &lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной  информации об ошибке, вызовите GetLastError. Функция завершается с  ошибкой, ели ви неверно установили член dwOSVersionInfoSize структуры  OSVERSIONINFO.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Функция GetVersionEx заменяет функцию GetVersion и является наилучшим методом получить информацию о версии операционной системы.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7924771063265038754?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7924771063265038754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7924771063265038754'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getversionex.html' title='GetVersionEx'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-5360429076685685980</id><published>2010-09-26T23:58:00.005+03:00</published><updated>2010-09-27T00:00:27.560+03:00</updated><title type='text'>IsProcessorFeaturePresentо</title><content type='html'>Функция IsProcessorFeaturePresentо пределяет, имеется ли указанная особенность, по крайней мере, на одном процессоре текущей машины.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL IsProcessorFeaturePresent(&lt;br /&gt;    DWORD ProcessorFeature // особенность процессора&lt;br /&gt;   ); &lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;ProcessorFeature&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Определяет проверяемую особенность процессора. Это значение может быть одним из следующих: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;          &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;          &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_3DNOW_INSTRUCTIONS_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Доступны инструкции 3D-Now.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_FLOATING_POINT_PRECISION_ERRATA&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;В редких случаях, присутствует ли ошибка точности операций с плавающей точкой (Pentium).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_FLOATING_POINT_EMULATED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Операции с плавающей точкой эмулируются использованием программного эмулятора.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_COMPARE_EXCHANGE_DOUBLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возможен сравнение и обмен двойными операциями (Pentium, MIPS, and Alpha).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_MMX_INSTRUCTIONS_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Имеются инструкции MMX.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_NX_ENABLED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Включено предотвращение исполнения данных.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_PAE_ENABLED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;В процессоре включено расширение физического адреса.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_RDTSC_INSTRUCTION_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Доступны инструкции RDTSC.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_SSE3_INSTRUCTIONS_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Доступен набор инструкций SSE3.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_XMMI_INSTRUCTIONS_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Доступен набор инструкций SSE.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;PF_XMMI64_INSTRUCTIONS_AVAILABLE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Доступен набор инструкций SSE2.&lt;/td&gt;        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если запрошенная особенность присутствует в процессоре, то возвращается ненулевое значение.&lt;br /&gt;Если процессор не поддерживает эту особенность, возвращается ноль.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-5360429076685685980?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5360429076685685980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/5360429076685685980'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/isprocessorfeaturepresent.html' title='IsProcessorFeaturePresentо'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3876171235914892358</id><published>2010-09-26T23:57:00.003+03:00</published><updated>2010-09-27T00:00:27.579+03:00</updated><title type='text'>GetUserName</title><content type='html'>Функция GetUserName получает имя пользователя текущего потока. Это имя пользователя, который зарегестрирован в системе.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL GetUserName(&lt;br /&gt;    LPTSTR lpBuffer, // адрес буфера для имени&lt;br /&gt;    LPDWORD nSize  // адрес переменной с размером буфера&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpBuffer&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера для получения  нульзаканчивающейся строки, содержащей имя зарегестрированного в системе  пользователя. Если буфер мал для помещения в него имени, функция  завершается с ошибкой.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес переменной DWORD, которая до  вызова содержит максимальный размер в символах буфера, на который  ссылается параметр lpBuffer. Если буфер мал для помещения в него имени,  функция завершается с ошибкой. При успешном завершении функции, она  помещает количество символов, скопированных в буфер, в переменную типа  DWORD.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращается ненулевое значение, и  переменная, на которую указывает nSize, содержит  количество  скопированных в буфер символов, учытывая нулевой завершающий символ. &lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Если текущий поток исполняется другим клиентом, функция GetUserName  возвращает имя пользователя клиента, который пользуется потоком.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;LookupAccountName&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3876171235914892358?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3876171235914892358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3876171235914892358'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getusername.html' title='GetUserName'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6204398993858071665</id><published>2010-09-26T23:57:00.001+03:00</published><updated>2010-09-27T00:00:27.583+03:00</updated><title type='text'>GetThreadDesktop</title><content type='html'>Функция GetThreadDesktop возвращает дескриптор десктопа, связанного с указанным потоком.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;HDESK GetThreadDesktop(&lt;br /&gt;    DWORD dwThreadId // идентификатор потока  &lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;dwThreadId&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Идентифицирует поток, для которого  возвращается дескриптор десктопа. Функции GetCurrentThreadId и  CreateProcess возвращают идентификаторы потока.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Система ассоциирует десктоп с потоком, когда этот поток создается.  Поток может воспользоваться функцией SetThreadDesktop для изменения  десктопа. Десктоп, ассоциированный с потоком, должен быть на окне,  ассоциированный с потоком процесса. &lt;br /&gt;Вызывающий процесс может использовать возвращенный дескриптор при  вызовах функций GetUserObjectInformation, GetUserObjectSecurity,  SetUserObjectInformation, и SetUserObjectSecurity.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;GetCurrentThreadId, GetProcessWindowStation,  GetUserObjectInformation, GetUserObjectSecurity,  SetProcessWindowStation, SetThreadDesktop, SetUserObjectInformation,  SetUserObjectSecurity&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6204398993858071665?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6204398993858071665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6204398993858071665'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getthreaddesktop.html' title='GetThreadDesktop'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4231915116529583016</id><published>2010-09-26T23:56:00.007+03:00</published><updated>2010-09-29T20:14:12.552+03:00</updated><title type='text'>GetSystemInfo</title><content type='html'>Функция GetSystemInfo возвращает информацию о текущей системе.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;VOID GetSystemInfo(&lt;br /&gt;    LPSYSTEM_INFO lpSystemInfo   // адрес структуры для системной информации &lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpSystemInfo&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес структуры SYSTEM_INFO, которая заполняется этой функцией.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Эта функция ничего не возвращает.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4231915116529583016?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4231915116529583016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4231915116529583016'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getsysteminfo.html' title='GetSystemInfo'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6426829337636592603</id><published>2010-09-26T23:56:00.006+03:00</published><updated>2010-09-29T20:13:55.480+03:00</updated><title type='text'>GetSystemFileCacheSize</title><content type='html'>&lt;h5&gt;&lt;br /&gt;&lt;div align="right"&gt;Поддерживается на Windows Vista / XP64&lt;/div&gt;&lt;/h5&gt;Функция GetSystemFileCacheSize ограничивает размер файла системного кэша.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL GetSystemFileCacheSize(&lt;br /&gt;  PSIZE_T lpMinimumFileCacheSize, // минимальное ограничение&lt;br /&gt;  PSIZE_T lpMaximumFileCacheSize, // максимальное ограничение&lt;br /&gt;  PDWORD lpFlags  // флаги&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpMinimumFileCacheSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес переменной, которая получает  минимальный размер файла кэша, в байтах. Менеджер виртуальной памяти  пытается сохранить не меньше количества этой памяти резидентной в  системном файле кэша, если только перед этим не было вызова функции  SetSystemFileCacheSize с установленным флагом  MM_WORKING_SET_MIN_HARD_ENABLE.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpMaximumFileCacheSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес переменной, которая получает  максимальный размер файла кэша, в байтах. Менеджер виртуальной памяти  превышает это ограничение только если был предыдущий вызов функции  SetSystemFileCacheSize с установленным флагом  MM_WORKING_SET_MAX_HARD_ENABLE.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpFlags&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Получает флаги, которые указывают на то, какие ограничения файла кэша включены.&lt;br /&gt;MM_WORKING_SET_MAX_HARD_ENABLE&lt;br /&gt;- ограничение по максимальному размеру включено. Если этот флаг не присутствует, то это ограничение отключено.  MM_WORKING_SET_MIN_HARD_ENABLE&lt;br /&gt;- ограничение по минимальному размеру включено. Если этот флаг не присутствует, то это ограничение отключено.    &lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращается ненулевое значение.&lt;br /&gt;При ошибке, возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Для компиляции приложения, которое содержит эту функцию, объявите WIN32_WINNT со значением 0x0502 или больше.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6426829337636592603?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6426829337636592603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6426829337636592603'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getsystemfilecachesize.html' title='GetSystemFileCacheSize'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-263045278097874625</id><published>2010-09-26T23:56:00.005+03:00</published><updated>2010-09-27T00:00:27.591+03:00</updated><title type='text'>GetSystemMetrics</title><content type='html'>Функция GetSystemMetrics возвращает системную метрику и  системные параметры настройки конфигурации. Системная метрика – это  размеры элементов отображения Windows. Все размеры указываются в  пикселях.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;int GetSystemMetrics(&lt;br /&gt;    int nIndex  // затребованная системная метрика или системные установки&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nIndex&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Определяет системный показатель или  настройку конфигурации которая будет возвращена. Все значения с  префиксом SM_CX определяют ширину элемента, с префиксом SM_CY – высоту.  Определены следующие значения: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;          &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;          &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_ARRANGE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Этот флаг определяет, как система  упорядочивает свернутые окна. Для получения большей информации о  свернутых окнах, смотрите секцию "Замечания".&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CLEANBOOT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет тип загрузки системы: 0  – нормальная загрузка; 1- отказовустойчивая загрузка; 2 -  отказовустойчивая загрузка с сетевой поддержкой. Отказоустойчивая  загрука (еще она называется SafeBoot) обходит файлы запуска  пользователя.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CMOUSEBUTTONS&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет число кнопок на мыши, или равен нулю, если мышь не установлена.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXBORDER,&lt;br /&gt;SM_CYBORDER&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют ширину и высоту, в пикселях, границы окна. Эквивалентно значению SM_CXEDGE для окно с трехмерным просмотром.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXCURSOR,&lt;br /&gt;SM_CYCURSOR&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют ширину и высоту, в пикселях, курсора. Система не может создавать курсоры других размеров.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXDLGFRAME,&lt;br /&gt;SM_CYDLGFRAME&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;То же самое, что SM_CXFIXEDFRAME и SM_CYFIXEDFRAME.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXDOUBLECLK,&lt;br /&gt;SM_CYDOUBLECLK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют ширину и высоту  прямоугольника вокруг первого щелчка в последовательности двойного  щелчка. Второй щелчок должен произойти в пределах этого прямоугольника  для определения двух щелчков как одного двойного щелчка. Второй щелчок  должен произойти в пределах этого прямоугольника для определения двух  щелчков как одного двойного щелчка (два щелчка должны также произойти в  пределах указанного времени).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXDRAG,&lt;br /&gt;SM_CYDRAG&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Ширина и высота, в пикселях,  прямоугольника, центрированного на перетаскиваемой точке для ограничения  движения указателя мыши перед стартом операции перетаскивания. Это  позволяет пользователю нажимать и выпускать кнопку мыши без  неумышленного старта операции перетаскивания.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXEDGE,&lt;br /&gt;SM_CYEDGE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры трехмерной границы. Это трехмерные аналоги SM_CXBORDER и SM_CYBORDER.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXFIXEDFRAME,&lt;br /&gt;SM_CYFIXEDFRAME&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Толщина рамки вокруг периметра  окно, которое имеет заголовок, но не может изменить свои размеры.  SM_CXFIXEDFRAME – это ширина горизонтальной границы, SM_CYFIXEDFRAME –  высота вертикальной границы.&lt;br /&gt;То же самое, что SM_CXDLGFRAME и SM_CYDLGFRAME&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXFRAME,&lt;br /&gt;SM_CYFRAME&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;То же самое, что SM_CXSIZEFRAME и SM_CYSIZEFRAME.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXFULLSCREEN,&lt;br /&gt;SM_CYFULLSCREEN&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяеют ширину и высоту клиентской области для полноэкранного окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXHSCROLL&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет ширину изображения стрелки горизонтального слайдера.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CYHSCROLL&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет высоту горизонтального слайдера в пикселях.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXHTHUMB&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет ширину бегунка горизонтального слайдера.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXICON,&lt;br /&gt;SM_CYICON&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют заданную по умолчанию  ширину и высоту иконки. Эти значения обычно 32х32, но могут изменяться в  зависимости от установленных аппаратных средств дисплея.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXICONSPACING,&lt;br /&gt;SM_CYICONSPACING&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры ячейки сетки  для элементов в виде большой иконки. Каждый элемент помещается в  прямоугольник этого размера при упорядочивании иконок. Эти значения  всегда всегда больше или равны SM_CXICON и SM_CYICON.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMAXIMIZED,&lt;br /&gt;SM_CYMAXIMIZED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют заданные по умолчанию размеры развернутого окна верхнего уровня.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMAXTRACK,&lt;br /&gt;SM_CYMAXTRACK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют заданные по умолчанию  максимальные размеры окна, имеющего заголовок и имеющего возможность  изменять свои границы. Пользователь не может сделать рамку окна больше  этих размеров. Окно может отменить эти значения, обрабатывая сообщение  WM_GETMINMAXINFO.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMENUCHECK,&lt;br /&gt;SM_CYMENUCHECK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Размеры заданного по умолчанию растрового рисунка метки меню.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMENUSIZE,&lt;br /&gt;SM_CYMENUSIZE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры кнопок панели меню, таких как кнопка закрытия дочернего окне  в документе с многооконным интерфейсом (MIDI).&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMIN,&lt;br /&gt;SM_CYMIN&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Минимальные ширина и высота окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMINIMIZED,&lt;br /&gt;SM_CYMINIMIZED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры нормально свернутого окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMINSPACING,&lt;br /&gt;SM_CYMINSPACING&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры ячейки сетки  для свернутых окон. Каждоге свернутое окно помещается в прямоугольник  этого размера при упорядочивании. Эти значения всегда больше или равны  SM_CXMINIMIZED и SM_CYMINIMIZED.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXMINTRACK,&lt;br /&gt;SM_CYMINTRACK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют минимальные размеры  окна. Пользователь не может сделать рамку окна меньше этих размеров.  Окно может отменить эти значения, обрабатывая сообщение  WM_GETMINMAXINFO.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXSCREEN,&lt;br /&gt;SM_CYSCREEN&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Ширина и высота экрана в пикселях.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXSIZE,&lt;br /&gt;SM_CYSIZE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Размеры заголовка окна или области заголовка.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXSIZEFRAME,&lt;br /&gt;SM_CYSIZEFRAME&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют толщину рамки вокруг  периметра окна, имеющего возможность изменять размеры. SM_CXSIZEFRAME –  ширина горизонтальной границы, и SM_CYSIZEFRAME – высота вертикальной  границы. Аналогично SM_CXFRAME и SM_CYFRAME.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXSMICON,&lt;br /&gt;SM_CYSMICON&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют рекомендуемый размер маленькой иконки. Маленькие иконки обычно появляются в заголовках окна.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXSMSIZE,&lt;br /&gt;SM_CYSMSIZE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры маленьких кнопок заголовка.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXVSCROLL,&lt;br /&gt;SM_CYVSCROLL&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры изображения стрелки вертикального слайдера.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CYCAPTION&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Высота нормальной области заголовка.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CYMENU&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет высоту однострочного меню.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CYSMCAPTION&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CYVTHUMB&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяет высоту блока бегунка в вертикальном слайдере.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_DBCSENABLED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращается ненулевое значение, если установлен двухбайтовых набор символов в установленной версии USER.EXE, иначе ноль.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_DEBUG&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает ненулевое значение, если установлена отладочная версия USER.EXE, иначе ноль.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_MENUDROPALIGNMENT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает ненулевое значение,  если раскрывающиеся меню выровнены по правому краю относительно  соответствующего элемента строки меню. Ноль, если они выровнены по левой  границе.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_MIDEASTENABLED&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает TRUE, если система допускает еврейский и арабский языки.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_MOUSEPRESENT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает TRUE, если мышь установлена, иначе 0.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_MOUSEWHEELPRESENT&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Только Windows NT: Возвращает TRUE, если установлена мышь с колесиком, иначе 0.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_NETWORK&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;В возвращенном значении наименьший  значаший бит будет усановлен, если сеть присутствует; иначе бит очищен.  Другие биты зарезервированы для будущего использования.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_PENWINDOWS&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает TRUE, если установлена работа с пером, иначе 0.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_SECURE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает TRUE, если защита присутствует.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_SHOWSOUNDS&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает ненулевое значение,  если пользователь нуждается в приложении, предоставляющем информацию  визуально в ситуациях, где информация представлена только в звуковой  форме.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_SLOWMACHINE&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает TRUE, если компьютер имеет медленный (low-end)  процессор.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_SWAPBUTTON&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Возвращает ненулевое значение, если значения левых и правых кнопок мыши меняются.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_XVIRTUALSCREEN,&lt;br /&gt;SM_YVIRTUALSCREEN&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют координаты левой  стороны и вершины виртуального экрана. Виртуальный экран – это  ограничительный прямоугольник всех мониторов дисплея.&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;SM_CXVIRTUALSCREEN,&lt;br /&gt;SM_CYVIRTUALSCREEN&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Определяют размеры виртуального экрана.&lt;/td&gt;        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успехе, функция возвращает запрашиваемую системную метрику или конфигурационную установку. &lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Системные метрики могут быть разнымы на разных дисплеях. &lt;br /&gt;Установка SM_ARRANGE определяет то, как система упорядочивает  свернутые окна, и содержит начальные положение и направление. Начальное  положение может иметь одно из следующих значений:   &lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;      &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;      &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_BOTTOMLEFT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Начало в левом углу экрана (заданная по умолчанию позиция).&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_BOTTOMRIGHT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Начало в нижнем правом углу экрана. Эквивалентно  ARW_STARTRIGHT.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_HIDE&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Скрывает свернутые окна, перемещая их с видимой области экрана.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_TOPLEFT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Начало в левом верхнем углу экрана. Эквивалентно ARV_STARTTOP.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_TOPRIGHT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Начало в правом верхнем углу экрана. Эквивалентно ARW_STARTTOP | SRW_STARTRIGHT.&lt;/td&gt;    &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Направление упорядочивания может быть одним из следующих значений:   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;      &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;      &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_DOWN&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Упорядочивание происходит вертикально, от вершины к основанию.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_LEFT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Упорядочивание происходит горизонтально, слева направо.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_RIGHT&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Упорядочивание происходит горизонтально, справа налево.&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;       &lt;td class="prm" valign="top"&gt;ARW_UP&lt;/td&gt;       &lt;td class="prm" valign="top"&gt;Упорядочивание происходит вертикально, от основания к вершине.&lt;/td&gt;    &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-263045278097874625?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/263045278097874625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/263045278097874625'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getsystemmetrics.html' title='GetSystemMetrics'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4327439713379555942</id><published>2010-09-26T23:55:00.004+03:00</published><updated>2010-09-29T20:13:37.362+03:00</updated><title type='text'>GetSystemDirectory</title><content type='html'>Функция GetSystemDirectory получает путь к системной  директории Windows. Системная директория содержит такие файлы, как  системные драйверы, библиотеки, и файлы со шрифтами.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;UINT GetSystemDirectory(&lt;br /&gt;    LPTSTR lpBuffer, // адрес буфера для получения пути к системной директории&lt;br /&gt;    UINT uSize   // размер буфера&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpBuffer&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера для получения  нульзаканчивающейся строки, содержащей путь. Этот путь не заканчивается  слешем, если только системная директория – это не корневая директория.  Например, если системная директория называется WINDOWS\SYSTEM32 на диске  С, то функция возвращает C:\WINDOWS\SYSTEM32..&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Указывает максимальный размер буфера в символах. Это значение не должно быть меньше чем MAX_PATH.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении функции, возвращается длина, в символах,  строки, помещенной в буфер, без учета нулевого завершающего символа.  Если длина больше, чем размер буфера, то возвращается нужный размер  буфра для сохранения пути. &lt;br /&gt;При ошибке, возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение не может создавать файлы в системной директории. Если  пользователь работает под разделяемой версией Windows, приложение не  имеет прав записи в системную директорию. Приложения могут создавать  файлы только в директории, возвращенной функцией GetWindowsDirectory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4327439713379555942?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4327439713379555942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4327439713379555942'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getsystemdirectory.html' title='GetSystemDirectory'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1012711968643817332</id><published>2010-09-23T09:42:00.006+03:00</published><updated>2010-09-29T20:12:09.553+03:00</updated><title type='text'>GetNativeSystemInfo</title><content type='html'>&lt;h5&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;Поддерживается на Windows Vista / XP&lt;/div&gt;&lt;/h5&gt;Функция GetNativeSystemInfo получает информацию о  текщей системе приложению, которое запущено под WOW64. Если функция  вызывается из 64-битного приложения, она эквивалентна функции  GetSystemInfo.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;void GetNativeSystemInfo(&lt;br /&gt;  LPSYSTEM_INFO lpSystemInfo&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpSystemInfo&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес структуры SYSTEM_INFO, которая получает информацию.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Эта функция не возвращает значений.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Для определения того, работает ли Win32-приложение под WOW64, вызовите функцию IsWow64Process.&lt;br /&gt;Для компиляции приложения, которое содержит эту функцию, объявите WIN32_WINNT со значением 0x0501 или больше.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1012711968643817332?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1012711968643817332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1012711968643817332'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getnativesysteminfo.html' title='GetNativeSystemInfo'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-259613266343390694</id><published>2010-09-23T09:42:00.003+03:00</published><updated>2010-09-27T00:00:27.630+03:00</updated><title type='text'>GetKeyboardType</title><content type='html'>Функция GetKeyboardType получает информацию об используемой клавиатуре.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;int GetKeyboardType(&lt;br /&gt;    int nTypeFlag // тип требуемой информации &lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nTypeFlag&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Задает тип возвращаемой информации о клавиатуре. Этот параметр может иметь одно из следующих значений: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;          &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;          &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;0&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Тип клавиатуры&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;1&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Подтип клавиатуры&lt;/td&gt;        &lt;/tr&gt;&lt;tr&gt;          &lt;td class="prm" valign="top"&gt;2&lt;/td&gt;          &lt;td class="prm" valign="top"&gt;Количество функциональных клавиш на клавиатуре&lt;/td&gt;        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успехе, функция возвращает затребованную информацию. &lt;br /&gt;При ошибке, возвращается ноль.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Подтип – это значение оригинального производителя оборудования. Этот тип может иметь одно из последующих значений: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;        &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;        &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;1&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;IBM PC/XT или совместимая (83 клавиши) клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;2&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;Olivetti "ICO" (102 клавиши) клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;3&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;IBM PC/AT (84 клавиши) или сходная с ней клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;4&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;IBM enhanced (101 или 102 клавиши) клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;5&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;Nokia 1050 и сходная с ней клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;6&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;Nokia 9140 и сходная с ней клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;7&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;Японская клавиатура&lt;/td&gt;      &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Приложение, также, может узнать из типа клавиатуры количество  функциональных клавиш на ней. Следующие количества функциональных клавиш  для каждого типа клавиатуры: &lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;        &lt;td align="center"&gt;&lt;h4&gt;Значение:&lt;/h4&gt;&lt;/td&gt;        &lt;td align="center"&gt;&lt;h4&gt;Описание:&lt;/h4&gt;&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;1&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;10&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;2&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;12 (иногда 18)&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;3&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;10&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;4&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;12&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;5&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;10&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;6&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;24&lt;/td&gt;      &lt;/tr&gt;&lt;tr&gt;        &lt;td class="prm" valign="top"&gt;7&lt;/td&gt;        &lt;td class="prm" valign="top"&gt;Зависит от аппаратуры и определяется OEM&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-259613266343390694?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/259613266343390694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/259613266343390694'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getkeyboardtype.html' title='GetKeyboardType'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3005772518716233572</id><published>2010-09-23T09:42:00.001+03:00</published><updated>2010-09-27T00:00:27.637+03:00</updated><title type='text'>GetCurrentHwProfile</title><content type='html'>Функция GetCurrentHwProfile возвращает информацию о текуем профиле аппаратного обеспечения для локального компьютера.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL GetCurrentHwProfile(&lt;br /&gt;    LPHW_PROFILE_INFO lpHwProfileInfo // для сохранения профиля&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpHwProfileInfo&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес структуры HW_PROFILE_INFO, в которую помещается информация о текущем профиле аппаратного обеспечения.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, функция возвращает ненулевое значение. &lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Функция GetCurrentHwProfile получает имя дисплея и строку глобального  уникального идентификатора (GUID) для профиля аппаратного обеспечения.  Функция, также, возвращает состояние подключения портативных компьютеров  со станциями подключения. &lt;br /&gt;Система создает GUID для каждого профиля аппаратного обеспечения и  сохраняет его как строку в реестре. Вм можете использовать  GetCurrentHwProfile для получения строки GUID для использования ее как  подключ реестра под ключом установок конфигурации вашего приложения в  HKEY_CURRENT_USER. Это позволяет вам хранить установки каждого  пользователя для каждого профиля  аппаратного обеспечения.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DBT_CONFIGCHANGED, HW_PROFILE_INFO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3005772518716233572?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3005772518716233572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3005772518716233572'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getcurrenthwprofile.html' title='GetCurrentHwProfile'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4098402808993929722</id><published>2010-09-23T09:41:00.006+03:00</published><updated>2010-09-29T20:11:23.714+03:00</updated><title type='text'>GetComputerName</title><content type='html'>Функция GetComputerName получает имя компьютера текущей системы. Это имя устанавливается при запуске системы, когда оно инициализуется из реестра.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL GetComputerName(&lt;br /&gt;    LPTSTR lpBuffer, //адрес буфера для имени &lt;br /&gt;    LPDWORD nSize  // адрес размера буфера&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpBuffer&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера, в который возвращается нульзаканчивающаяся строки с именем компьютера.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес переменной, которая определяет  максимальных размер буфера в символах. Это значение должно быть таким,  чтобы вместить MAX_COMPUTERNAME_LENGTH + 1 символов.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;В случае успеха возвращается ненулевое значение и переменная, на  которую указывает параметр nSize, содержит количество символов,  скопированных буфер-назначение, но без учета завершающего строку нуля. &lt;br /&gt;&lt;br /&gt;При неудаче, функция возвращает ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4098402808993929722?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4098402808993929722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4098402808993929722'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/getcomputername.html' title='GetComputerName'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-375766756989601010</id><published>2010-09-23T09:41:00.003+03:00</published><updated>2010-09-27T00:00:27.651+03:00</updated><title type='text'>ExpandEnvironmentStrings</title><content type='html'>Функция ExpandEnvironmentStrings преобразует строку с переменной окружения в строку со значением этой переменной.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;DWORD ExpandEnvironmentStrings(&lt;br /&gt;    LPCTSTR lpSrc, // адрес строки с переменной окружения&lt;br /&gt;    LPTSTR lpDst,  // адрес для строки с преобразованной переменной окружения &lt;br /&gt;    DWORD nSize    // максимальный размер возвращаемой (преобразованной) строки&lt;br /&gt;   );&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpSrc&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес нульзаканчивающейся строки, которая может содержать одну или несколько переменных окружения в такой форме: &lt;br /&gt;%variableName% &lt;br /&gt;Для каждой переменной окружения, часть %variableName% заменяется на текущее значение этой переменной. &lt;br /&gt;Правила замены такие же, как и те, которые используются в командном  интерпритаторе. Если имя переменной окружения не найдены, то часть  %variableName% остается неизмененной.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;lpDst&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Адрес буфера преобразованного имени переменной окружения.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;    &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;    &lt;td class="prm" valign="top"&gt;Указывает максимальное число символов,  которые могут быть сохранены в буфере lpDst, учытывая заканчивающий  строку нулевой символ.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;В случае успеха возвращается количество символов, записанных в  буфер-назначение. Если количество символов больше, чем размер  буфера-назначения, возвращаемое значение – это требуемый размер буфера  для сохранения преобразованных строк.&lt;br /&gt;&lt;br /&gt;При неудаче, функция возвращает ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-375766756989601010?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/375766756989601010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/375766756989601010'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/expandenvironmentstrings.html' title='ExpandEnvironmentStrings'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3676816132608815958</id><published>2010-09-23T09:41:00.001+03:00</published><updated>2010-09-27T00:00:27.657+03:00</updated><title type='text'>DnsHostnameToComputerName</title><content type='html'>&lt;h5&gt;&lt;div align="right"&gt;Поддерживается на Windows Vista / XP / 2000Pro&lt;/div&gt;&lt;/h5&gt;Функция DnsHostnameToComputerName преобразует имя хоста стиля DNS в имя компьютера стиля NetBIOS.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;BOOL DnsHostnameToComputerName(&lt;br /&gt;  LPCTSTR Hostname,&lt;br /&gt;  LPTSTR ComputerName,&lt;br /&gt;  LPDWORD nSize&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;Hostname&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Адрес нульзаканчивающейся строки, задающей DNS-имя. Если DNS-имя не действительно, функция завершается с ошибкой.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;ComputerName&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Адрес строкового буфера, который  получает имя компьютера. Размер буфера должен быть больше, чем  MAX_COMPUTERNAME_LENGTH + 1 символ.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;nSize&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Адрес переменной. На входе, задает  размер буфера, символах типа TCHAR. На выходе, эта переменная возвращает  размер возвращенной строки, в символах типа TCHAR, учитывая нулевой  завершающий символ.&lt;br /&gt;&lt;br /&gt;Если буфер слишком мал, функция завершается с  ошибкой, GetLastError возвращает ERROR_MORE_DATA, и nSize содержит  требуемый размер буфера, без учета завершающегося нулевого символа.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;При успешном завершении, функция возвращает ненулевое значение.&lt;br /&gt;&lt;br /&gt;При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;GetComputerNameEx, SetComputerNameEx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3676816132608815958?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3676816132608815958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3676816132608815958'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/dnshostnametocomputername.html' title='DnsHostnameToComputerName'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-8506975920468148377</id><published>2010-09-22T16:48:00.000+03:00</published><updated>2010-09-22T16:48:53.537+03:00</updated><title type='text'>Справочник по Windows API</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Traktir,Arial,sans-serif; font-size: 14px;"&gt;На этой странице представлены описания функций, структур и сообщений Windows API для языка С/C++. Содержимое постоянно дополняется.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Traktir,Arial,sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Функции:&lt;/h4&gt;&lt;ul style="line-height: 20px;"&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_9900.html"&gt;Управление файлами&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_3014.html"&gt;Доступ к реестру&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_6160.html"&gt;Системная информация&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_5854.html"&gt;Управление разделами&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_8568.html"&gt;Дескрипторы и объекты&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_16.html"&gt;Создание и управление окнами&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_18.html"&gt;Функции рисования и окрашивания&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_2767.html"&gt;Мышь&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=8506975920468148377"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=8506975920468148377"&gt;Структуры:&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;ul style="line-height: 20px;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3413798139533588553&amp;amp;postID=8506975920468148377"&gt;&lt;/a&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_21.html"&gt;Все структуры&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Сообщения:&lt;/h4&gt;&lt;ul style="line-height: 20px;"&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_8764.html"&gt;Оконные сообщения&lt;/a&gt;&lt;/li&gt;&lt;li style="font-size: 14px;"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/blog-post_22.html"&gt;Сообщения от мыши&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-8506975920468148377?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8506975920468148377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8506975920468148377'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/windows-api.html' title='Справочник по Windows API'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7204283048857041703</id><published>2010-09-22T16:40:00.001+03:00</published><updated>2010-09-27T00:10:44.324+03:00</updated><title type='text'>Системная информация</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/dnshostnametocomputername.html" style="font-family: Traktir,Arial,sans-serif;"&gt;DnsHostnameToComputerName&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/expandenvironmentstrings.html" style="font-family: Traktir,Arial,sans-serif;"&gt;ExpandEnvironmentStrings&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getcomputername.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetComputerName&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getcurrenthwprofile.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetCurrentHwProfile&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getkeyboardtype.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetKeyboardType&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getnativesysteminfo.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetNativeSystemInfo&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getsyscolor.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetSysColor&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getsystemdirectory.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetSystemDirectory&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getsystemfilecachesize.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetSystemFileCacheSize&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getsysteminfo.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetSystemInfo&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getsystemmetrics.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetSystemMetrics&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getthreaddesktop.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetThreadDesktop&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getusername.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetUserName&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getversionex.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetVersionEx&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/getwindowsdirectory.html" style="font-family: Traktir,Arial,sans-serif;"&gt;GetWindowsDirectory&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/isprocessorfeaturepresent.html" style="font-family: Traktir,Arial,sans-serif;"&gt;IsProcessorFeaturePresent&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/setcomputername.html" style="font-family: Traktir,Arial,sans-serif;"&gt;SetComputerName&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/setsyscolors.html" style="font-family: Traktir,Arial,sans-serif;"&gt;SetSysColors&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/setsystemfilecachesize.html" style="font-family: Traktir,Arial,sans-serif;"&gt;SetSystemFileCacheSize&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a href="http://completepascal.blogspot.com/2010/09/translatename.html" style="font-family: Traktir,Arial,sans-serif;"&gt;TranslateName&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7204283048857041703?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7204283048857041703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7204283048857041703'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/blog-post_6160.html' title='Системная информация'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6032509518043906824</id><published>2010-09-22T16:37:00.001+03:00</published><updated>2010-09-22T16:40:11.117+03:00</updated><title type='text'>WM_NCHITTEST</title><content type='html'>Сообщение WM_NCHITTEST посылается окну когда курсор  передвигается, или когда нажата или отжата кнопка мыши. Если мышь не  захвачена, это сообщение посылается окну под курсором. Иначе, сообщение  посылается окну, которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;xPos = LOWORD(lParam);  // горизонтальная позиция курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальная позиция курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam. Определяет x-координату курсора. Координаты относительны верхнему левому углу экрана.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam. Определяет y-координату курсора. Координаты относительны верхнему левому углу экрана.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Функция DefWindowProc определяет место события, одно из следующих значений:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTBORDER&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На рамке окна, которое не имеет рамки для изменения размера&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTBOTTOM&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На нижней горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTBOTTOMLEFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На нижней левой горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTBOTTOMRIGHT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На нижней правой горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTCAPTION&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На заголовке&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTCLIENT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На клиентской области&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTERROR&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На заднем фоне экрана или на  разделительной линии окон (то самое, что и HTNOWHERE, за исключением  того, что функция DefWindowProc воспроизводит звуковое сообщение для  указания ошибки.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTGROWBOX&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На панели изменения размера (то самое, что и HTSIZE)&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTHSCROLL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На горизонтальной полосе прокрутки&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTLEFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На левой рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTMENU&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На меню&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTNOWHERE&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На заднем фоне экрана или на разделительной линии между окнами&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTREDUCE&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На кнопке свертывания&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTRIGHT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На правой рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTSIZE&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На панели изменения размера (то самое, что и HTGROWBOX)&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTSYSMENU&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На системном меню или на кнопке закрытия дочернего окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTTOP&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На верхней горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTTOPLEFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На верхней левой горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTTOPRIGHT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На верхней правой горизонтальной рамке окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTTRANSPARENT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На окне, которое заслонено другим окном&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTVSCROLL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На вертикальной полосе прокрутки&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;HTZOOM&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;На кнопке развертывания&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DefWindowProc, POINTS, MAKEPOINTS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6032509518043906824?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6032509518043906824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6032509518043906824'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmnchittest.html' title='WM_NCHITTEST'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-4607086864380784412</id><published>2010-09-22T16:36:00.003+03:00</published><updated>2010-09-22T16:40:11.121+03:00</updated><title type='text'>WM_MOUSEMOVE</title><content type='html'>Сообщение WM_MOUSEMOVE посылается окну когда  перемещается курсор. Если мышь не захвачена, сообщение посылается тому  окну, которое содержит курсор. Иначе, сообщение посылается тому окну,  которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальная позиция курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальная позиция курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-4607086864380784412?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4607086864380784412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/4607086864380784412'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmmousemove.html' title='WM_MOUSEMOVE'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3135024169587527163</id><published>2010-09-22T16:36:00.001+03:00</published><updated>2010-09-22T16:40:11.127+03:00</updated><title type='text'>WM_MBUTTONUP</title><content type='html'>Сообщение WM_MBUTTONUP посылается когда пользователь  отпускает среднюю кнопку мыши, пока курсор находится в клиентской  области окна. Если мышь не захвачена, сообщение посылается окну под  курсором. Иначе, сообщение посылается окну, которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONDBLCLK.html"&gt;WM_MBUTTONDBLCLK&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONDOWN.html"&gt;WM_MBUTTONDOWN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3135024169587527163?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3135024169587527163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3135024169587527163'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmmbuttonup.html' title='WM_MBUTTONUP'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-2349834710814293944</id><published>2010-09-22T16:35:00.005+03:00</published><updated>2010-09-22T16:40:11.132+03:00</updated><title type='text'>WM_MBUTTONDOWN</title><content type='html'>Сообщение WM_MBUTTONDOWN посылается когда пользователь  нажимает среднюю кнопку мыши пока курсор находится в клиентской области  окна. Если мышь не захвачена, сообщение посылается окну под курсором.  Иначе, сообщение посылается окну, которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONDBLCLK.html"&gt;WM_MBUTTONDBLCLK&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONUP.html"&gt;WM_MBUTTONUP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-2349834710814293944?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/2349834710814293944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/2349834710814293944'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmmbuttondown.html' title='WM_MBUTTONDOWN'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3194582146020196858</id><published>2010-09-22T16:35:00.003+03:00</published><updated>2010-09-22T16:40:11.136+03:00</updated><title type='text'>WM_MBUTTONDBLCLK</title><content type='html'>Сообщение WM_MBUTTONDBLCLK посылается когда  пользователь дважды нажимает на среднюю кнопку мыши, пока курсор  находится в клиентской области окна. Если мышь не захвачена, сообщение  посылается окну под курсором. Иначе, сообщение посылается окну, которое  имеет захват мыши.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/functions/GetDoubleClickTime.html"&gt;GetDoubleClickTime&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/functions/SetDoubleClickTime.html"&gt;SetDoubleClickTime&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONDOWN.html"&gt;WM_MBUTTONDOWN&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_MBUTTONUP.html"&gt;WM_MBUTTONUP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3194582146020196858?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3194582146020196858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3194582146020196858'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmmbuttondblclk.html' title='WM_MBUTTONDBLCLK'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1184177301534360835</id><published>2010-09-22T16:35:00.001+03:00</published><updated>2010-09-22T16:40:11.142+03:00</updated><title type='text'>WM_LBUTTONUP</title><content type='html'>Сообщение WM_LBUTTONUP посылается когда пользователь  отпускает левую кнопку мыши, пока курсор находится в клиентской области  окна. Если мышь не захвачена, сообщение посылается окну под курсором.  Иначе, сообщение посылается окну, которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONDBLCLK.html"&gt;WM_LBUTTONDBLCLK&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONDOWN.html"&gt;WM_LBUTTONDOWN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1184177301534360835?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1184177301534360835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1184177301534360835'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmlbuttonup.html' title='WM_LBUTTONUP'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-1922949593814083683</id><published>2010-09-22T16:34:00.003+03:00</published><updated>2010-09-22T16:40:11.149+03:00</updated><title type='text'>WM_LBUTTONDOWN</title><content type='html'>Сообщение WM_LBUTTONDOWN посылается когда пользователь  нажимает левую кнопку мыши пока курсор находится в клиентской области  окна. Если мышь не захвачена, сообщение посылается окну под курсором.  Иначе, сообщение посылается окну, которое захватило мышь.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONDBLCLK.html"&gt;WM_LBUTTONDBLCLK&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONUP.html"&gt;WM_LBUTTONUP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-1922949593814083683?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1922949593814083683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/1922949593814083683'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmlbuttondown.html' title='WM_LBUTTONDOWN'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6752384861141248188</id><published>2010-09-22T16:34:00.001+03:00</published><updated>2010-09-22T16:40:11.154+03:00</updated><title type='text'>WM_LBUTTONDBLCLK</title><content type='html'>Сообщение WM_LBUTTONDBLCLK посылается когда  пользователь дважды нажимает на левую кнопку мыши, пока курсор находится  в клиентской области окна. Если мышь не захвачена, сообщение посылается  окну под курсором. Иначе, сообщение посылается окну, которое имеет  захват мыши.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwKeys = wParam;        // флаги клавиш&lt;br /&gt;xPos = LOWORD(lParam);  // горизонтальное положение курсора&lt;br /&gt;yPos = HIWORD(lParam);  // вертикальное положение курсора&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwKeys&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет какие виртуальные клавиши нажаты. Этот параметр может быть комбинацией следующих флагов:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_CONTROL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша CTRL.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_LBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата левая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_MBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата средняя кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_RBUTTON&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата правая кнопка мыши.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;MK_SHIFT&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Установлено, если нажата клавиша SHIFT.&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;xPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение младшего слова lParam.  Определяет x-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;yPos&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение старшего слова lParam.  Определяет y-координату курсора. Координаты относительны верхнему левому  углу клиентской области.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Только окна, которые имеют стиль CS_DBLCLKS, могут получать сообщение  WM_LBUTTONDBLCLK, которое Windows генерирует когда пользователь  нажимает, отпускает, и опять нажимает левую кнопку мыши в пределах  системного времени двойного щелчка. Двойной щелчок по левой кнопке  вообще генерирует четыре сообщения: WM_LBUTTONDOWN, WM_LBUTTONUP,  WM_LBUTTONDBLCLK, и WM_LBUTTONUP.&lt;br /&gt;&lt;br /&gt;Приложение может воспользоваться макросом MAKEPOINTS для преобразования параметра lParam в структуру POINTS.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/GetCapture.html"&gt;GetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/functions/GetDoubleClickTime.html"&gt;GetDoubleClickTime&lt;/a&gt;, POINTS, MAKEPOINTS, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/functions/SetDoubleClickTime.html"&gt;SetDoubleClickTime&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONDOWN.html"&gt;WM_LBUTTONDOWN&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/messages/WM_LBUTTONUP.html"&gt;WM_LBUTTONUP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6752384861141248188?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6752384861141248188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6752384861141248188'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmlbuttondblclk.html' title='WM_LBUTTONDBLCLK'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-6193575031468748063</id><published>2010-09-22T16:32:00.004+03:00</published><updated>2010-09-28T12:23:59.749+03:00</updated><title type='text'>Сообщения от мыши</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmcapturechanged.html"&gt;WM_CAPTURECHANGED&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается окну, которое теряет захват мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmlbuttondblclk.html"&gt;WM_LBUTTONDBLCLK&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при двойном нажатии левой кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmlbuttondown.html"&gt;WM_LBUTTONDOWN&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при отпускании левой кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmlbuttonup.html"&gt;WM_LBUTTONUP&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при нажатии левой кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmmbuttondblclk.html"&gt;WM_MBUTTONDBLCLK&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при двойном нажатии средней кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmmbuttondown.html"&gt;WM_MBUTTONDOWN&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при нажатии средней кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmmbuttonup.html"&gt;WM_MBUTTONUP&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается при отпускании средней кнопки мыши.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmmousemove.html"&gt;WM_MOUSEMOVE&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;посылается когда перемещается курсор.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding-left: 10px;" valign="top"&gt;&lt;a class="arr" href="http://completepascal.blogspot.com/2010/09/wmnchittest.html"&gt;WM_NCHITTEST&lt;/a&gt;&lt;/td&gt;&lt;td style="font-size: 14px; padding-left: 20px;" valign="top"&gt;Посылается когда курсор передвигается, или когда нажата или отжата кнопка мыши.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-6193575031468748063?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6193575031468748063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/6193575031468748063'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/blog-post_22.html' title='Сообщения от мыши'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-625393786398103492</id><published>2010-09-22T16:32:00.003+03:00</published><updated>2010-09-22T16:40:11.159+03:00</updated><title type='text'>WM_CAPTURECHANGED</title><content type='html'>Сообщение WM_CAPTURECHANGED посылается окну, которое теряет захват мыши.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;hwndNewCapture = (HWND) lParam; // дескриптор окна, получаемого захват мыши&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;hwndNewCapture&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение lParam. Определяет окно, которое получает захват мыши.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Если приложение обрабатывает это сообщение, оно должно возвратить 0.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Окно получает это сообщение, когда оно вызывает от себя  ReleaseCapture. Приложение не должно пытаться установить захват мыши в  ответ на это сообщение.&lt;br /&gt;&lt;br /&gt;Когда окно получает это сообщение, оно должно перекрасить себя, если необходимо отобразить новое состояние при захвате мыши.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;&lt;a href="http://w32api.narod.ru/functions/ReleaseCapture.html"&gt;ReleaseCapture&lt;/a&gt;, &lt;a href="http://w32api.narod.ru/functions/SetCapture.html"&gt;SetCapture&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-625393786398103492?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/625393786398103492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/625393786398103492'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmcapturechanged.html' title='WM_CAPTURECHANGED'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-9200302077868844357</id><published>2010-09-22T16:31:00.003+03:00</published><updated>2010-09-22T16:40:11.174+03:00</updated><title type='text'>WM_SETTEXT</title><content type='html'>Приложение посылает WM_SETTEXT для установки текста окна.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;wParam = 0;                     // не используется; должно быть 0&lt;br /&gt;lParam = (LPARAM)(LPCTSTR)lpsz; // адрес строки для окна&lt;br /&gt;&lt;/pre&gt;&lt;div class="hd1"&gt;Параметры:&lt;/div&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;lpsz&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение lParam. Адрес нульзаканчивающейся строки, которая будет текстом окна.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Возвращаемое значение TRUE, если текс установлен. Оно равно FALSE  (для элементов редактирования), LB_ERRSPACE (для списка), или  CB_ERRSPACE (для комбинированного списка) если недостаточно места для  установки текста в элементе редактирования. Оно равно CB_ERR, если это  сообщение отправляется комбинированному списку без элемента  редактирования.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Для элемента редактирования, текст – это содержания элемента  редактирования. Для комбинированного списка, текст – это содержание  отдела редактирования. Для кнопки – это имя кнопки. Для других окон –  это текст на заголовке окна.&lt;br /&gt;&lt;br /&gt;Это сообщение не изменяет текущий  выбор в элементах управления список и комбинированный список. Приложение  может использовать сообщение CB_SELECTSTRING для выбора раздела в  списке, что меняет текст в элементе управления.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DefWindowProc, CB_SELECTSTRING, &lt;a href="http://w32api.narod.ru/messages/WM_GETTEXT.html"&gt;WM_GETTEXT&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-9200302077868844357?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/9200302077868844357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/9200302077868844357'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmsettext.html' title='WM_SETTEXT'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-3540098311734034326</id><published>2010-09-22T16:31:00.001+03:00</published><updated>2010-09-22T16:40:11.179+03:00</updated><title type='text'>WM_SETICON</title><content type='html'>Приложение посылает сообщение WM_SETICON для того,  чтоб ассоциировать новую большую или маленькую иконку с окном. Windows  перекрашивает большую иконку когда окно минимизировалось, и маленькую  иконку на панели заголовка окна.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;wParam = (WPARAM) fType;          // тип иконки&lt;br /&gt;lParam = (LPARAM) (HICON) hicon;  // дескриптор иконки&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fType&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет тип устанавливаемой иконки. Этот параметр может быть одним из следующих значений:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;ICON_BIG&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Устанавливается большая иконка для окна&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;ICON_SMALL&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Устанавливается маленькая иконка для окна&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;   &lt;/tr&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;hicon&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение lParam. Определяет новую большую или маленькую иконку. Если этот параметр равен NULL, то иконк по типу fType удаляется.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Возвращаемое значение – это дескриптор предыдущей большой или  маленькой иконки, в зависимости от параметра fType. Оно равно NULL, если  окно не имеет ранее установленной иконки типа fType.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DefWindowProc, &lt;a href="http://w32api.narod.ru/messages/WM_GETICON.html"&gt;WM_GETICON&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-3540098311734034326?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3540098311734034326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/3540098311734034326'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmseticon.html' title='WM_SETICON'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-7982042791041254098</id><published>2010-09-22T16:30:00.005+03:00</published><updated>2010-09-22T16:40:11.185+03:00</updated><title type='text'>WM_QUIT</title><content type='html'>Сообщение WM_QUIT определяет запрос на завершение  приложения и оно генерируется когда приложение вызывает функцию  PostQuitMessage. Оно заставляет функцию GetMessage вернуть ноль.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;nExitCode = (int) wParam;   // код выхода&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;nExitCode&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет код выхода, дающийся в функцию PostQuitMessage.&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Это сообщение не имеет возвращаемого значения потому, что оно  заставляет завершиться цикл обработки сообщений перед тем, как оно будет  отправлено оконной процедуре приложения.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;GetMessage, PostQuitMessage&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-7982042791041254098?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7982042791041254098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/7982042791041254098'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmquit.html' title='WM_QUIT'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-8678801066986038632</id><published>2010-09-22T16:30:00.003+03:00</published><updated>2010-09-22T16:40:11.190+03:00</updated><title type='text'>WM_QUERYDRAGICON</title><content type='html'>Сообщение WM_QUERYDRAGICON посылается  минимизированному (свернутому) окну. Окно собирается перетащить  пользователь, но окно не имеет объявленой в классе иконки. Приложение  может возвратить дескриптор иконки или курсора. Система отображает эту  иконку или курсор, когда пользователь перетаскивает свернутое окно.&lt;br /&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;Это сообщение не имеет параметров.&lt;br /&gt;&lt;h5&gt;Возвращаемые значения:&lt;/h5&gt;Приложение может вернуть дескриптор курсора или иконки, которую  Windows будет отображать, когда пользователь перетаскивает свернутое  окно. Курсор или иконка должны быть совместимы с разрешениями драйвера  дисплея. Если приложение возвращает NULL, система отображает курсор по  умолчанию.&lt;br /&gt;&lt;h5&gt;Замечания:&lt;/h5&gt;Если приложение возвращает дескриптор цветной иконки или курсора,  система преобразует цвета в черный и белый. Приложение может вызвать  LoadCursor или LoadIcon для загрузки курсора или иконки из ресурсов  исполняемого файла и получить ее дескриптор.&lt;br /&gt;&lt;h5&gt;Смотрите также:&lt;/h5&gt;DefWindowProc, LoadCursor, LoadIcon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3413798139533588553-8678801066986038632?l=completepascal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8678801066986038632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3413798139533588553/posts/default/8678801066986038632'/><link rel='alternate' type='text/html' href='http://completepascal.blogspot.com/2010/09/wmquerydragicon.html' title='WM_QUERYDRAGICON'/><author><name>bbk</name><uri>http://www.blogger.com/profile/16545900566626604154</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3413798139533588553.post-9082800494049543731</id><published>2010-09-22T16:30:00.001+03:00</published><updated>2010-09-22T16:40:11.195+03:00</updated><title type='text'>WM_POWER</title><content type='html'>Сообщение WM_POWER посылается, когда система, запитанного от батарей компьютера, уведомляет о переходе в приостановленный режим.&lt;br /&gt;Сообщение  WM_POWER является устаревшим. Оно оставлено для легчего портирования  16-битных приложений Windows. 32-битные приложения должны использовать  сообщение WM_POWERBROADCAST.&lt;br /&gt;&lt;pre style="padding: 5px;"&gt;fwPowerEvt = wParam;&lt;br /&gt;&lt;/pre&gt;&lt;h5&gt;Параметры:&lt;/h5&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="prm" valign="top"&gt;fwPowerEvt&lt;/td&gt;     &lt;td class="prm" valign="top"&gt;Значение wParam. Определяет  уведомительное сообщение об событии с питанием. Этот парметр может  принимать одно из следующих значений:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Значение:&lt;/h5&gt;&lt;/td&gt;  &lt;td align="center" valign="top"&gt;&lt;h5&gt;Описание:&lt;/h5&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;PWR_CRITICALRESUME&lt;/td&gt;  &lt;td class="prm" valign="top"&gt;Указывает на то, что система возобновляет  обработку после входа в приостановленный режим без начальной отсылки  приложению уведомительного сообщения PWR_SUSPENDREQUEST. Приложение  может выполнить любые нужные ему востановительные действия.&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;  &lt;td class="prm" valign="top"&gt;
