|
||||
Система Управления Вашим сайтом - megainformatic cms e-mailer Эта система объединяет в себе 4 подсистемы: |
||||
Система megainformatic cms e-mailer имеет следующие особенности: - простая и быстрая установка; - полностью открытый исходный код на php; - подробное документирование возможностей; - удобное управление контентом; - доступный для понимания код; - наличие встроенных модулей административной части, контента, поиска, карты сайта, случайной новости, даты и времени, e-pro, e-shop, e-mailer, сменные шаблоны, выпадающее меню; - наличие подключаемых платежных систем WebMoney, Робокасса, Единый Кошелек, Квитанция сбербанка, QIWI, указание реквизитов для других систем, например yandex.деньги. |
||||
Система megainformatic cms e-mailer решает следующие задачи: - позволяет создать сайт, пополнять, расширять и продвигать его; - добавить к сайту товары и систему оплаты и обработки заказов, превратив его в интернет-магазин - e-shop; - осуществлять работу с партнерскими системами других магазинов обрабатывая заказы с помощью системы e-pro; - организовывать автоматизированное пополнение списков рассылки и выполнять автоматизированные рассылки новостей по базе пользователей вашего сайта; |
||||
Если Вы всё еще сомневаетесь остановить ли свой выбор на megainformatic cms e-mailer, тогда рекомендую вам начать с бесплатного решения - megainformatic cms free - это уникальная система, работающая без баз данных и состоящая всего из ОДНОГО!!! исполнимого файла. Т. е. всё что вам потребуется - это скопировать этот файл на свой хостинг, добавить необходимый контент (в соответствии с описанием системы) и Вы получите бесплатный работающий сайт !!! |
||||
Добро пожаловать в мир электронных знаний !!! | ||||
Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 |
||
Данный небольшой урок является введением в программирование игр на C++ для DirectX 9 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал), и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008. |
||
[назад] [далее] [к содержанию] | ||
Мы рассматриваем основные конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 | ||
В предыдущих уроках - [Первый старт], [Меняем иконку приложения], [Добавляем другую модель] мы ознакомились с первыми шагами, которые нужно выполнить для начала работы с directx в Microsoft Visual Studio 2008 - настроить примеры для корректной компиляции, сменить иконку в собственном проекте и наконец приступить к первым модификациям кода |
||
Задача: вывести значение переменной на экран Реализация: можно поместить на форму метку (label). Если реализовать вывод значения переменной по нажатию на кнопку. При этом возникают следующие вопросы: Как получить доступ к метке label на форме из кода? Сначала решаем так: объявляем переменную, по нажатию на кнопку в ее свойстве Text выводим значение переменной В заголовочном файле Form1.h private:
System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) { код помеченный коричневым был сгенерирован системой, код помеченный зеленым был записан нами результат работы - по нажатию на кнопку на ее поверхности выводится текст: 1 |
||
Функция перевода числа в текст? itow (перевод int в строку Unicode) эквивалент для .Net Framework - System::Convert::ToString private:
System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) { |
||
Показанный выше пример выводит число 0 в виде текста на поверхность кнопки! Теперь можно заняться исследованиями языка C++ |
||
Разработка мини-калькулятора Самый простейший вариант программы это небольшой калькулятор, который бы выполнял основные арифметические операции - сложение, вычитание, умножение, деление должно быть поле для ввода значений и отображения результата, кнопки +, -, *, /, = Работа происходит так: в поле вводится первое число, нажимается кнопка операции, вводится второе число, нажимается = при этом в поле ввода должен появиться результат |
||
Реализация - на форме нужно разместить элементы управления Button (5 шт), в качестве поля ввода TextBox Дать элементам управления более осмысленные имена (свойство Name в панели Properties), например plus_button, minus_button, mult_button, div_button, result_button, EnterFieldtextBox Для свойства Text кнопок установите +, -, *, /, = соответственно |
||
![]() |
||
По нажатию на кнопки - + * / значение текстового поля должно заноситься в переменную первого операнда (x), в специальную переменную должен заноситься код операции (code_op), по нажатию на кнопку = значение текстового поля должно заноситься в переменную второго операнда (y), должен вычисляться результат (res) и выводится в текстовое поле | ||
Для очистки регистров x, y, res и code_op можно добавить специальную кнопку - Clear | ||
Вообще программирование приложения Windows Forms в MSVS 2008 сильно напоминает методы работы в Delphi 7! Я не удержался и удалил кнопку Say Hello. Как поведет себя MSVS ? К сожалению код обработчика мне пришлось удалять вручную. Среда Delphi в этом случае повела бы себя более разумно - во время сохранения изменений когда код обработчика был бы пуст она бы удалила метод обработчика из кода. MSVS 2008 как видим этого не сделала. В этом плане MSVS сильно отличается от Delphi 7. Еще меня удивило, что код модуля формы для обработчиков нажатий кнопок попадает в заголовочный файл формы Form1.h. Возможно это связано с тем, что не вводился специальный тип файла для хранения данных формы. В Delphi 7 для этих целей есть специальный файл *.dfm Похоже, что основные идеи создания приложений Windows Forms в Microsoft пришли из Delphi. Или я ошибаюсь? |
||
в коде класса формы добавляем описание наших переменных статичных полей для формы private: static int x, y, res, code_op; |
||
остальной код (после автоматического добавления обработчиков нажатий на кнопки формы по аналогии с HelloWorldCLR) будет выглядеть так - | ||
private: System::Void plus_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
} | ||
private: System::Void clear_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
} | ||
private: System::Void result_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
} | ||
private: System::Void minus_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
} | ||
private: System::Void mult_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
} | ||
private: System::Void div_button_Click(System::Object^ sender, System::EventArgs^ e) { | ||
|
||
} | ||
зеленым помечен код, который Вы должны написать сами | ||
сохраняем, выполняем сборку, проверяем работу нашего калькулятора - | ||
![]() |
||
Щелкаем мышью по текстовому полю, вводим с клавиатуры первое число, нажимаем кнопку операции, снова щелкаем по текстовому полю и вводим второе число, нажимаем знак равно, получаем результат. Кнопка clear приводит к очистке полей формы x, y, res, code_op и записи строкового значения "0" в свойство Text поля ввода EnterFieldtextBox Обратите внимание!!! Т.к. MSVS и язык C++ являются чувствительными к регистру букв (заглавные/строчные), то все имена переменных и других идентификаторов необходимо вводить именно так, как вы их записали во время первого объявления! Т.е. записав в секции объявлений или где-то в коде переменную с именем ReS обращаться к ней нужно именно как ReS, обращения res или Res или даже RES будут восприняты компилятором как обращения к совершенно другой переменной!!!!! Имейте это в виду, если Вы только только начали писать на С++. Поскольку я хорошо знаком с Delphi 7, то я всегда буду сравнивать MSVS именно с ним. Ваш опыт программирования в других языках и средах сформирует в дальнейшем Ваше собственное мнение. |
||
в следующем уроке мы начнем разбор основных конструкций языка C++ | ||
[назад] [далее] [к содержанию] |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||
Уроки Photoshop - Чудеса | ||
Коллаж от нуля - страница 2 | ||
[содержание] [страница 2] [далее] | ||
Мы рассматриваем как создать коллаж - сначала рисуем пейзаж взяв в качестве примера фотографию | ||
итоговый результат того, что у Вас в результате получится - |
||
На предыдущей странице мы рассмотрели базовые шаги, из которых состоит процесс создания такого пейзажа | ||
Теперь нужно поговорить об этом процессе более детально. | ||
1) создаем на отдельных слоях небо и землю создаем новый слой - для этого нужно в панели слоёв найти и нажать кнопку Создания нового слоя |
||
![]() |
||
![]() |
||
после того, как это сделано - переименовываем слой, назвав его Земля или Ground - для этого щелкаем правой кнопкой мыши по изображению слоя в панели слоев и выбираем пункт меню - Параметры слоя | ||
![]() |
||
после этого в открывшемся окне диалога вводим имя Земля или Ground | ||
![]() |
||
![]() |
||
Нажимаем кнопку <Да> в этом же окне для подтверждения | ||
Аналогично создаем слой Небо - Sky - расположив его под слоем Ground | ||
![]() |
||
Таким образом изображение, создаваемое для Земли будет находится у нас на переднем плане, а фон Неба на заднем. В любой момент Вы можете изменить порядок слоев и их глубину в сцене - простым перетаскиванием мышью | ||
Рисуем землю. В панели слоев выбираем слой Земля / Ground, выбираем инструмент Кисть, задаем для неё следующие параметры - | ||
![]() |
||
В любой момент Вы можете задать другие параметры Кисти, используя панель параметров расположенную в верхней части экрана рабочего окна Photoshop | ||
Цвет кисти задайте как на рисунке, но можете задать и любой другой - какой Вам нравится. Для этого нужно щелкнуть левой кнопкой по цвету переднего плана в панели инструментов слева и выбрать в диалоговом окне желаемый цвет, затем нажать <Да> | ||
![]() |
||
После этого просто выполняем закраску кистью той области слоя, на которой будет расположена по замыслу Земля - наводите указатель мыши на нужную область слоя, нажимаете и удерживаете левую кнопку мыши и двигаете мышь в нужном направлении - Ваши движения мыши будет повторять инструмент Кисть, рисуя на экране | ||
![]() |
||
Оставшаяся часть может быть залита сплошным цветом при помощи инструмента Заливка - выбираем инструмент "Заливка" в панели инструментов, Ставим галочку Смежные пиксели - для заливки только замкнутой области, щелкаем в том месте текущего слоя, где будет начата заливка | ||
![]() |
||
Если у Вас залился весь слой - нужно довести линию земли, которую Вы рисовали Кистью до обоих краев изображения, так чтобы она была непрерывной. Тогда заливка замкнутой области не будет выходить за данную границу. Если область земли образует замкнутый контур, но все равно заливается весь слой - проверьте, чтобы была установлена галочка Смежные пиксели (см. рисунок Выше), в других версиях Photoshop эта опция может называться по-другому. | ||
Между линией контура земли на горизонте и залитой областью остался шов, обусловленный полупрозрачными краями кисти, которой Вы рисовали линию горизонта земли. Этот шов нужно закрасить Кистью. | ||
![]() |
||
Если область земли у Вас получилась очень большой и не соответствующей линии горизонта на фотографии пейзажа - можно немного изменить размеры области земли - | ||
![]() |
||
Выбираем инструмент Перемещение, в панели свойств не забудьте установить галочку напротив опции Показать управляющие элементы | ||
![]() |
||
Текущим должен быть слой Ground ! Наводим указатель мыши на границу Земли на управляющие элементы масштаба и удерживая левую кнопку мыши уменьшаем масштаб земли до нужного размера | ||
[содержание] [страница 2] [далее] | ||