﻿<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns="http://www.w3.org/2005/Atom">
  <id>http://blogoprog.cya-st.com/</id>
  <title>Блог о Программировании</title>
  <updated>2013-07-03T15:10:16+00:00</updated>
  <link href="http://blogoprog.cya-st.com/" />
  <link rel="self" href="http://blogoprog.cya-st.com/syndication.axd?format=atom" />
  <subtitle>Затрагиваются разные темы связанные с программированием. Статьи по QT, C++, Visual Studio, C#, Delphi.</subtitle>
  <author>
    <name>Yaroslav Chernetskiy</name>
  </author>
  <generator uri="http://dotnetblogengine.net/" version="1.0.0.0">BlogEngine.Net Syndication Generator</generator>
  <blogChannel:blogRoll>http://blogoprog.cya-st.com/opml.axd</blogChannel:blogRoll>
  <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
  <dc:creator>Yaroslav Chernetskiy</dc:creator>
  <dc:description>Затрагиваются разные темы связанные с программированием. Статьи по QT, C++, Visual Studio, C#, Delphi.</dc:description>
  <dc:language>ru-RU</dc:language>
  <dc:title>Блог о Программировании</dc:title>
  <geo:lat>0.000000</geo:lat>
  <geo:long>0.000000</geo:long>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Приатачить-диск-к-виртуальнои-машине-в-Windows-Azure.aspx</id>
    <title>Приатачить диск к виртуальной машине в Windows Azure.</title>
    <updated>2013-07-03T07:09:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=ca73b5ac-fd7e-443e-ae5e-88862dc5d227" />
    <link href="http://blogoprog.cya-st.com/post/Приатачить-диск-к-виртуальнои-машине-в-Windows-Azure.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня речь пойдет о работе с Windows Azure, а именно, как приатачить дополнительный диск к &lt;strong&gt;Linux&lt;/strong&gt; виртуальной машине. Естественно у вас должен быть акаунт на Windows Azure. И так начнем:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Кликаем на виртуальной машине&lt;/li&gt;
&lt;li&gt;В командной строке выбираем &lt;strong&gt;Attach -&amp;gt; Attach Disk&amp;nbsp;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="/blogoprog/image.axd?picture=%2f2013%2f07%2fattachexistingdiskwindows.png" alt="" width="529" height="271" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;В диалоге выберите диск, который был ранее создан в &lt;strong&gt;Storage&lt;/strong&gt; панеле&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;После приатачивания вы будете наблюдать приблизительно следующую картину&lt;/p&gt;
&lt;p&gt;&lt;img src="/blogoprog/image.axd?picture=%2f2013%2f07%2fattachsuccess.png" alt="" width="533" height="302" /&gt;&lt;/p&gt;
&lt;p&gt;Аналогично вы можете приатачить пустой диск Attach -&amp;gt; Attach Empty Disk.&lt;/p&gt;
&lt;p&gt;Теперь нужно инициилизировать диск в &lt;strong&gt;Linux&lt;/strong&gt; машине:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Конектимся к виртуальной машине (я использую Putty)&lt;/li&gt;
&lt;li&gt;Выподняем команду: &lt;strong&gt;sudo grep SCSI /var/log/messages &lt;/strong&gt;и смотрим идентификатор диска&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="/blogoprog/image.axd?picture=%2f2013%2f07%2fdiskmessages.png" alt="" width="533" height="320" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Создаем новый диск &lt;strong&gt;sudo fdisk /dev/sdc&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Новую партицию&lt;strong&gt; n &lt;/strong&gt;далее&lt;strong&gt; p &lt;/strong&gt;и&lt;strong&gt; 1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Для записи изменений нажимаем&lt;strong&gt; w&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Форматируем диск например в ext4&lt;strong&gt;&amp;nbsp;sudo mkfs -t ext4 /dev/sdc1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Монтируем диск&lt;strong&gt;&amp;nbsp;sudo mount /dev/sdc1 /mnt/datadrive&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;На этом все, приатаченный диск можно использовать. Надеюсь статья была Вам полезна.&lt;/p&gt;</summary>
    <published>2013-07-03T07:09:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Приатачить-диск-к-виртуальнои-машине-в-Windows-Azure.aspx#comment" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=ca73b5ac-fd7e-443e-ae5e-88862dc5d227</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=ca73b5ac-fd7e-443e-ae5e-88862dc5d227</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Приатачить-диск-к-виртуальнои-машине-в-Windows-Azure.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=ca73b5ac-fd7e-443e-ae5e-88862dc5d227</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Размещение-БД-PostgreSQL-на-другом-диске.aspx</id>
    <title>Размещение БД PostgreSQL на другом диске.</title>
    <updated>2013-03-18T16:31:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=a004aa8c-e74f-46b5-a5de-fe9b1c990a3c" />
    <link href="http://blogoprog.cya-st.com/post/Размещение-БД-PostgreSQL-на-другом-диске.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Хорошей практикой для улучшения производительности &lt;strong&gt;PostgreSQL&lt;/strong&gt;, разместить файлы БД на другом диске, особенно эффективно если БД размещена на другом &lt;strong&gt;физическом&lt;/strong&gt; диске, так как при доступе к диску изрядное время занимает не только чтение данных, но и перемещение магнитной головки.&lt;/p&gt;
&lt;p&gt;И так решение для &lt;strong&gt;Vista/Windows7/Windows8/Windows Server 2012:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Остановите сервис &lt;strong&gt;&lt;span style="color: #5c5c5c;"&gt;PostgreSQL - Панель Управления -&amp;gt; Администрирование&amp;nbsp;-&amp;gt; Службы&lt;/span&gt;&lt;/strong&gt;. Находите&amp;nbsp;&lt;strong&gt;&lt;span style="color: #5c5c5c;"&gt;postgresql-x.x&lt;/span&gt;&lt;/strong&gt;. Клик правой кнопкой - Stop;&lt;/li&gt;
&lt;li&gt;Теперь можете скопировать папку данных &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;C:\Program Files\PostgreSQL\x.x\data\&lt;/strong&gt;&lt;/span&gt; в новую папку, для примера в - &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;D:\pg\&lt;/strong&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;Для новой папки назначаем полные права доступа для &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;NETWORK SERVICE&lt;/strong&gt;&lt;/span&gt; роли;&lt;/li&gt;
&lt;li&gt;Отредактируйте реестр. &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;(Win+R)&lt;/strong&gt;&lt;/span&gt; и в текстовом поле наберите команду &lt;strong&gt;&lt;span style="color: #5c5c5c;"&gt;regedit&lt;/span&gt;&lt;/strong&gt;. Запустится редактор реестра. Переходим в ветку: &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/postgresql-x.x&lt;/strong&gt;&lt;/span&gt;. Клик правой кнопкой мыши по ключу &lt;strong&gt;&lt;span style="color: #5c5c5c;"&gt;ImagePath&lt;/span&gt;&lt;/strong&gt; - изменить. Изменяете путь к папке, которая во вторых кавычках &lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;C:/Program Files/PostgreSQL/9.2/bin/pg_ctl.exe runservice -N "postgresql-9.2" -D "C:/Program Files/PostgreSQL/9.2/data" -w&lt;/strong&gt;&lt;/span&gt; на&amp;nbsp;&lt;strong&gt;&lt;span style="color: #5c5c5c;"&gt;C:/Program Files/PostgreSQL/9.2/&amp;nbsp;bin/pg_ctl.exe runservice -N "postgresql-8.4" -D "D:/pg/data" -w&lt;/span&gt;&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;Почти все готово, теперь можете удалить папку&amp;nbsp;&lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;C:\Program Files\PostgreSQL\x.x\data\&lt;/strong&gt;&lt;/span&gt; и запустить сервис&amp;nbsp;&lt;span style="color: #5c5c5c;"&gt;&lt;strong&gt;postgresql-x.x&lt;/strong&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Готово.&lt;/p&gt;</summary>
    <published>2013-03-18T16:31:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Размещение-БД-PostgreSQL-на-другом-диске.aspx#comment" />
    <category term="Базы Данных" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=a004aa8c-e74f-46b5-a5de-fe9b1c990a3c</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=a004aa8c-e74f-46b5-a5de-fe9b1c990a3c</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Размещение-БД-PostgreSQL-на-другом-диске.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=a004aa8c-e74f-46b5-a5de-fe9b1c990a3c</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Преобразование-Qt-проекта-(pro)-в-проект-Visual-Studio.aspx</id>
    <title>Преобразование Qt проекта (.pro) в проект Visual Studio</title>
    <updated>2012-09-18T14:51:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=cb5b3602-db97-44c9-8636-ecf87904a2eb" />
    <link href="http://blogoprog.cya-st.com/post/Преобразование-Qt-проекта-(pro)-в-проект-Visual-Studio.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Для преобразования Qt проекта (.pro) в проект Visual Studio (.vcproj), можно использовать следующую конструкцию командной строки:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;qmake -tp vc Sklad.pro -o Sklad.vcproj -spec win32-msvc2010&lt;/strong&gt;&lt;/p&gt;</summary>
    <published>2012-09-18T14:51:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Преобразование-Qt-проекта-(pro)-в-проект-Visual-Studio.aspx#comment" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=cb5b3602-db97-44c9-8636-ecf87904a2eb</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=cb5b3602-db97-44c9-8636-ecf87904a2eb</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Преобразование-Qt-проекта-(pro)-в-проект-Visual-Studio.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=cb5b3602-db97-44c9-8636-ecf87904a2eb</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/ИСПОЛЬЗОВАНИЕ-UNION-в-SQL-запросах.aspx</id>
    <title>Использование UNION в SQL запросах</title>
    <updated>2012-08-04T10:39:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=50e1f7f1-ca3f-4f70-8bae-29a587e320e4" />
    <link href="http://blogoprog.cya-st.com/post/ИСПОЛЬЗОВАНИЕ-UNION-в-SQL-запросах.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Для объединения двух и более таблиц в результирующий вывод в &lt;strong&gt;SQL&lt;/strong&gt;&amp;nbsp;существует предложение&amp;nbsp;&lt;strong&gt;UNION&lt;/strong&gt;. В отличие от вложенных запросов в UNION запросы никоем образом не влияют друг на друга.&lt;/p&gt;
&lt;p&gt;Для примера можно объеденить две таблици в результирующий вывод, таблицу клиентов и таблицу поставщиков, таким образом мы будем иметь список всех фирм которые присутствуют базе (может пригодится для рассылки) &amp;nbsp;Вы можете поместить многочисленные запросы вместе и объединить их вывод используя предложение UNION. Давайте посмотрим пример:&lt;/p&gt;
&lt;pre&gt;SELECT Name, Address 
FROM Suppliers 

UNION 

SELECT Name, Address 
FROM Customers

ORDER BY 2;&lt;/pre&gt;
&lt;p&gt;в результате мы получаем список всех клиентов и поставщиков.&amp;nbsp;Когда два или более запроса подвергаются объединению, их столбцы вывода должны быть совместимы для объединения. Это означает, что каждый запрос должен указывать одинаковое число столбцов и в том же порядке что и первый, второй, третий, и так далее, и каждый должен иметь тип, совместимый с каждым. Кроме того&amp;nbsp;&lt;strong&gt;UNION&lt;/strong&gt; будет автоматически исключать дубликаты строк из вывода. Вы также иожете упорядочить вывод с помощью &lt;strong&gt;ORDER BY&lt;/strong&gt;, но так как в результирующем выводе отсутствуют названия столбцов, то следует задавать номер столбца в GROUP BY.&lt;/p&gt;
&lt;p&gt;Надеюсь что статья была Вам полезна.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <published>2012-08-04T10:39:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/ИСПОЛЬЗОВАНИЕ-UNION-в-SQL-запросах.aspx#comment" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=50e1f7f1-ca3f-4f70-8bae-29a587e320e4</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=50e1f7f1-ca3f-4f70-8bae-29a587e320e4</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/ИСПОЛЬЗОВАНИЕ-UNION-в-SQL-запросах.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=50e1f7f1-ca3f-4f70-8bae-29a587e320e4</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Debugging-in-CSharp.aspx</id>
    <title>Отладка в C#</title>
    <updated>2011-07-05T06:59:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=086e7747-bb6b-489c-92cd-e08b67c9cfff" />
    <link href="http://blogoprog.cya-st.com/post/Debugging-in-CSharp.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Для отладки программы написаной в .NET можно использовать следующий метод:&lt;/p&gt;
&lt;p&gt;В коде программы вставить строку: System.Diagnostics.Debugger.Launch();&lt;/p&gt;
&lt;p&gt;После этого (студию не закрывать) запустить программу и приатачится к программе. Дебагер остановит програму на вышеописаной строке. После этого можно спокойно трасировать программу с помощью студии.&lt;/p&gt;</summary>
    <published>2011-07-05T06:59:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Debugging-in-CSharp.aspx#comment" />
    <category term="WEB-программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=086e7747-bb6b-489c-92cd-e08b67c9cfff</pingback:target>
    <slash:comments>2</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=086e7747-bb6b-489c-92cd-e08b67c9cfff</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Debugging-in-CSharp.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=086e7747-bb6b-489c-92cd-e08b67c9cfff</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/unsafe-_code_in_csharp.aspx</id>
    <title>Небезопасный код в C#</title>
    <updated>2011-04-21T10:46:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=47330ddf-3cd7-4f96-8594-fce9098f1778" />
    <link href="http://blogoprog.cya-st.com/post/unsafe-_code_in_csharp.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Для того чтобы использовать указатели в C#, следует специально объявить блок так называемого "небезопасного кода". Блок объявляется с помощью ключевого слова &lt;strong&gt;unsafe&lt;/strong&gt;. Например:&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; Test &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;void&lt;/span&gt; Func1() &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;unsafe&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="rem"&gt;//Work with pointers&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="rem"&gt;//Work without pointers&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;} &lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Также можно использовать ключевое слово &lt;strong&gt;unsafe &lt;/strong&gt;к определению функций и типов.&lt;/p&gt;</summary>
    <published>2011-04-21T10:46:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/unsafe-_code_in_csharp.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=47330ddf-3cd7-4f96-8594-fce9098f1778</pingback:target>
    <slash:comments>26</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=47330ddf-3cd7-4f96-8594-fce9098f1778</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/unsafe-_code_in_csharp.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=47330ddf-3cd7-4f96-8594-fce9098f1778</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/C-Garbage-collector.aspx</id>
    <title>C# Garbage collector</title>
    <updated>2011-03-14T11:12:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=7bfd2864-c7b7-43a5-a1f6-59d228a52291" />
    <link href="http://blogoprog.cya-st.com/post/C-Garbage-collector.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Давненько не писал в этом блоге, но в дальнейшем думаю больше уделять внимания для написания статей.&lt;/p&gt;
&lt;p&gt;Ок, сегодня речь пойдет об принудительном вызове сборщика мусора в C#. Собственно код:&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args) {&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;nbsp; &lt;span class="rem"&gt;//...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp; GC.Collect();&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp; GC.WaitForPendingFinalizers();&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp; &lt;span class="rem"&gt;//...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;}&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Функция WaitForPendingFinalizers ожидает завершения работы финализации объектов.&lt;/p&gt;</summary>
    <published>2011-03-14T11:12:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/C-Garbage-collector.aspx#comment" />
    <category term="WEB-программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=7bfd2864-c7b7-43a5-a1f6-59d228a52291</pingback:target>
    <slash:comments>20</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=7bfd2864-c7b7-43a5-a1f6-59d228a52291</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/C-Garbage-collector.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=7bfd2864-c7b7-43a5-a1f6-59d228a52291</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/HappyNewYear2011.aspx</id>
    <title>С Новым Годом и Рождеством Христовым!!!</title>
    <updated>2011-01-01T07:06:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=9c97d8df-af14-4fe4-be1e-e86cae5b15a7" />
    <link href="http://blogoprog.cya-st.com/post/HappyNewYear2011.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Поздравляю всех с Новым Годом и Рождеством Христовым!!!&lt;/p&gt;
&lt;p&gt;Пусть Новый год Вам принесет &lt;br /&gt;Лишь то, что ожидаете! &lt;br /&gt;Пусть Новый год Вам принесет &lt;br /&gt;Лишь то, о чем мечтаете!&lt;/p&gt;</summary>
    <published>2011-01-01T07:06:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/HappyNewYear2011.aspx#comment" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=9c97d8df-af14-4fe4-be1e-e86cae5b15a7</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=9c97d8df-af14-4fe4-be1e-e86cae5b15a7</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/HappyNewYear2011.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=9c97d8df-af14-4fe4-be1e-e86cae5b15a7</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Win7-d0b8-TortoiseSVN.aspx</id>
    <title>Win7 и TortoiseSVN</title>
    <updated>2010-10-03T06:49:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=78190dfe-63fe-4158-a49b-e8a902529cb4" />
    <link href="http://blogoprog.cya-st.com/post/Win7-d0b8-TortoiseSVN.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Столкнулся со следующей проблемой, у меня на &lt;strong&gt;Win7&lt;/strong&gt; стояла &lt;strong&gt;TortoiseSVN&lt;/strong&gt; версии 1.6.10 все было нормально пока не пришло обновление 1.6.11. Установка этого обновления завершилась нормально, но после перезагрузки системы в проводнике не оказалось ни оверлейных значков на файлах ни контекстного меню &lt;strong&gt;TortoiseSVN&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;После гугления, нашел очень простое решение: в свойствах инсталяционного файла &lt;strong&gt;TortoiseSVN&lt;/strong&gt; уберите атрибут индексирования файла. Снова запустите установку TortoiseSVN. У меня SVN после очередной перезагрузки заработал нормально.&lt;/p&gt;</summary>
    <published>2010-10-03T06:49:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Win7-d0b8-TortoiseSVN.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=78190dfe-63fe-4158-a49b-e8a902529cb4</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=78190dfe-63fe-4158-a49b-e8a902529cb4</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Win7-d0b8-TortoiseSVN.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=78190dfe-63fe-4158-a49b-e8a902529cb4</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Qt_4_7_0_Released.aspx</id>
    <title>Qt 4.7.0 Released</title>
    <updated>2010-09-21T16:31:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=0ca012e3-a1a0-49e8-8074-2dc0be7d54eb" />
    <link href="http://blogoprog.cya-st.com/post/Qt_4_7_0_Released.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;После нескольких месяцев кодинга, тестинга, дизайна, написания документации. Вышел релиз Qt 4.7.0.&lt;/p&gt;
&lt;p&gt;Скачать можно &lt;a href="http://qt.nokia.com/downloads" target="_blank"&gt;отсюда&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Что нового &lt;a href="http://doc.qt.nokia.com/4.7/qt4-7-intro.html" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2010-09-21T16:31:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Qt_4_7_0_Released.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=0ca012e3-a1a0-49e8-8074-2dc0be7d54eb</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=0ca012e3-a1a0-49e8-8074-2dc0be7d54eb</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Qt_4_7_0_Released.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=0ca012e3-a1a0-49e8-8074-2dc0be7d54eb</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Registering-SQL-Server-in-ASPNET.aspx</id>
    <title>Регистрация SQL Server в ASP.NET.</title>
    <updated>2010-08-19T06:03:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=05634a9f-a458-444f-b478-7dd0590b005e" />
    <link href="http://blogoprog.cya-st.com/post/Registering-SQL-Server-in-ASPNET.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;span id="tgt1" class="tgtSentence"&gt;Если вы установили Visual Studio, а после этого SQL Server, то при создании веб-приложения или веб сайта в студии, не создается база данных, по умолчанию в App_Data. Соответственно не работает авторизация в созданом приложении или сайте. Но есть решение - Aspnet_regsql.exe. Средство регистрации SQL Server в ASP.NET (Aspnet_regsql.exe) предназначено для создания базы данных Microsoft SQL Server, используемой поставщиками SQL Server в ASP.NET. &lt;/span&gt;&lt;span id="tgt2" class="tgtSentence"&gt;Это средство также позволяет добавлять или удалять элементы существующей базы данных.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id="tgt3" class="tgtSentence"&gt;Вне зависимости от используемой версии платформы .NET Framework исполняемый файл aspnet_regsql.exe находится в следующей папке на веб-сервере:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="code"&gt;[drive:]\%windir%\Microsoft.NET\Framework\v4.0.30319&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id="tgt4" class="tgtSentence"&gt;Программу Aspnet_regsql.exe можно запускать без аргументов командной строки; в этом случае запускается мастер, помогающий задать сведения о подключении к установленной копии SQL Server, а также установить или удалить элементы базы данных, связанные с функциями членства, управления ролями, профиля, персонализации веб-частей и наблюдения за состоянием системы.&lt;/span&gt;&lt;span id="tgt5" class="tgtSentence"&gt;(Мастер не выполняет установку параметров состояния сеанса и зависимости кэша SQL.) Программу Aspnet_regsql.exe можно также запустить из командной строки, указав элементы базы данных, соответствующие тем или иным функциональным возможностям, которые следует удалить или добавить. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tgtSentence"&gt;Посмотреть детальную информацию о Aspnet_regsql.exe можно в MSDN.&lt;/span&gt;&lt;/p&gt;</summary>
    <published>2010-08-19T06:03:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Registering-SQL-Server-in-ASPNET.aspx#comment" />
    <category term="WEB-программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=05634a9f-a458-444f-b478-7dd0590b005e</pingback:target>
    <slash:comments>40</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=05634a9f-a458-444f-b478-7dd0590b005e</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Registering-SQL-Server-in-ASPNET.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=05634a9f-a458-444f-b478-7dd0590b005e</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/QSqlTableModel-d0b7d0b0d0bfd180d0b5d182-d180d0b5d0b4d0b0d0bad182d0b8d180d0bed0b2d0b0d0bdd0b8d18f-d0bad0bed0bbd0bed0bdd0bad0b8.aspx</id>
    <title>QSqlTableModel запрет редактирования колонки.</title>
    <updated>2010-07-26T06:07:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=bd547e06-3d5d-4a3f-afe7-b50712e780a1" />
    <link href="http://blogoprog.cya-st.com/post/QSqlTableModel-d0b7d0b0d0bfd180d0b5d182-d180d0b5d0b4d0b0d0bad182d0b8d180d0bed0b2d0b0d0bdd0b8d18f-d0bad0bed0bbd0bed0bdd0bad0b8.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня короткая статья о том как сделать колонки только для чтения (ReadOnly) в QTableView через модель.&lt;/p&gt; 
&lt;p&gt;И так определяем клас модели. В класе модели нужно переопределить метод &lt;strong&gt;flag&lt;/strong&gt;:&lt;/p&gt; 
&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; MyModel : &lt;span class="kwrd"&gt;public&lt;/span&gt; QSqlTableModel &lt;span class="rem"&gt;//Model&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Q_OBJECT&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyModel(QObject * parent = 0, QSqlDatabase db = QSqlDatabase());&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Qt::ItemFlags flags(&lt;span class="kwrd"&gt;const&lt;/span&gt; QModelIndex &amp;amp;index) &lt;span class="kwrd"&gt;const&lt;/span&gt;; &lt;span class="rem"&gt;//В этой функции запрещаются колонки на редактирование&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="rem"&gt;//...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;};&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Реализовываем виртуальный метод &lt;strong&gt;flag:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;Qt::ItemFlags MyModel::flags(&lt;span class="kwrd"&gt;const&lt;/span&gt; QModelIndex &amp;amp;index) &lt;span class="kwrd"&gt;const&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Qt::ItemFlags flags = QSqlQueryModel::(index);&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;if&lt;/span&gt; (index.column() == 5 || index.column() == 9 || &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index.column() == 10)&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flags |= Qt::ItemIsEditable;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; flags;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Колонки 5, 9, 10 (нумерация колонок начинается с 0) можно редактировать все остальные поля только ReadOnly.&lt;/p&gt;
&lt;p&gt;Теперь подключаем модель:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;modelMain = &lt;span class="kwrd"&gt;new&lt;/span&gt; MyModel;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;modelMain-&amp;gt;setTable(&lt;span class="str"&gt;"TableTemp"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="rem"&gt;//... &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;modelMain-&amp;gt;select(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;modelMain-&amp;gt;setEditStrategy(QSqlTableModel::OnFieldChange); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;m_ui-&amp;gt;tableView-&amp;gt;setModel(modelMain);&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Вот простейшая реализация задачи задания ReadOnly полей. С вопросами прошу в комменты.&lt;/p&gt;</summary>
    <published>2010-07-26T06:07:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/QSqlTableModel-d0b7d0b0d0bfd180d0b5d182-d180d0b5d0b4d0b0d0bad182d0b8d180d0bed0b2d0b0d0bdd0b8d18f-d0bad0bed0bbd0bed0bdd0bad0b8.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=bd547e06-3d5d-4a3f-afe7-b50712e780a1</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=bd547e06-3d5d-4a3f-afe7-b50712e780a1</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/QSqlTableModel-d0b7d0b0d0bfd180d0b5d182-d180d0b5d0b4d0b0d0bad182d0b8d180d0bed0b2d0b0d0bdd0b8d18f-d0bad0bed0bbd0bed0bdd0bad0b8.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=bd547e06-3d5d-4a3f-afe7-b50712e780a1</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d0a0d0b5d0bbd0b8d0b7-QtCreator-20.aspx</id>
    <title>Релиз QtCreator 2.0</title>
    <updated>2010-06-24T05:44:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=dbabfa9b-1ec1-4c6c-953e-ac731870c97d" />
    <link href="http://blogoprog.cya-st.com/post/d0a0d0b5d0bbd0b8d0b7-QtCreator-20.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Вышел релиз знаменитой кросплатформенной IDE &lt;a href="http://qt.nokia.com/about/news/qt-creator-2.0-released" target="_blank"&gt;Qt Creator 2.0&lt;/a&gt;. Основные &lt;a href="http://qt.nokia.com/developer/changes/changes-qtcreator-2.0" target="_blank"&gt;изменения&lt;/a&gt; связаны с поддержкой Symbian и MeeGo. Скачать можно &lt;a href="http://qt.nokia.com/downloads" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2010-06-24T05:44:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d0a0d0b5d0bbd0b8d0b7-QtCreator-20.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=dbabfa9b-1ec1-4c6c-953e-ac731870c97d</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=dbabfa9b-1ec1-4c6c-953e-ac731870c97d</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d0a0d0b5d0bbd0b8d0b7-QtCreator-20.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=dbabfa9b-1ec1-4c6c-953e-ac731870c97d</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/HTML-d0b2-DLL.aspx</id>
    <title>HTML в DLL</title>
    <updated>2010-06-04T14:59:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=768efae5-3f3a-44cb-bd47-9f88d9060343" />
    <link href="http://blogoprog.cya-st.com/post/HTML-d0b2-DLL.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня я раскажу как вставить HTML страницу в DLL. Пример будет продемонстрирован посредством использования &lt;strong&gt;Delphi&lt;/strong&gt; 7.&lt;/p&gt;
&lt;p&gt;Иногда возникает необходимость вставить ресурсы в DLL файл (например для предотвращения случайного удаление ресурса,  или для того чтобы защитить ресурс от изменения).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Для начала создайте простую HTML страницу, для примера создайте страницу с одним  изображением (в ресурс мы будем вставлять и изображение). Назовём этот файл index1.html. Ниже указано как мы будем получать доступ к изображению из html страници, HTML код выглядит следующим образом:&lt;/p&gt;
&lt;div class="code"&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HEAD&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TITLE&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;My HTML&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TITLE&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HEAD&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    This is a HTML in DLL&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;img&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="MYIMG"&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;=&lt;span class="attr"&gt;100&lt;/span&gt; &lt;span class="attr"&gt;height&lt;/span&gt;=&lt;span class="attr"&gt;100&lt;/span&gt; &lt;span class="attr"&gt;border&lt;/span&gt;=&lt;span class="attr"&gt;0&lt;/span&gt; &lt;span class="attr"&gt;alt&lt;/span&gt;&lt;span class="kwrd"&gt;=""&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;Теперь займемся файлом ресурсов. Необходимо создать новый текстовый файл в директории вашего проекта с расширением *.rc, назовем его например MyHTML.rc. После этого добавте следующие строки в файл MyHTML.rc. Обратите внимание название ресурса должно совпадать с именем файла (это из-за того что броузер не понимает такого расширения файла), за исключением того что точку brcc не понимает нужно поставить подчеркивание (позднее я обьясню что нужно делать с подчеркиванием)&lt;/p&gt;
&lt;div class="code"&gt;
index1_html (23) &lt;span class="str"&gt;"index1.html"&lt;/span&gt;&lt;br /&gt;MYIMG GIF &lt;span class="str"&gt;"my.gif"&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;Следующий шаг - компиляция файла ресурса. Выполните следующую команду в директории  Вашего проекта:&lt;/p&gt;
&lt;div class="code"&gt;
BRCC32 MyHTML.RC &lt;/div&gt;
&lt;p&gt;Результатом выполнения команды будет собраный файл MyHTML.RES. Теперь заменим подчеркивание на точку в заголовке нашего собраного&amp;nbsp;*.RES файла. Для этого нужно найти строку "i n d e x 1 _ h t m l", изаменить подчеркивание на точку. Теперь можно добавить собраный файл ресурса в Ваш проект, для этого добавьте следующую директиву компилятора в unit  проекта:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;em&gt;{$R MyHTML.RES}&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;Далее собираем наш DLL. Чтобы запустить в браузере введите команду:&lt;/p&gt;
&lt;div class="code"&gt;
res://c:\myhtml.dll/index1.html&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <published>2010-06-04T14:59:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/HTML-d0b2-DLL.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=768efae5-3f3a-44cb-bd47-9f88d9060343</pingback:target>
    <slash:comments>2</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=768efae5-3f3a-44cb-bd47-9f88d9060343</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/HTML-d0b2-DLL.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=768efae5-3f3a-44cb-bd47-9f88d9060343</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d0a3d181d182d0b0d0bdd0bed0b2d0bad0b0-eXaro.aspx</id>
    <title>Установка eXaro.</title>
    <updated>2010-05-17T05:52:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=dae29ee0-8ae6-4c9d-a15d-7956d157753c" />
    <link href="http://blogoprog.cya-st.com/post/d0a3d181d182d0b0d0bdd0bed0b2d0bad0b0-eXaro.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;eXaro - инструмент построения отчетов, который распространяется по лицензии LGPL. Сегодня речь пойдет о установке eXaro в Windows. Для этого нужно установить некоторые дополнительные пакеты и собственно сам инструмент CMake, с помощью которого мы будем устанавливать пакеты и eXaro. Берем CMake &lt;a href="http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.exe"&gt;здесь&lt;/a&gt;, устанавливаем и переходим к установке дополнительных пакетов.&lt;/p&gt;
&lt;p&gt;Скачиваем &lt;a href="http://gnuwin32.sourceforge.net/packages/zlib.htm"&gt;zlib&lt;/a&gt;, просто распаковываем (устанавливать не надо) архив, у меня это C:\libs\zlib.&lt;/p&gt;
&lt;p&gt;Далее ставим пакет &lt;a href="http://code.google.com/p/exaro/downloads/detail?name=quazip-cmaked.tar.bz2&amp;amp;can=2&amp;amp;q="&gt;quazip&lt;/a&gt; специально заточен под cmake. В cmake нужно добавить параметры: ZLIB_INCLUDE_DIR = C:\libs\zlib\include; ZLIB_LIBRARY = C:\libs\zlib\lib\libz.dll.a. При конфигурации выбрать компилятор MinGW. Если возникает ошибка, &lt;span style="color: #ff0000;"&gt;"...install Library TARGETS given no DESTINATION!"&lt;/span&gt;, то тогда в файле&amp;nbsp;quazip/CMakeLists.txt находим строку "install(TARGETS quazip LIBRARY DESTINATION lib)" и вытираем слово&amp;nbsp;LIBRARY. Снова пробуем конфигурировать в&amp;nbsp;CMake, при успешной кнфигурации, нажимаем кнопку Generate. Теперь можно собирать, переходим в папку которую вы указали в&amp;nbsp;cmake для генерации либов и вызываем mingw32-make. Библиотеки собраны, переходим к следующему шагу.&lt;/p&gt;
&lt;p&gt;Скачиваем &lt;a href="http://sourceforge.net/projects/libpng/files/"&gt;libpng&lt;/a&gt;, процес установки не отличается от установки quazip.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://propertyeditor.googlecode.com/files/propertyeditor-2.1.3.tar.lzma"&gt;Property Editor&lt;/a&gt;, &lt;a href="http://exaro.googlecode.com/files/zint-for-exaro.tar.bz2"&gt;zint&lt;/a&gt; аналогично как quazip.&lt;/p&gt;
&lt;p&gt;Далее устанавливаем &lt;a href="http://downloads.sourceforge.net/project/exaro/exaro/exaro%202.0.0/exaro_2.0.0.tar.lzma?use_mirror=freefr"&gt;eXaro&lt;/a&gt;, задаем все переменные которые будут выводится красным при конфигурировании в CMake, это пути на дополнительные пакеты которые мы собрали. На этом все. Если есть вопросы, прошу в комменты.&lt;/p&gt;</summary>
    <published>2010-05-17T05:52:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d0a3d181d182d0b0d0bdd0bed0b2d0bad0b0-eXaro.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=dae29ee0-8ae6-4c9d-a15d-7956d157753c</pingback:target>
    <slash:comments>3</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=dae29ee0-8ae6-4c9d-a15d-7956d157753c</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d0a3d181d182d0b0d0bdd0bed0b2d0bad0b0-eXaro.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=dae29ee0-8ae6-4c9d-a15d-7956d157753c</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d091d0b5d182d0b0-d0b2d0b5d180d181d0b8d18f-Qt-470-d0b8-QtCreator-20.aspx</id>
    <title>Бета версия Qt 4.7.0 и QtCreator 2.0</title>
    <updated>2010-05-06T11:12:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=789018fb-318a-4a0c-860a-50f73a6a0ca5" />
    <link href="http://blogoprog.cya-st.com/post/d091d0b5d182d0b0-d0b2d0b5d180d181d0b8d18f-Qt-470-d0b8-QtCreator-20.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;strong&gt;Qt 4.7.0&lt;/strong&gt; Beta1 теперь доступна для скачивания на &lt;a href="http://qt.nokia.com/developer/qt-qtcreator-prerelease"&gt;странице загрузки Qt&lt;/a&gt;. Бета-версия включает в себя оба источника пакета (.zip и. tar.gz формат) и бинарные пакеты (для Mac Cocoa, Mac Carbon, &lt;strong&gt;MinGW 4.4.0&lt;/strong&gt; и &lt;strong&gt;Visual Studio 2008&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Больше месяца прошло с момента выпуска 2.0 альфа-релиза &lt;strong&gt;QtCreator&lt;/strong&gt;. Скачать можно тоже на &lt;a href="http://qt.nokia.com/developer/qt-qtcreator-prerelease"&gt;странице загрузки Qt&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2010-05-06T11:12:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d091d0b5d182d0b0-d0b2d0b5d180d181d0b8d18f-Qt-470-d0b8-QtCreator-20.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=789018fb-318a-4a0c-860a-50f73a6a0ca5</pingback:target>
    <slash:comments>2</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=789018fb-318a-4a0c-860a-50f73a6a0ca5</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d091d0b5d182d0b0-d0b2d0b5d180d181d0b8d18f-Qt-470-d0b8-QtCreator-20.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=789018fb-318a-4a0c-860a-50f73a6a0ca5</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/ClockingIT.aspx</id>
    <title>ClockingIT</title>
    <updated>2010-03-28T17:20:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=21ec19c1-06db-4254-b959-b88b470db412" />
    <link href="http://blogoprog.cya-st.com/post/ClockingIT.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодняшняя статья о системе управления  проектами &lt;a href="http://www.clockingit.com"&gt;ClockingIT&lt;/a&gt;, которым сам пользуюсь. Очень неплохой динамичный интерфейс, профессиональный дизайн.&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Чтобы начать использовать сервис нужно зарегистрироваться как юридическое лицо, команда  или просто коллектив единомышленников. Регистрация, заключается  в указании названия аккаунта для компании. Доступ к аккаунту  осуществляется посредством обращения на сервер по адресу  &amp;lt;название&amp;gt;.clockingit.com. Далее компанию можно наполнять  сотрудниками, которые могут авторизироваться в системе и работать  параллельно, для этого нужно настроить профили компании и сотрудников. Далее создаем проект. Созданный проект попадает в общий список, где показываются  участники, срок выполнения, текущий этап реализации.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Центральным элементом системы  является задача. Элементы проектов представлены сразу, а не внутри  проекта. Т.е. чтобы добраться до файла, нужно идти не в  проект-&amp;gt;файлы-&amp;gt;имя файла, а файлы-&amp;gt;имя файла(принадлежит  проекту). Можно создавать виды по заданным фильтрам, например, по  определенному проекту и сотруднику. На странице обзора, с помощью  виджетов можно просматривать полезные диаграммы (например,  burnup/burndown, статистику по задачам и др. В системе есть форум для создателей проекта, вики (правда общий для всех проектов), удобная система напоминаний с отправкой сообщения на E-Mail, задачам можно задать таймер, есть файловое хранилище, чат и многое еще удобных функций.&lt;/p&gt;
&lt;p&gt;В общем сервис мне понравился, отличный бесплатный сервис&amp;nbsp; управления  проектами.&lt;/p&gt;</summary>
    <published>2010-03-28T17:20:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/ClockingIT.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=21ec19c1-06db-4254-b959-b88b470db412</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=21ec19c1-06db-4254-b959-b88b470db412</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/ClockingIT.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=21ec19c1-06db-4254-b959-b88b470db412</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d09ed0bfd182d0b8d0bcd0b8d0b7d0b0d186d0b8d18f-d181d0b1d0bed180d0bad0b8-d0b2-Qt.aspx</id>
    <title>Оптимизация сборки в Qt</title>
    <updated>2010-03-17T15:45:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=5db9a51a-b93c-4255-83f6-5159ee180258" />
    <link href="http://blogoprog.cya-st.com/post/d09ed0bfd182d0b8d0bcd0b8d0b7d0b0d186d0b8d18f-d181d0b1d0bed180d0bad0b8-d0b2-Qt.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня я расскажу об оптимизации скорости сборки программы под Windows, при использовании IDE &lt;strong&gt;QTCreator&lt;/strong&gt;, и компилятора &lt;strong&gt;MinGW/GCC&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GCC&lt;/strong&gt; долго собирает программы, если файлы слишком большие и при этом включена  оптимизация &lt;strong&gt;-O2&lt;/strong&gt; и выше. Обычно возникают тормоза, когда в дизайнере много контролов, в результате этого&amp;nbsp; на основе xml файла uic'ом генерируется *.cpp файл большого размера.  Стоит поменять надпись на кнопочке в интерфейсе, как всё это начнет заново  пересобираться.&lt;/p&gt;
&lt;p&gt;Решением может быть использование утилиты, которая разбивает  сгенеренные uic'ом файлы, называется &lt;a href="http://sites.google.com/site/michaltomlein/splitui" target="_blank"&gt;SplitUI&lt;/a&gt;. Сам я ей не пользовался и поэтому не знаю, работает  ли она сейчас. Предпочитаю вместо неё ставить нулевую оптимизацию, если  проектирую интерфейс и требуется частая пересборка. Для этого в файле проекта *.pro, добавьте следующее:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QMAKE_CFLAGS_DEBUG += -O0&lt;br /&gt;QMAKE_CXXFLAGS_DEBUG += -O0&lt;br /&gt;QMAKE_OBJECTIVE_CFLAGS_DEBUG += -O0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Для сравнения программа, которая может собираться 10  минут, собирается за 30 секунд с отключенной оптимизацией.&lt;/p&gt;</summary>
    <published>2010-03-17T15:45:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d09ed0bfd182d0b8d0bcd0b8d0b7d0b0d186d0b8d18f-d181d0b1d0bed180d0bad0b8-d0b2-Qt.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=5db9a51a-b93c-4255-83f6-5159ee180258</pingback:target>
    <slash:comments>62</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=5db9a51a-b93c-4255-83f6-5159ee180258</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d09ed0bfd182d0b8d0bcd0b8d0b7d0b0d186d0b8d18f-d181d0b1d0bed180d0bad0b8-d0b2-Qt.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=5db9a51a-b93c-4255-83f6-5159ee180258</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d092d18bd188d0b5d0bb-Qt-470-Tech-preview-d0b8-QtCreator-20-alpha.aspx</id>
    <title>Вышел Qt 4.7.0 Tech preview и QtCreator 2.0 alpha</title>
    <updated>2010-03-11T16:05:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=9ab52e58-4f56-432d-af0c-3b17301a0b7c" />
    <link href="http://blogoprog.cya-st.com/post/d092d18bd188d0b5d0bb-Qt-470-Tech-preview-d0b8-QtCreator-20-alpha.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня вышел &lt;strong&gt;Qt 4.7.0 Tech preview&lt;/strong&gt; и &lt;strong&gt;QtCreator 2.0 alpha&lt;/strong&gt;, это предварительная версия для всех желающих как можно скорее ознакомиться с новшествами &lt;strong&gt;Qt&lt;/strong&gt;. Окончательный релиз &lt;strong&gt;Qt 4.7.0&lt;/strong&gt; планируется в середине лета текущего года.&lt;/p&gt;
&lt;p&gt;Наиболее значимое новшество в этой версии, это &lt;strong&gt;Qt Quick&lt;/strong&gt; &amp;mdash; набор инструментов для быстрого создания графического интерфейса, который позволяет создавать динамические пользовательские интерфейсы легче и эффективнее чем это возможно в текущих версиях, состоит из &lt;strong&gt;QML&lt;/strong&gt;, &lt;strong&gt;QtDeclarative&lt;/strong&gt;, &lt;strong&gt;Qt Creator&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Посмотреть, что нового в &lt;strong&gt;Qt 4.7.0&lt;/strong&gt; можно &lt;a href="http://doc.qt.nokia.com/4.7-snapshot/qt4-7-intro.html" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Скачать &lt;strong&gt;Qt 4.7.0&lt;/strong&gt; и&lt;strong&gt; QtCreator 2.0&lt;/strong&gt; можно &lt;a href="http://qt.nokia.com/developer/qt-qtcreator-prerelease" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2010-03-11T16:05:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d092d18bd188d0b5d0bb-Qt-470-Tech-preview-d0b8-QtCreator-20-alpha.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=9ab52e58-4f56-432d-af0c-3b17301a0b7c</pingback:target>
    <slash:comments>3</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=9ab52e58-4f56-432d-af0c-3b17301a0b7c</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d092d18bd188d0b5d0bb-Qt-470-Tech-preview-d0b8-QtCreator-20-alpha.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=9ab52e58-4f56-432d-af0c-3b17301a0b7c</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/MFC-controls-Visual-Studio-2010.aspx</id>
    <title>MFC контролы в Visual Studio 2010</title>
    <updated>2010-03-03T06:47:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=8c00e6f2-736e-4233-8fc5-23f53647f404" />
    <link href="http://blogoprog.cya-st.com/post/MFC-controls-Visual-Studio-2010.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Здравствуйте. Сегодня я хочу рассказать о новых MFC контролах в &amp;nbsp;Visual Studio 2010.&lt;/p&gt;
&lt;p&gt;Начиная с Visual Studio 2008 SP1, были введены новые элементы управления MFC, однако эти новые элементы управления использовались только в исходном коде, их не было в панели инструментов и нельзя было перетащить на диалог в редакторе диалогов. В Visual Studio 2010 наиболее часто используемые "новые" элементы управления MFC были интегрированы в панель инструментов и их&amp;nbsp; можно перетащить в диалоговое окно редактора диалогов во время разработки. Ниже приведен скриншот показывающий "новые" MFC элементы управления на панели инструментов. "Новые" MFC контролы начинаются с "MFC" в их именах.&lt;br /&gt;Я знаю, это может показаться очевидным для многих, но хотелось бы отметить, что эти элементы управления MFC требуют поддержки библиотеки MFC. Они могут не отображаться правильно в диалоге во время выполнения, если они используются в приложениях не MFC.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogoprog.cya-st.com/image.axd?picture=2010%2f3%2funtitled.bmp" alt="" /&gt;&lt;/p&gt;</summary>
    <published>2010-03-03T06:47:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/MFC-controls-Visual-Studio-2010.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=8c00e6f2-736e-4233-8fc5-23f53647f404</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=8c00e6f2-736e-4233-8fc5-23f53647f404</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/MFC-controls-Visual-Studio-2010.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=8c00e6f2-736e-4233-8fc5-23f53647f404</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/ProcessMessages-d0b2-Delphi.aspx</id>
    <title>ProcessMessages в Delphi</title>
    <updated>2010-02-16T10:36:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=217815a3-df77-4bb3-9392-b7172cf68ebc" />
    <link href="http://blogoprog.cya-st.com/post/ProcessMessages-d0b2-Delphi.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Многии начинающие програмисты не знают о методе &lt;strong&gt;Application.ProcessMessage()&lt;/strong&gt; и сталкиваются с проблемами, которых не могут объяснить. Например, мы хотим написать что-то на форме и через 5 секунд стереть. Нужно сделать так:&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;begin&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; Label1.Caption:=&lt;span class="str"&gt;'Started'&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; Application.ProcessMessage;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; Sleep(5000);&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; Label1.Caption:=&lt;span class="str"&gt;'Finished'&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;end;&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Попробуйте убрать&amp;nbsp;&lt;strong&gt;Application.ProcessMessage()&lt;/strong&gt;, и вы никогда не увидете слова "Started". Это связано с тем, что Windows ждет, пока накопятся сообщения в очереди, а не обрабатывает их сразу.&amp;nbsp;&lt;strong&gt;Application.ProcessMessage()&lt;/strong&gt; заставляет обработать все сообщения, которые накопились в данный момент. Подробности можно найти в файлах справки.&lt;/p&gt;
&lt;p&gt;Еще это можно применить так:&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;var&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; i:integer;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;begin&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;for&lt;/span&gt; i:=1 to 100000 &lt;span class="kwrd"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; begin&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProgressBar1.Position:=i;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.ProcessMessage;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&amp;nbsp; end;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;end;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Если убрать &amp;nbsp;&lt;strong&gt;Application.ProcessMessage()&lt;/strong&gt;, то, пока выполняетсяцикл, мы не сможем сдвинуть, свернуть форму, вывести&amp;nbsp;ProgressBar1.&lt;/p&gt;</summary>
    <published>2010-02-16T10:36:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/ProcessMessages-d0b2-Delphi.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=217815a3-df77-4bb3-9392-b7172cf68ebc</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=217815a3-df77-4bb3-9392-b7172cf68ebc</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/ProcessMessages-d0b2-Delphi.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=217815a3-df77-4bb3-9392-b7172cf68ebc</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Qt-Creator-131-error-access-help.aspx</id>
    <title>Qt Creator - ошибка доступа к документации</title>
    <updated>2010-02-14T17:08:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=c2c0fd3b-93e3-4090-a125-04407f9b5e63" />
    <link href="http://blogoprog.cya-st.com/post/Qt-Creator-131-error-access-help.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сегодня краткая статья. Сталкивался с этой проблемой, пишу для того что-бы запомнить и конечно для моих читателей. Иногда после обновления &amp;nbsp;&lt;strong&gt;Qt/Qt Creator&lt;/strong&gt;, в &lt;strong&gt;Qt Creator&lt;/strong&gt; возникает ошибка доступа к документации. Простое лечение: в&amp;nbsp;&lt;strong&gt;Qt Creator&lt;/strong&gt; заходим в пункт меню "Tools-&amp;gt;Options", далее переходим на вкладку "Help-&amp;gt;Documentation", в "Registered Documentation" удаляем все записи, и добавляем все файлы с расширением &lt;strong&gt;*.qch&lt;/strong&gt; из папки &lt;strong&gt;QTDIR/doc/qch&lt;/strong&gt; на жестком диске. После этого переходим на вкладку "Qt4-&amp;gt;Qt Versions" и проверяем правильность указания путей к &lt;strong&gt;QMake&lt;/strong&gt; и &lt;strong&gt;MinGW&lt;/strong&gt;, нажимаем кнопку Rebuild. Перегружаем программу&amp;nbsp;&lt;strong&gt;Qt Creator&lt;/strong&gt; (на вякий случай), и радуемся работе справки&amp;nbsp;&lt;strong&gt;Assistant&lt;/strong&gt;. Если что не понятно, прошу в комменты.&lt;/p&gt;</summary>
    <published>2010-02-14T17:08:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Qt-Creator-131-error-access-help.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=c2c0fd3b-93e3-4090-a125-04407f9b5e63</pingback:target>
    <slash:comments>7</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=c2c0fd3b-93e3-4090-a125-04407f9b5e63</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Qt-Creator-131-error-access-help.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=c2c0fd3b-93e3-4090-a125-04407f9b5e63</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/VS2010-NET-Framework-RC4.aspx</id>
    <title>VS2010 / .NET Framework RC4</title>
    <updated>2010-02-09T06:09:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=10535168-95c5-4728-8964-17808a960068" />
    <link href="http://blogoprog.cya-st.com/post/VS2010-NET-Framework-RC4.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Вышел очередной &lt;a href="http://blogs.msdn.com/jasonz/archive/2010/02/09/announcing-vs2010-net-framework-4-release-candidate-rc.aspx"&gt;релиз кандидат VS2010&lt;/a&gt;. Всем будет доступен для скачивания гдето 11 февраля, до 11 феврвля только для подписчиков MSDN.&lt;/p&gt;</summary>
    <published>2010-02-09T06:09:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/VS2010-NET-Framework-RC4.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=10535168-95c5-4728-8964-17808a960068</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=10535168-95c5-4728-8964-17808a960068</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/VS2010-NET-Framework-RC4.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=10535168-95c5-4728-8964-17808a960068</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Target-For-SiteMapNode.aspx</id>
    <title>Установка Target атрибута для SiteMapNode</title>
    <updated>2010-02-01T07:28:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=a5fb5ba4-ca26-425c-9181-bafa8d2c3c4d" />
    <link href="http://blogoprog.cya-st.com/post/Target-For-SiteMapNode.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Здравствуйте дорогие читатели. Давненько не писал в этом блоге, на то были свои причины: праздники, выходные, да и если честно, то небыло о чем писать.&lt;/p&gt;
&lt;p&gt;Сегодня хочу поделится с вами как можно установить атрибут &lt;strong&gt;Target&lt;/strong&gt; для &lt;strong&gt;SiteMapNode&lt;/strong&gt;, в моем случае надо было запускать ссылку в новом окне. Для этого использовался контрол &lt;strong&gt;asp:Menu&lt;/strong&gt;. Надо определить событие &lt;strong&gt;MenuItemDataBound &lt;/strong&gt;контрола &lt;strong&gt;asp:Menu&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Menu1_MenuItemDataBound(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, MenuEventArgs e)&lt;span class="rem"&gt;//Target For Menu Forum&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;    &amp;nbsp; &amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt;(e.Item.NavigateUrl == &lt;span class="str"&gt;"http://forum.cya-st.com/"&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;        &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.Item.Target = &lt;span class="str"&gt;"_blank"&lt;/span&gt;;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;}&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;На сегодня все. Надеюсь статейка была вам полезна.&lt;/p&gt;</summary>
    <published>2010-02-01T07:28:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Target-For-SiteMapNode.aspx#comment" />
    <category term="WEB-программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=a5fb5ba4-ca26-425c-9181-bafa8d2c3c4d</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=a5fb5ba4-ca26-425c-9181-bafa8d2c3c4d</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Target-For-SiteMapNode.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=a5fb5ba4-ca26-425c-9181-bafa8d2c3c4d</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Welcome-to-BlogEngineNET-1-6.aspx</id>
    <title>Welcome to BlogEngine.NET 1.6.0</title>
    <updated>2010-01-24T02:00:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=c3b491e5-59ac-4f6a-81e5-27e971b903ed" />
    <link href="http://blogoprog.cya-st.com/post/Welcome-to-BlogEngineNET-1-6.aspx" />
    <author>
      <name>Admin</name>
    </author>
    <summary type="html">&lt;p&gt;If you see this post it means that BlogEngine.NET 1.6.0 is running and the hard part of creating your own blog is done. There is only a few things left to do.&lt;/p&gt;
&lt;h2&gt;Write Permissions&lt;/h2&gt;
&lt;p&gt;To be able to log in to the blog and writing posts, you need to enable write permissions on the App_Data folder. If you&amp;rsquo;re blog is hosted at a hosting provider, you can either log into your account&amp;rsquo;s admin page or call the support. You need write permissions on the App_Data folder because all posts, comments, and blog attachments are saved as XML files and placed in the App_Data folder.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you wish to use a database to to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts.&amp;nbsp; If you are interested in using Microsoft SQL Server, MySQL, VistaDB, or other databases, please see the &lt;a href="http://blogengine.codeplex.com/documentation"&gt;BlogEngine wiki&lt;/a&gt; to get started.&lt;/p&gt;
&lt;h2&gt;Security&lt;/h2&gt;
&lt;p&gt;When you've got write permissions to the App_Data folder, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter "admin" in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the "Users" admin page. From there you can change the username and password.&amp;nbsp; Passwords are hashed by default so if you lose your password, please see the &lt;a href="http://blogengine.codeplex.com/documentation"&gt;BlogEngine wiki&lt;/a&gt; for information on recovery.&lt;/p&gt;
&lt;h2&gt;Configuration and Profile&lt;/h2&gt;
&lt;p&gt;Now that you have your blog secured, take a look through the settings and give your new blog a title.&amp;nbsp; BlogEngine.NET 1.4 is set up to take full advantage of of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable.&amp;nbsp; Be sure to fill in your author profile to take better advantage of this.&lt;/p&gt;
&lt;h2&gt;Themes and Widgets&lt;/h2&gt;
&lt;p&gt;One last thing to consider is customizing the look of your blog.&amp;nbsp; We have a few themes available right out of the box including two fully setup to use our new widget framework.&amp;nbsp; The widget framework allows drop and drag placement on your side bar as well as editing and configuration right in the widget while you are logged in.&amp;nbsp; Be sure to check out &lt;a href="http://dotnetblogengine.net"&gt;our home page&lt;/a&gt; for more theme choices and downloadable widgets to add to your blog.&lt;/p&gt;
&lt;h2&gt;On the web&lt;/h2&gt;
&lt;p&gt;You can find BlogEngine.NET on the &lt;a href="http://www.dotnetblogengine.net"&gt;official website&lt;/a&gt;. Here you'll find tutorials, documentation, tips and tricks and much more. The ongoing development of BlogEngine.NET can be followed at &lt;a href="http://blogengine.codeplex.com/"&gt;CodePlex&lt;/a&gt; where the daily builds will be published for anyone to download.&lt;/p&gt;
&lt;p&gt;Good luck and happy writing.&lt;/p&gt;
&lt;p&gt;The BlogEngine.NET team&lt;/p&gt;</summary>
    <published>2010-01-24T02:00:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Welcome-to-BlogEngineNET-1-6.aspx#comment" />
    <category term="SEO" />
    <dc:publisher>Admin</dc:publisher>
    <dc:description>The description is used as the meta description as well as shown in the related posts. It is recommended that you write a description, but not mandatory</dc:description>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=c3b491e5-59ac-4f6a-81e5-27e971b903ed</pingback:target>
    <slash:comments>5</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=c3b491e5-59ac-4f6a-81e5-27e971b903ed</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Welcome-to-BlogEngineNET-1-6.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=c3b491e5-59ac-4f6a-81e5-27e971b903ed</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/d092d0bed181d181d182d0b0d0bdd0bed0b2d0bbd0b5d0bdd0b8d0b5-d0b7d0b0d0b3d180d183d0b7d0bad0b8-Ubuntu.aspx</id>
    <title>Восстановление загрузки Ubuntu.</title>
    <updated>2010-01-03T12:00:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=764ed0c2-cb59-4900-b9c9-a901a095bf59" />
    <link href="http://blogoprog.cya-st.com/post/d092d0bed181d181d182d0b0d0bdd0bed0b2d0bbd0b5d0bdd0b8d0b5-d0b7d0b0d0b3d180d183d0b7d0bad0b8-Ubuntu.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;В этой статье я хочу рассказать как можно восстановить &lt;strong&gt;Ubuntu&lt;/strong&gt; на вашем компе, после установки &lt;strong&gt;Windows&lt;/strong&gt;. Если вы ничего не поняли, объясняю: у меня на компе в разных разделах диска, стояли WinXP и Ubuntu 9.10. Загрузка осуществлялась через grub, но после того как я обновил &lt;strong&gt;WinXP&lt;/strong&gt; до &lt;strong&gt;Win7&lt;/strong&gt; (где успешно был перезаписан boot), &lt;strong&gt;grub&lt;/strong&gt; загрузчик слетел.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Собственно процедура восстановления:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Загружаемся с LiveCD Ubuntu.&lt;/li&gt;
&lt;li&gt;sudo su&lt;/li&gt;
&lt;li&gt;mount /dev/sda8 /mnt&amp;nbsp;&amp;nbsp; ;//sda8 &amp;ndash; раздел, где установлен &lt;strong&gt;Linux&lt;/strong&gt;, папка boot&lt;/li&gt;
&lt;li&gt;grub-install &amp;ndash;root-directory=/mnt /dev/sda&lt;/li&gt;
&lt;li&gt;chroot /mnt update-grub&lt;/li&gt;
&lt;li&gt;umount /mnt&lt;/li&gt;
&lt;li&gt;Перезагрузка.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;После перезагрузки должно появится меню выбора систем. Надеюсь статья вам будет полезна.&lt;/p&gt;</summary>
    <published>2010-01-03T12:00:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/d092d0bed181d181d182d0b0d0bdd0bed0b2d0bbd0b5d0bdd0b8d0b5-d0b7d0b0d0b3d180d183d0b7d0bad0b8-Ubuntu.aspx#comment" />
    <category term="Администрирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=764ed0c2-cb59-4900-b9c9-a901a095bf59</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=764ed0c2-cb59-4900-b9c9-a901a095bf59</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/d092d0bed181d181d182d0b0d0bdd0bed0b2d0bbd0b5d0bdd0b8d0b5-d0b7d0b0d0b3d180d183d0b7d0bad0b8-Ubuntu.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=764ed0c2-cb59-4900-b9c9-a901a095bf59</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/NewYear2010.aspx</id>
    <title>С новым годом!!!</title>
    <updated>2009-12-30T06:53:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=87d34ac1-d5a8-449b-8ef3-7f6a718dcd26" />
    <link href="http://blogoprog.cya-st.com/post/NewYear2010.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;&lt;img src="http://blogoprog.cya-st.com/image.axd?picture=2009%2f12%2f1413954.jpg" alt="" width="510px" height="310px" /&gt;&lt;/p&gt;
&lt;p&gt;Уважаемые клиенты, читатели блога и все кто когда-либо пользовался нашими услугами, поздравляем Вас &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;с наступающими Новым Годом и Рождеством Христовым&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Пусть &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;2010-ый&lt;/span&gt;&lt;/strong&gt; будет для Вас счастливым и успешным и позволит реализовать все задуманное.&lt;/p&gt;</summary>
    <published>2009-12-30T06:53:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/NewYear2010.aspx#comment" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=87d34ac1-d5a8-449b-8ef3-7f6a718dcd26</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=87d34ac1-d5a8-449b-8ef3-7f6a718dcd26</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/NewYear2010.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=87d34ac1-d5a8-449b-8ef3-7f6a718dcd26</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/IE8_compliance_mode.aspx</id>
    <title>Режим совместимости сайта в IE8</title>
    <updated>2009-12-25T11:33:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=f453320f-ec52-4e5b-a6c2-8a65ac9a05b6" />
    <link href="http://blogoprog.cya-st.com/post/IE8_compliance_mode.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;В IE8 есть кнопка переключения совместимости вашего сайта с IE7, которая находится в адресной строке броузера. Пользователь может выбрать   режим совместимости для IE7 или IE8. Но эту же возможность имеет и разработчик сайта. Можно включить требуемую совместимость в коде страници. Чтобы включить совместимость с IE8, добавьте в заголовок  страници следующий код:
&lt;div class="code"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;meta&lt;/span&gt; &lt;span class="attr"&gt;http-equiv&lt;/span&gt;&lt;span class="kwrd"&gt;="X-UA-Compatible"&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;="IE=8"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Соответственно для IE7, следующий код: &lt;div class="code"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;meta&lt;/span&gt; &lt;span class="attr"&gt;http-equiv&lt;/span&gt;&lt;span class="kwrd"&gt;="X-UA-Compatible"&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;="IE=7"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;И так, чтобы гарантировать правильный выбор режима совместимости пользователем, лучше добавьте код выше в вашу страницу.&lt;/p&gt;</summary>
    <published>2009-12-25T11:33:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/IE8_compliance_mode.aspx#comment" />
    <category term="WEB-программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=f453320f-ec52-4e5b-a6c2-8a65ac9a05b6</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=f453320f-ec52-4e5b-a6c2-8a65ac9a05b6</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/IE8_compliance_mode.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=f453320f-ec52-4e5b-a6c2-8a65ac9a05b6</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/1C_and_CPP.aspx</id>
    <title>1C Предприятие и Visual C++</title>
    <updated>2009-12-24T12:23:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=15757de4-368e-41a3-860f-b311ed0da938" />
    <link href="http://blogoprog.cya-st.com/post/1C_and_CPP.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;В данной статье показано, как можно работать с 1С Предприятием из С++ с помощью OLE DB.&amp;nbsp;Дело в том, что 1С не предоставляет для своих пользователей библиотеки импорта (*.tlb), поэтому единственный способ работы (если не использовать какие либо обёртки) - это позднее связывание.&lt;/p&gt;
&lt;p&gt;Мы организуем всю необходимую работу с 1С в виде отдельной экспортируемой функции глобального модуля (я надеюсь, Вы уже научились открывать в 1С Глобальный модуль и добавлять в него экспортируемые функции). Мы будем вызывать нужную функцию глобального модуля, которая будет возвращать нужное значение. Для многих практических приложений этого вполне достаточно.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;#include &amp;lt;objbase.h&amp;gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;#include &amp;lt;comdef.h&amp;gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;br /&gt; &lt;span class="rem"&gt;//для начала инициализируем COM &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;HRESULT hr = CoInitialize(NULL); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Невозможно инициализировать COM!"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;} &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&lt;span class="rem"&gt;//Получаем ID сервера OLE Automation 1С Предприятия. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;CLSID cls77; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;hr = CLSIDFromProgID(L&lt;span class="str"&gt;"V77.Application"&lt;/span&gt;, &amp;amp;cls77);  &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Переустановите 1С Предприятие!"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&lt;span class="rem"&gt;//основной интерфейс IDispatch &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;IDispatch *pDispV77; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;&lt;span class="rem"&gt;//CLSCTX_LOCAL_SERVER - запуск в отдельном процесе &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;hr = CoCreateInstance(cls77, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch,  &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span class="kwrd"&gt;void&lt;/span&gt;**)&amp;amp;pDispV77); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Невозможно инициализировать интерфейс 1С."&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;} &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;&lt;span class="rem"&gt;/* 1С предоставляет для запуска приложения функцию Initialize.  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;&lt;span class="rem"&gt;Вызов этой функции выглядит в VB вот так: &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;&lt;span class="rem"&gt;V7.Initialize(V7.RMTrade,"D:\1C\Base /N"+UserName ,"NO_SPLASH_SHOW"); &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;&lt;span class="rem"&gt;В C++ мы должны помнить, что аргументы необходимо заталкивать задом наперёд и  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;&lt;span class="rem"&gt;RMTrade - это тоже IDispatch интерфейс и его сперва нужно получить.*/&lt;/span&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;VARIANT vRet; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;DISPID dispIDRmTrade, dispIDInitialize; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;DISPPARAMS args = {0, 0, 0, 0}; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;VARIANT vars[3];&amp;nbsp; &lt;span class="rem"&gt;// Параметры для вызова Initialize &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;&lt;span class="rem"&gt;//Мы получим IDispatch интерфейс от RMTrade сразу в vars[2] &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;BSTR rmTrade = L&lt;span class="str"&gt;"RMTrade"&lt;/span&gt;; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;hr = pDispV77-&amp;gt;GetIDsOfNames(IID_NULL, &amp;amp;rmTrade, 1, 0, &amp;amp;dispIDRmTrade); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Невозможно получить ID от RMTrade"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;if&lt;/span&gt; (pDispV77) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pDispV77-&amp;gt;Release(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;} &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;hr = pDispV77-&amp;gt;Invoke(dispIDRmTrade, IID_NULL, 0, DISPATCH_PROPERTYGET, &amp;amp;args, &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;vars[2], NULL, NULL); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Невозможно получить интерфейс от RMTrade"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;if&lt;/span&gt; (pDispV77) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pDispV77-&amp;gt;Release(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;} &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;&lt;span class="rem"&gt;//нужно получить ID для Initialize(..); &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;BSTR init = L&lt;span class="str"&gt;"Initialize"&lt;/span&gt;;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;&lt;br /&gt;hr = pDispV77-&amp;gt;GetIDsOfNames(IID_NULL, &amp;amp;init, 1, 0, &amp;amp;dispIDInitialize); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (FAILED(hr)) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Не удалось получить ID от Initialize"&lt;/span&gt;) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;if&lt;/span&gt; (pDispV77) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pDispV77-&amp;gt;Release(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize(); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="kwrd"&gt;return&lt;/span&gt; FALSE; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;} &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;&lt;span class="rem"&gt;//теперь - вызваем Initialize(..) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  81:  &lt;/span&gt;&lt;span class="rem"&gt;//но сперва необходимо заполнить массив аргументов функций &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  82:  &lt;/span&gt;args.cArgs = 3; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  83:  &lt;/span&gt;args.rgvarg = vars; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  84:  &lt;/span&gt;vars[0] = _variant_t(&lt;span class="str"&gt;"NO_SPLASH_SHOW"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  85:  &lt;/span&gt;vars[1] = _variant_t(&lt;span class="str"&gt;"/D D:\1S /N Denis /P Denis "&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  86:  &lt;/span&gt;&lt;span class="rem"&gt;/*vars[2] - у нас уже есть, мы его получили при запросе  &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  87:  &lt;/span&gt;&lt;span class="rem"&gt;интерфейса RMTrade в момент предыдущего Invoke*/&lt;/span&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  88:  &lt;/span&gt;&lt;br /&gt; &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  89:  &lt;/span&gt;hr = pDispV77-&amp;gt;Invoke(dispIDInitialize, IID_NULL, 0, DISPATCH_PROPERTYGET, &amp;amp;args,  &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  90:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;vRet, NULL, NULL); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  91:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(FAILED(hr) &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  92:  &lt;/span&gt;{ &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  93:  &lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox(&lt;span class="str"&gt;"Невозможно запустить 1С Предприятие"&lt;/span&gt;); &lt;/div&gt;
&lt;div&gt;&lt;span class="lnum"&gt;  94:  &lt;/span&gt;}&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;После этих действий должно появиться окно, предлагающее задать имя базы, имя пользователя и т.п., возможно, это такая особенность дизайна 1С.&lt;br /&gt;На сегодня все.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</summary>
    <published>2009-12-24T12:23:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/1C_and_CPP.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=15757de4-368e-41a3-860f-b311ed0da938</pingback:target>
    <slash:comments>0</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=15757de4-368e-41a3-860f-b311ed0da938</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/1C_and_CPP.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=15757de4-368e-41a3-860f-b311ed0da938</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/SN_Winchester.aspx</id>
    <title>S/N винчестера</title>
    <updated>2009-12-16T16:58:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=da8b2288-dea4-4581-a0cc-5ed1856ed428" />
    <link href="http://blogoprog.cya-st.com/post/SN_Winchester.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Сейчас я вам покажу как с помощью &lt;strong&gt;Windows API&lt;/strong&gt; получить типа носителя и/или его серийный номер. Использоваться это может в системе контроля например, или в средствах защиты ПЗ использующих привязку к железу.&lt;/p&gt;
&lt;p&gt;Нам понадобится всего 2 API - функции:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GetDriveType&lt;/strong&gt; - определяет и возвращает тип носителя;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GetVolumeInformation&lt;/strong&gt; - определяет информацию о носителе, среди которой содержится серийный номер.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Рассмотрим описание этих функций для С++. Первой будет функция GetDriveType, она очень простая и использует всего один параметр - указатель на том. Например "c:\","a:\" и т.д. Функция возвращает одно из следующих значений:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_UNKNOWN&lt;/strong&gt; - 0 : диск неопределен/не существует&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_NO_ROOT_DIR&lt;/strong&gt; - 1 : неверный путь/ путь не указывает на том&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_REMOVABLE&lt;/strong&gt; - 2 : тип устройства определяется как съемный (дискета, флешка и т.д.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_FIXED&lt;/strong&gt; - 3 : тип устройства - фиксированный диск (жесткий диск)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_REMOTE&lt;/strong&gt; - 4 : тип устройства - удаленный(сетевой) диск&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_CDROM&lt;/strong&gt; - 5 : это устройство CD-ROM&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRIVE_RAMDISK&lt;/strong&gt; - 6 : виртуальный диск, созданный в оперативной памяти&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;UINT WINAPI GetDriveType(       LPCTSTR lpRootPathName //путь к диску );&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Замечание: Если в качестве параметра указать NULL, то тип устройства будет определяться для текущего диска (с которого была запущена программа).&lt;/p&gt;
&lt;p&gt;А теперь &lt;strong&gt;GetVolumeInformation&lt;/strong&gt;. Тоже достаточно простая функция, однако использует параметров значительно больше.&lt;/p&gt;
&lt;p&gt;&lt;div class="code"&gt;
&lt;div&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;BOOL WINAPI GetVolumeInformation(LPCTSTR lpRootPathName,    //путь к сетевому или локальному // тому (пример: &lt;span class="str"&gt;"\\MyServer\MyShare\" или "&lt;/span&gt;C:\". LPTSTR lpVolumeNameBuffer, //буфер - в котором будет храниться // имя тома        DWORD nVolumeNameSize, //размер буфера LPDWORD lpVolumeSerialNumber, //серийный номер тома LPDWORD lpMaximumComponentLength, //размер тома LPDWORD lpFileSystemFlags, //тип файловой системы LPTSTR lpFileSystemNameBuffer, //название файловой системы        DWORD nFileSystemNameSize //размер буфера под название ФС  );&lt;/div&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Замечание: Если в качестве первого параметра указать NULL, то функция будет выполняется для текущего диска (с которого была запущена программа).&lt;/p&gt;
&lt;p&gt;На этом все.&lt;/p&gt;
&lt;p&gt;Надеюсь эта статья будет вам полезна.&lt;/p&gt;</summary>
    <published>2009-12-16T16:58:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/SN_Winchester.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=da8b2288-dea4-4581-a0cc-5ed1856ed428</pingback:target>
    <slash:comments>4</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=da8b2288-dea4-4581-a0cc-5ed1856ed428</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/SN_Winchester.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=da8b2288-dea4-4581-a0cc-5ed1856ed428</wfw:commentRss>
  </entry>
  <entry>
    <id>http://blogoprog.cya-st.com/post/Welcome.aspx</id>
    <title>Добро пожаловать.</title>
    <updated>2009-12-16T11:46:00+00:00</updated>
    <link rel="self" href="http://blogoprog.cya-st.com/post.aspx?id=2c6f78e1-622b-4fd1-91f9-2be8da593edd" />
    <link href="http://blogoprog.cya-st.com/post/Welcome.aspx" />
    <author>
      <name>cya-st</name>
    </author>
    <summary type="html">&lt;p&gt;Блог посвящен программированию на C++, QT, Delphi, C#. А так же прочим темам связанным с программированием. Ну и конечно темам интересным мне.&lt;/p&gt;
&lt;p&gt;Если кому-то еще интересна писанина с моего старого блога, тогда прошу по ссылке &lt;a title="http://cyast-cat.blogspot.com/" href="http://cyast-cat.blogspot.com/" target="_blank"&gt;http://cyast-cat.blogspot.com/&lt;/a&gt;&lt;/p&gt;</summary>
    <published>2009-12-16T11:46:00+00:00</published>
    <link rel="related" href="http://blogoprog.cya-st.com/post/Welcome.aspx#comment" />
    <category term="Программирование" />
    <dc:publisher>cya-st</dc:publisher>
    <pingback:server>http://blogoprog.cya-st.com/pingback.axd</pingback:server>
    <pingback:target>http://blogoprog.cya-st.com/post.aspx?id=2c6f78e1-622b-4fd1-91f9-2be8da593edd</pingback:target>
    <slash:comments>1</slash:comments>
    <trackback:ping>http://blogoprog.cya-st.com/trackback.axd?id=2c6f78e1-622b-4fd1-91f9-2be8da593edd</trackback:ping>
    <wfw:comment>http://blogoprog.cya-st.com/post/Welcome.aspx#comment</wfw:comment>
    <wfw:commentRss>http://blogoprog.cya-st.com/syndication.axd?post=2c6f78e1-622b-4fd1-91f9-2be8da593edd</wfw:commentRss>
  </entry>
</feed>