Добавить в цитаты Настройки чтения

Страница 361 из 371

                     listFigure.start();

                     while(!listFigure.empty())

                     {

                          current = listFigure.item();

                          current.Show(graphic,clearPen,clearBrush);

                          listFigure.remove ();

                     }

                }

                private void Form1_MouseMove (object sender,

                     System.Windows.Forms.MouseEventArgs e)

                {

                     if((current!= null) && current.dragged_figure)

                     {

                          current.Show(graphic,clearPen,clearBrush);

                          Point pt = new Point(e.X, e.Y);

                          current.center_figure = pt;

                          current.Show(graphic,pen,brush);

                     }

                }

                private void Form1_MouseUp(object sender,

                     System.Windows.Forms.MouseEventArgs e)

                {

                     current.dragged_figure = false;

                }

                private void Form1_MouseDown(object sender,

                     System.Windows.Forms.MouseEventArgs e)

                {

                     Point mousePoint = new Point (e.X, e.Y);

                     Rectangle figureRect = current.Region_Capture();

                     if ((current!= null) &&

                        (figureRect.Contains(mousePoint)))

                        current.dragged_figure = true;

                }

                protected override void

                     OnPaint(System.Windows.Forms.PaintEventArgs e)

                {

                     //show current figure

                      current.Show(graphic, pen, brush);

                }

                private void toolBar1_ButtonClick(object sender,

                      System.Windows.Forms.ToolBarButtonClickEventArgs e)

                {

                      int buttonNumber =

                          toolBar1.Buttons.IndexOf(e.Button);

                      switch (buttonNumber)

                      {

                           case 0:

                                 createEllipse (); break;

                           case 1:

                                 createCircle(); break;

                           case 2:

                                 createLittleCircle(); break;

                           case 3:

                                 createRectangle(); break;

                           case 4:

                                 createSquare(); break;

                           case 5:

                                 createPerson (); break;





                           case 6:

                                 showCurrent (); break;

                           case 7:

                                 clearCurrent (); break;

                           case 8:

                                 showList (); break;

                           case 9:

                                 clearList (); break;

                           case 10:

                                 incScale (); break;

                           case 11:

                                 decScale (); break;

                           case 12:

                                 moveLeft (); break;

                           case 13:

                                 moveRight (); break;

                           case 14:

                                 moveTop (); break;

                           case 15:

                                 moveDown (); break;

                           case 16:

                                 goNext(); break;

                           case 17:

                                 goPrev (); break;

                     }

              }

      }

}

Команд меню и кнопок в нашем интерфейсе много, поэтому много и обработчиков событий, что приводит к разбуханию кода. Но каждый из обработчиков событий довольно прост. Ограничусь кратким описанием главного меню:

• команды пункта главного меню Create позволяют создавать геометрические фигуры разных классов;

• команды пункта главного меню Show позволяют показать или стереть текущую фигуру или все фигуры, сохраняемые в списке;

• две команды пункта Scale позволяют изменить масштаб фигуры (увеличить ее или уменьшить);

• команды пункта Move позволяют перемещать текущую фигуру в четырех направлениях;

• команды пункта Color позволяют либо задать цвет фигур в диалоговом окне, либо выбрать один из предопределенных цветов;

• группа команд пункта List позволяет помещать текущую фигуру в список, перемещаться по списку и удалять из списка ту или иную фигуру;

• командные кнопки инструментальной панели соответствуют наиболее важным командам меню;

• реализована возможность перетаскивания фигур по экрану мышью.

В заключение взгляните, как выглядит форма в процессе работы с объектами:

Рис. 25.1. Финальный проект. Форма в процессе работы

У НАС В ГОСТЯХ

Правда о колбасе

Дорожкин С.В.

У нас в гостях журнал «Химия и жизнь» (со своей колбасой)

Волею судьбы я занялся проблемами пищевой промышленности. И первой поставленной передо мной задачей было выяснить, какие химические добавки можно найти в наиболее распространенных продуктах питания. Оказалось, что наряду с загустителями, ароматизаторами, структурообразователями, красителями, подсластителями, подкислителями, белковыми добавками, водоудерживающими агентами и прочим, иногда в продукты питания добавляют и весьма специфические вещества. Например, существуют специальные ароматические смеси, имитирующие вкус определенных продуктов. В колбасы добавляют ароматические композиции, имитирующие вкус докторской, любительской и других колбас (я насчитал не менее 50 имитаторов ароматов).

Уже появились добавки, ликвидирующие вкус мяса. Другими словами, сегодня технологи пищевой промышленности могут взять куриное мясо, избавиться от запаха курятины и заменить его, например, запахом говядины.

Кроме того, есть добавки, убирающие аромат подпорченного (то есть протухшего) сырого мяса. Экономический эффект налицо.

Разработаны белковые составы (на основе молочного и/или соевого белков), которые могут заменять в колбасе мясо. Причем такую замену невозможно обнаружить стандартными методами контроля качества, которые сегодня используют на колбасных заводах. Получается, что колбасу можно выпускать совсем без мяса. Например, на семинаре в ВНИИМП (Всероссийском НИИ мясной промышленности) всем давали попробовать полукопченую колбасу следующего состава (рецептура прилагалась):

Говядина жилованная 1 сорта — 5%

Эмульсия из говядины — 25%

Эмульсия шкурки — 25%

Шпиг боковой — 18%

Гранулы соевого изолята — 25%

Крахмал — 2 %

Итого 100%

К 100 кг этой смеси добавляют 2,5 кг соли, 7,5 г нитрита натрия и 700 г смеси специй (в данном случае это был имитатор вкуса колбасы «Таллиннская»). Кроме того, можно прибавить 1–2 % молочного белка. Себестоимость такой колбасы около 40 руб/кг. Честно говоря, мне она показалась невкусной. Не очень понятно, зачем в нее все-таки положили 5 % настоящего мяса — его можно было заменить крахмалом или соевым белком, получилось бы еще дешевле.