<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Программирование на Си - C-sharp &#187; Учебник</title>
	<atom:link href="http://www.c-help.net/category/book/feed" rel="self" type="application/rss+xml" />
	<link>http://www.c-help.net</link>
	<description></description>
	<lastBuildDate>Fri, 20 Jun 2008 19:02:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Организация интерфейса</title>
		<link>http://www.c-help.net/191.html</link>
		<comments>http://www.c-help.net/191.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 19:02:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[brush]]></category>
		<category><![CDATA[circle]]></category>
		<category><![CDATA[clearBrush]]></category>
		<category><![CDATA[clearPen]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[createPerson]]></category>
		<category><![CDATA[createRectangle]]></category>
		<category><![CDATA[createSquare]]></category>
		<category><![CDATA[current]]></category>
		<category><![CDATA[goNext]]></category>
		<category><![CDATA[moveTop]]></category>
		<category><![CDATA[Person]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=191</guid>
		<description><![CDATA[





Организация интерфейса
Создадим теперь интерфейс, позволяющий конечному пользователю работать с объектами наших классов. Как всегда, интерфейс создавался вручную в режиме проектирования. На форме я создал меню с большим числом команд и инструментальную панель с 18 кнопками, команды которых повторяли основную команду меню. Описывать процесс создания интерфейса не буду &#8211; он подробно рассмотрен в предыдущей главе. Поскольку [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/191.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Список с курсором. Динамические структуры данных</title>
		<link>http://www.c-help.net/190.html</link>
		<comments>http://www.c-help.net/190.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 19:01:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[elem]]></category>
		<category><![CDATA[empty]]></category>
		<category><![CDATA[ensure]]></category>
		<category><![CDATA[Figure]]></category>
		<category><![CDATA[last]]></category>
		<category><![CDATA[newitem]]></category>
		<category><![CDATA[prev]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[require]]></category>
		<category><![CDATA[right]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=190</guid>
		<description><![CDATA[





Список с курсором. Динамические структуры данных
Добавим в проект классы, задающие динамические структуры данных. Конечно, можно было бы воспользоваться стандартными&#8230; Но для обучения крайне полезно уметь создавать собственные классы, задающие такие структуры данных. Список с курсором &#8211; один из важнейших образцов подобных классов%:
using System;
namespace Shapes
{
 /// &#60;summary&#62;
 /// Класс TwoWayList(G)  описывает двусвязный список с 
 /// [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/190.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Классы семейства геометрических фигур</title>
		<link>http://www.c-help.net/189.html</link>
		<comments>http://www.c-help.net/189.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:59:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[axisA]]></category>
		<category><![CDATA[axisB]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[Capture]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[DrawEllipse]]></category>
		<category><![CDATA[FillRectangle]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[Override]]></category>
		<category><![CDATA[pen]]></category>
		<category><![CDATA[Person]]></category>
		<category><![CDATA[Rectangle]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[sideA]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=189</guid>
		<description><![CDATA[





Классы семейства геометрических фигур
Приведем теперь программные коды классов, являющихся потомками класса Figure.
Класс Ellipse
Вот программный код этого класса:
using System;
using System.Drawing;
namespace Shapes
{
 /// &#60;summary&#62;
 /// Класс Ellipse &#8211; потомок класса Figure.
 /// &#60;/summary&#62;
 public class Ellipse: Figure
 {
 int axisA,axisB;
 Rectangle rect;
 public Ellipse(int A, int B, int x, int y ): base(x,y)
 {
 axisA = A; [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/189.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Абстрактный класс Figure</title>
		<link>http://www.c-help.net/188.html</link>
		<comments>http://www.c-help.net/188.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:58:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[brush]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Color]]></category>
		<category><![CDATA[Figure]]></category>
		<category><![CDATA[ForestGreen]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[Rectangle]]></category>
		<category><![CDATA[Region]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[Shapes]]></category>
		<category><![CDATA[Show]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=188</guid>
		<description><![CDATA[





Абстрактный класс Figure
Приведем код класса:
using System;
using System.Drawing;
namespace Shapes
{
/// &#60;summary&#62;
/// Figure &#8211; это абстрактный класс; прародитель семейства 
/// классов геометрических фигур. Все фигуры имеют:
/// центр &#8211; center, масштаб &#8211; scale. статус
/// перетаскивания &#8211; dragged center &#8211; объект встроенного
/// класса (структуры) Point. Этот объект задает характерную
/// точку фигуры &#8211; чаще всего ее центр (тяжести)
/// scale задает масштаб [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/188.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рисование в форме</title>
		<link>http://www.c-help.net/187.html</link>
		<comments>http://www.c-help.net/187.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:58:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Aquamarine]]></category>
		<category><![CDATA[BezierWeb]]></category>
		<category><![CDATA[ControlText]]></category>
		<category><![CDATA[Count]]></category>
		<category><![CDATA[CreateGraphics]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[MouseEventArgs]]></category>
		<category><![CDATA[PaintEventArgs]]></category>
		<category><![CDATA[sender]]></category>
		<category><![CDATA[Width]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=187</guid>
		<description><![CDATA[





Рисование в форме
Графика необходима при организации пользовательского интерфейса. Образы информативнее текста. Framework .Net реализует расширенный графический интерфейс GDI+, обладающий широким набором возможностей. Но для рисования в формах достаточно иметь три объекта &#8211; перо, кисть и, хочется сказать, бумагу, но третий нужный объект &#8211; это объект класса Graphics, методы которого позволяют в формах заниматься графикой &#8211; [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/187.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Огранизация меню в формах</title>
		<link>http://www.c-help.net/186.html</link>
		<comments>http://www.c-help.net/186.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:57:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[ColorDialog]]></category>
		<category><![CDATA[ContextMenu]]></category>
		<category><![CDATA[Controls]]></category>
		<category><![CDATA[DialogResult]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[Menu]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[ToolBar]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=186</guid>
		<description><![CDATA[





Огранизация меню в формах
Важными атрибутами интерфейса являются меню и инструментальные панели с кнопками. Рассмотрим, как организуются эти элементы интерфейса в формах. Меню и панели с кнопками можно создавать как вручную в режиме проектирования, так и программно.
Несколько слов о терминологии. Когда мы говорим о меню, то имеем в виду некоторую структуру, организованную в виде дерева. Меню [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/186.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Организация интерфейса (II)</title>
		<link>http://www.c-help.net/185.html</link>
		<comments>http://www.c-help.net/185.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:56:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[AddInheritedForm]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[DoubleClick]]></category>
		<category><![CDATA[InterfacesAndDrawing]]></category>
		<category><![CDATA[Picker]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[Studio]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=185</guid>
		<description><![CDATA[





Организация интерфейса (II)
Обработчики событий устроены достаточно просто &#8211; они вызывают соответствующий метод, передавая ему нужные аргументы в нужном порядке. Рассмотрим метод, переносящий множество отобранных пользователем элементов из одного списка в другой:
private void MoveSelectedItems(ListBox list1, ListBox list2)
{
 /*** Выделенные элементы списка list1 ****
 *** помещаются в конец списка List2 *****
 *** и удаляются из списка list1 [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/185.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Организация интерфейса</title>
		<link>http://www.c-help.net/184.html</link>
		<comments>http://www.c-help.net/184.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:54:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[AddRange]]></category>
		<category><![CDATA[BeginUpdate]]></category>
		<category><![CDATA[DataBinding]]></category>
		<category><![CDATA[ListArray]]></category>
		<category><![CDATA[MultiColumn]]></category>
		<category><![CDATA[RemoveAt]]></category>
		<category><![CDATA[SelectedIndexCollection]]></category>
		<category><![CDATA[SelectedObjectCollection]]></category>
		<category><![CDATA[SelectionMode]]></category>
		<category><![CDATA[Sorted]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=184</guid>
		<description><![CDATA[





Организация интерфейса
Практически все проекты, построенные в наших лекциях, были консольными приложениями. В реальной жизни консольные проекты &#8211; это большая редкость. Причина, по которой из 12 возможных типов проектов мы выбирали наименее используемый, понятна. Нашей целью являлось изучение свойств языка, классов библиотеки FCL, для этих целей консольный проект вполне подходит, позволяя избегать введения не относящихся к [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/184.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отладка</title>
		<link>http://www.c-help.net/182.html</link>
		<comments>http://www.c-help.net/182.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:52:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[COMPLEX]]></category>
		<category><![CDATA[ComplexMethod]]></category>
		<category><![CDATA[DebugPrint]]></category>
		<category><![CDATA[DefaultTraceListener]]></category>
		<category><![CDATA[InMethod]]></category>
		<category><![CDATA[PrintExit]]></category>
		<category><![CDATA[PrintObject]]></category>
		<category><![CDATA[PubMethod]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[TextWriter]]></category>
		<category><![CDATA[ToString]]></category>
		<category><![CDATA[TraceListenerCollection]]></category>
		<category><![CDATA[virtual]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=182</guid>
		<description><![CDATA[





Отладка
Что должно делать для создания корректного и устойчивого программного продукта? Как минимум, необходимо:

создать надежный код, корректность которого предусматривается с самого начала; 
отладить этот код; 
предусмотреть в нем обработку исключительных ситуаций.

Создание надежного кода
Большинство вопросов, затрагиваемых в этой лекции, в том числе и проблемы создания надежного кода, заслуживают отдельного и глубокого рассмотрения. К сожалению, придется ограничиться лишь [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/182.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Корректность и устойчивость программных систем</title>
		<link>http://www.c-help.net/181.html</link>
		<comments>http://www.c-help.net/181.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:50:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[False]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=181</guid>
		<description><![CDATA[





Корректность и устойчивость программных систем
Корректность и устойчивость &#8211; два основных качества программной системы, без которых все остальные ее достоинства не имеют особого смысла. Понятие корректности программной системы имеет смысл только тогда, когда задана ее спецификация. В зависимости от того, как формализуется спецификация, уточняется понятие корректности.





В лекции 9 введено строгое понятие корректности метода по отношению к [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/181.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

